public void fillComboBox(boolean mandatory,boolean onlyValidated,boolean onlyActive,boolean temporary){
  long startTime=System.currentTimeMillis();
  m_loaded=false;
  if (temporary) {
    int size=p_data.size();
    m_tempData=new Object[size];
    p_data.toArray(m_tempData);
  }
  Object obj=m_selectedObject;
  p_data.clear();
  p_data=getData(mandatory,onlyValidated,onlyActive,temporary);
  if (obj != m_selectedObject) {
    log.finest(getColumnName() + ": SelectedValue Changed=" + obj+ "->"+ m_selectedObject);
    obj=m_selectedObject;
  }
  m_loaded=true;
  fireContentsChanged(this,0,p_data.size());
  if (p_data.size() == 0)   log.fine(getColumnName() + ": #0 - ms=" + String.valueOf(System.currentTimeMillis() - startTime));
 else   log.fine(getColumnName() + ": #" + p_data.size()+ " - ms="+ String.valueOf(System.currentTimeMillis() - startTime));
}

public void fillComboBox ( boolean mandatory , boolean onlyValidated , boolean onlyActive , boolean temporary ) { long startTime = System . currentTimeMillis ( ) ; m_loaded = false ; if ( temporary ) { int size = p_data . size ( ) ; m_tempData = new Object [ size ] ; p_data . toArray ( m_tempData ) ; } Object obj = m_selectedObject ; p_data . clear ( ) ; p_data = getData ( mandatory , onlyValidated , onlyActive , temporary ) ; if ( obj != m_selectedObject ) { log . finest ( getColumnName ( ) + ": SelectedValue Changed=" + obj + "->" + m_selectedObject ) ; obj = m_selectedObject ; } m_loaded = true ; fireContentsChanged ( this , 0 , p_data . size ( ) ) ; if ( p_data . size ( ) == 0 ) log . fine ( getColumnName ( ) + ": #0 - ms=" + String . valueOf ( System . currentTimeMillis ( ) - startTime ) ) ; else log . fine ( getColumnName ( ) + ": #" + p_data . size ( ) + " - ms=" + String . valueOf ( System . currentTimeMillis ( ) - startTime ) ) ; }
fill combobox with lookup data ( async using worker ) . - try to maintain selected item
