public void saveChanges() {
   TreeModel model = tree.getModel();
   Object root = model.getRoot();
   ClassPropertiesInfo classInfo;
   int classCount = model.getChildCount(root);
   for (int c = 0; c < classCount; c++) {
     classInfo =
         (ClassPropertiesInfo) ((DefaultMutableTreeNode) model.getChild(root, c)).getUserObject();
     PropertySheetPanel propertiesPanel = classInfo.getPropertiesPanel();
     if (propertiesPanel != null) {
       // to exit edit mode and retrieve the value
       propertiesPanel.getTable().commitEditing();
       setProperties(classInfo);
     }
   }
   GeneralPreferences.saveProperties();
 }
 public SystemImcMsgCommInfo() {
   super();
   GeneralPreferences.addPreferencesListener(gplistener);
   gplistener.preferencesUpdated();
 }