public void dispose(){
  if (log.isDebugEnabled()) {
    log.debug("dispose local");
  }
  readChangesButton.removeItemListener(l1);
  writeChangesButton.removeItemListener(l2);
  readAllButton.removeItemListener(l3);
  writeAllButton.removeItemListener(l4);
  if (_programmingPane != null) {
    _programmingPane.removePropertyChangeListener(this);
  }
  for (int i=0; i < paneList.size(); i++) {
    PaneProgPane p=(PaneProgPane)paneList.get(i);
    p.dispose();
  }
  paneList.clear();
  _rPane.dispose();
  _flPane.dispose();
  _rMPane.dispose();
  variableModel.dispose();
  cvModel.dispose();
  iCvModel.dispose();
  if (_rosterEntry != null) {
    _rosterEntry.setOpen(false);
  }
  progStatus=null;
  cvModel=null;
  iCvModel=null;
  variableModel=null;
  _rosterEntry=null;
  _rPane=null;
  _flPane=null;
  _rMPane=null;
  paneList.clear();
  paneList=null;
  _programmingPane=null;
  tabPane=null;
  readChangesButton=null;
  writeChangesButton=null;
  readAllButton=null;
  writeAllButton=null;
  if (log.isDebugEnabled()) {
    log.debug("dispose superclass");
  }
  removeAll();
  super.dispose();
}

public void dispose ( ) { if ( log . isDebugEnabled ( ) ) { log . debug ( "dispose local" ) ; } readChangesButton . removeItemListener ( l1 ) ; writeChangesButton . removeItemListener ( l2 ) ; readAllButton . removeItemListener ( l3 ) ; writeAllButton . removeItemListener ( l4 ) ; if ( _programmingPane != null ) { _programmingPane . removePropertyChangeListener ( this ) ; } for ( int i = 0 ; i < paneList . size ( ) ; i ++ ) { PaneProgPane p = ( PaneProgPane ) paneList . get ( i ) ; p . dispose ( ) ; } paneList . clear ( ) ; _rPane . dispose ( ) ; _flPane . dispose ( ) ; _rMPane . dispose ( ) ; variableModel . dispose ( ) ; cvModel . dispose ( ) ; iCvModel . dispose ( ) ; if ( _rosterEntry != null ) { _rosterEntry . setOpen ( false ) ; } progStatus = null ; cvModel = null ; iCvModel = null ; variableModel = null ; _rosterEntry = null ; _rPane = null ; _flPane = null ; _rMPane = null ; paneList . clear ( ) ; paneList = null ; _programmingPane = null ; tabPane = null ; readChangesButton = null ; writeChangesButton = null ; readAllButton = null ; writeAllButton = null ; if ( log . isDebugEnabled ( ) ) { log . debug ( "dispose superclass" ) ; } removeAll ( ) ; super . dispose ( ) ; }
local dispose , which also invokes parent . note that we remove the components ( removeall ) before taking those apart .
