protected void makeBottomPanel(ActionListener doneAction){
  _bottom2Panel=makeCreateNewFamilyPanel();
  makeItemButtonPanel();
  if (doneAction != null) {
    addUpdateButtonToBottom(doneAction);
  }
  initIconFamiliesPanel();
  add(_iconFamilyPanel);
  JPanel bottomPanel=new JPanel(new FlowLayout());
  bottomPanel.add(_bottom1Panel);
  bottomPanel.add(_bottom2Panel);
  add(bottomPanel);
  if (log.isDebugEnabled()) {
    log.debug("init done for family " + _family);
  }
}

protected void makeBottomPanel ( ActionListener doneAction ) { _bottom2Panel = makeCreateNewFamilyPanel ( ) ; makeItemButtonPanel ( ) ; if ( doneAction != null ) { addUpdateButtonToBottom ( doneAction ) ; } initIconFamiliesPanel ( ) ; add ( _iconFamilyPanel ) ; JPanel bottomPanel = new JPanel ( new FlowLayout ( ) ) ; bottomPanel . add ( _bottom1Panel ) ; bottomPanel . add ( _bottom2Panel ) ; add ( bottomPanel ) ; if ( log . isDebugEnabled ( ) ) { log . debug ( "init done for family " + _family ) ; } }
_bottom1panel and _bottom2panel alternate visibility in bottompanel depending on whether icon families exist . they are made first because they are referenced in initiconfamiliespanel ( ) . _bottom2panel is for the exceptional case where there are no families at all . subclasses will insert other panels
