public void resetListOfExpandedNodes() {
   expandedNodes.clear();
   for (int i = 1; i < getTree().getRowCount(); i++) {
     if (getTree().isExpanded(i)) {
       Object o = getTree().getPathForRow(i).getLastPathComponent();
       if (o instanceof Config) {
         expandedNodes.add(o);
       }
     }
   }
 }
 /**
  * Call when an expanded node has gone missing
  *
  * @param c The config that is gone
  */
 void nodeRemoved(Config c) {
   expandedNodes.remove(c);
 }
 Config[] getCopyOfExpandedNodes() {
   return (Config[]) expandedNodes.toArray(new Config[0]);
 }
 Iterator getExpandedNodes() {
   return expandedNodes.iterator();
 }