question: 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 ) ; } }
target:  removes an AbstractOption from the container