@Override
 public void componentActivated() {
   super.componentActivated();
   CasaMultiViewFactory.updateGroupVisibility(CasaMultiViewFactory.SOURCE_PREFERRED_ID);
   //        CasaDataEditorSupport editor = mDataObject.getEditorSupport();
   //        editor.addUndoManagerToDocument();
 }
 @Override
 public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
   super.readExternal(in);
   Object firstObject = in.readObject();
   if (firstObject instanceof CasaDataObject) {
     mDataObject = (CasaDataObject) firstObject;
     initialize();
   }
 }
 @Override
 public void componentHidden() {
   super.componentHidden();
   CasaDataEditorSupport editor = mDataObject.getEditorSupport();
   // Sync model before having undo manager listen to the model,
   // lest we get redundant undoable edits added to the queue.
   if (mDataObject.isModified()) {
     editor.syncModel();
   }
   //        editor.removeUndoManagerFromDocument();
 }
 @Override
 public void componentDeactivated() {
   super.componentDeactivated();
   CasaDataEditorSupport editor = mDataObject.getEditorSupport();
   // Sync model before having undo manager listen to the model,
   // lest we get redundant undoable edits added to the queue.
   if (mDataObject.isModified()) {
     editor.syncModel();
   }
   CasaMultiViewFactory.updateGroupVisibility(CasaMultiViewFactory.SOURCE_PREFERRED_ID);
   //        editor.removeUndoManagerFromDocument();
 }
 /**
  * Overridden to ensure that the displayName of the node in the editor has the right annotation
  * for build.xml files, so that the Navigator will display it.
  */
 @Override
 protected void initializeCloneableEditor(CloneableEditor editor) {
   super.initializeCloneableEditor(editor);
   editor.setActivatedNodes(
       new Node[] {
         new FilterNode(getDataObject().getNodeDelegate()) {
           @Override
           public String getDisplayName() {
             return messageName();
           }
         }
       });
 }
 @Override
 public void writeExternal(ObjectOutput out) throws IOException {
   super.writeExternal(out);
   out.writeObject(mDataObject);
 }
 @Override
 public void componentOpened() {
   super.componentOpened();
 }
 @Override
 public void componentShowing() {
   super.componentShowing();
   //        CasaDataEditorSupport editor = mDataObject.getEditorSupport();
   //        editor.addUndoManagerToDocument();
 }
 @Override
 public void componentClosed() {
   super.componentClosed();
 }
 @Override
 public void requestActive() {
   if (multiViewObserver != null) multiViewObserver.requestActive();
   else super.requestActive();
 }