public synchronized void disposeUIResources() {
   if (myEditor != null) {
     myState.state = myEditor.getState();
     myEditor.dispose();
     myEditor = null;
   }
 }
 public JComponent createComponent() {
   myEditor =
       new ReadAction<AssociationsEditor>() {
         protected void run(Result<AssociationsEditor> result) throws Throwable {
           result.setResult(new AssociationsEditor(myProject, myState.state));
         }
       }.execute().getResultObject();
   return myEditor.getComponent();
 }
 public void reset() {
   myEditor.reset();
 }
 public void apply() throws ConfigurationException {
   myEditor.apply();
   DaemonCodeAnalyzer.getInstance(myProject).restart();
 }
 public synchronized boolean isModified() {
   return myEditor != null && myEditor.isModified();
 }