public synchronized void remove(AbstractOption option){
  if (options.contains(option)) {
    int position=indexOf(option);
    List<AbstractOption> oldOptions=new ArrayList<AbstractOption>(options);
    options.remove(option);
    List<AbstractOption> newOptions=getOptions();
    option.setCollection(null);
    fireIndexedPropertyChange(PROP_OPTIONS,position,oldOptions,newOptions);
  }
}

public synchronized void remove ( AbstractOption option ) { if ( options . contains ( option ) ) { int position = indexOf ( option ) ; List < AbstractOption > oldOptions = new ArrayList < AbstractOption > ( options ) ; options . remove ( option ) ; List < AbstractOption > newOptions = getOptions ( ) ; option . setCollection ( null ) ; fireIndexedPropertyChange ( PROP_OPTIONS , position , oldOptions , newOptions ) ; } }
removes an abstractoption from the container
