question: void findValue ( ) { if ( log . isDebugEnabled ( ) ) { log . debug ( "findValue invoked on " + label ( ) ) ; } for ( int i = 0 ; i < _value . getItemCount ( ) ; i ++ ) { String choice = _value . getItemAt ( i ) ; SettingList sl = choiceHash . get ( choice ) ; if ( sl . match ( ) ) { if ( log . isDebugEnabled ( ) ) { log . debug ( "  match in " + i ) ; } _value . setSelectedItem ( choice ) ; return ; } } if ( log . isDebugEnabled ( ) ) { log . debug ( "   no match" ) ; } }
target:  Suspect underlying variables have changed value; check. First match will succeed, so there should not be multiple matches possible. ("First match" is defined in choice-sequence)