question: public void nodeChanged ( boolean save , int keyID , String name , String description , boolean isSummary , String imageIndicator ) { log . config ( "Save=" + save + ", KeyID=" + keyID + ", Name=" + name + ", Description=" + description + ", IsSummary=" + isSummary + ", ImageInd=" + imageIndicator + ", root=" + m_root ) ; if ( keyID == 0 ) return ; MTreeNode node = m_root . findNode ( keyID ) ; if ( node == null && save ) { node = new MTreeNode ( keyID , 0 , name , description , m_root . getNode_ID ( ) , isSummary , imageIndicator , false , null ) ; m_root . add ( node ) ; } else if ( node != null && save ) { node . setName ( name ) ; node . setAllowsChildren ( isSummary ) ; } else if ( node != null && ! save ) { MTreeNode parent = ( MTreeNode ) node . getParent ( ) ; node . removeFromParent ( ) ; node = parent ; } else { log . log ( Level . SEVERE , "Save=" + save + ", KeyID=" + keyID + ", Node=" + node ) ; node = null ; } if ( node == null ) return ; tree . updateUI ( ) ; TreePath treePath = new TreePath ( node . getPath ( ) ) ; tree . setSelectionPath ( treePath ) ; tree . makeVisible ( treePath ) ; tree . scrollPathToVisible ( treePath ) ; }
target:  Node Changed - synchronize Node