Buggy code:
private final String BTNSTRINGAPPLIED = "Applied" ; private final String BTNSTRINGOK = "OK" ; private final String BTNSTRINGCLOSE = "Close" ; private final String BTNSTRINGADD = "Add<seq2seq4repair_space>Input" ; private final String BTNSTRINGNEW = "New<seq2seq4repair_space>Config" ; private final String BTNSTRINGDEL = "X" ; private final int LINECOLINT = 1 ; private final int BTNCOLINT = ( LINECOLINT ) + 9 ; private final String PORTLABELTEXT = "Default<seq2seq4repair_space>Port" ; private final String [ ] functions = new String [ ] { Constants . FUNCTIONSTRINGSNAP , Constants . FUNCTIONSTRINGLIVE , Constants . FUNCTIONSTRINGSTEPCHANGE , Constants . FUNCTIONSTRINGSCRIPT , Constants . FUNCTIONSTRINGSHUTTER , Constants . FUNCTIONSTRINGAUTOSHUTTER } ; HashMap < Integer , String [ ] > map ; HashMap < Integer , String [ ] > mapTemp ; private static final int FIRSTBLOCKSTART = 2 ; private JTextField txtFLastPressedBtn ; ItemListener itemListener = new ItemListener ( ) { @ Override public void itemStateChanged ( ItemEvent arg0 ) { } } ; DocumentListener documentListener = new DocumentListener ( ) { @ Override public void changedUpdate ( DocumentEvent arg0 ) { } @ Override public void insertUpdate ( DocumentEvent arg0 ) { } @ Override public void removeUpdate ( DocumentEvent arg0 ) { } private void run ( ) { } } ; public ConfigGui ( ) { } private void newConfig ( ) { } private void guiToMap ( ) { boolean configOld = false ; newConfig ( ) ; int size = 0 ; int sizeCounter = 0 ; for ( Integer key : map . keySet ( ) ) { if ( key > ( - 1 ) ) { addNewLine ( ) ; } size ++ ; } for ( Integer key : map . keySet ( ) ) { if ( sizeCounter > size ) break ; if ( key == ( - 1 ) ) { try { portBox . setSelectedItem ( ( ( String ) ( map . get ( ( - 1 ) ) [ 0 ] ) ) ) ; } catch ( Exception e ) { portBox . setSelectedIndex ( 0 ) ; } } else if ( key == ( - 2 ) ) { try { driverBox . setSelectedIndex ( 0 ) ; driverBox . setSelectedIndex ( 1 ) ; driverBox . setSelectedItem ( ( ( String ) ( map . get ( ( - 2 ) ) [ 0 ] ) ) ) ; } catch ( Exception e ) { driverBox . setSelectedIndex ( 1 ) ; driverBox . setSelectedIndex ( 0 ) ; } } else { pinLblList . get ( sizeCounter ) . setText ( ( "" + key ) ) ; String [ ] mapString = map . get ( key ) ; methodBoxDigList . get ( sizeCounter ) . setSelectedIndex ( Integer . parseInt ( mapString [ 0 ] ) ) ; try { switch ( Integer . parseInt ( mapString [ 0 ] ) ) { case Constants . CERTAINCHANNEL : deviceGroupFunctionBoxDigList . get ( sizeCounter ) . setSelectedItem ( mapString [ 1 ] ) ; if ( ! ( deviceGroupFunctionBoxDigList . get ( sizeCounter ) . getSelectedItem ( ) . equals ( mapString [ 1 ] ) ) ) { configOld = true ; } propChanBoxDigList . get ( sizeCounter ) . setSelectedItem ( mapString [ 2 ] ) ; if ( ! ( propChanBoxDigList . get ( sizeCounter ) . getSelectedItem ( ) . equals ( mapString [ 2 ] ) ) ) { configOld = true ; } break ; case Constants . CERTAINPROP : deviceGroupFunctionBoxDigList . get ( sizeCounter ) . setSelectedItem ( mapString [ 1 ] ) ; if ( ! ( deviceGroupFunctionBoxDigList . get ( sizeCounter ) . getSelectedItem ( ) . equals ( mapString [ 1 ] ) ) ) { configOld = true ; } propChanBoxDigList . get ( sizeCounter ) . setSelectedItem ( mapString [ 2 ] ) ; <START_BUG> if ( ! ( propChanBoxDigList . get ( sizeCounter ) . getSelectedItem ( ) . equals ( mapString [ 1 ] ) ) ) { <END_BUG> configOld = true ; } smValueFieldDigList . get ( sizeCounter ) . setText ( mapString [ 3 ] ) ; break ; case Constants . CHANNELMINUS : deviceGroupFunctionBoxDigList . get ( sizeCounter ) . setSelectedItem ( mapString [ 1 ] ) ; if ( ! ( deviceGroupFunctionBoxDigList . get ( sizeCounter ) . getSelectedItem ( ) . equals ( mapString [ 1 ] ) ) ) { configOld = true ; } break ; case Constants . CHANNELPLUS : deviceGroupFunctionBoxDigList . get ( sizeCounter ) . setSelectedItem ( mapString [ 1 ] ) ; if ( ! ( deviceGroupFunctionBoxDigList . get ( sizeCounter ) . getSelectedItem ( ) . equals ( mapString [ 1 ] ) ) ) { configOld = true ; } break ; case Constants . FUNCTION : deviceGroupFunctionBoxDigList . get ( sizeCounter ) . setSelectedItem ( mapString [ 1 ] ) ; smValueFieldDigList . get ( sizeCounter ) . setText ( mapString [ 2 ] ) ; break ; case Constants . PROPSTEP : deviceGroupFunctionBoxDigList . get ( sizeCounter ) . setSelectedItem ( mapString [ 1 ] ) ; if ( ! ( deviceGroupFunctionBoxDigList . get ( sizeCounter ) . getSelectedItem ( ) . equals ( mapString [ 1 ] ) ) ) { configOld = true ; } propChanBoxDigList . get ( sizeCounter ) . setSelectedItem ( mapString [ 2 ] ) ; if ( ! ( propChanBoxDigList . get ( sizeCounter ) . getSelectedItem ( ) . equals ( mapString [ 2 ] ) ) ) { configOld = true ; } smValueFieldDigList . get ( sizeCounter ) . setText ( mapString [ 3 ] ) ; medValueFieldDigList . get ( sizeCounter ) . setText ( mapString [ 4 ] ) ; bigValueFieldDigList . get ( sizeCounter ) . setText ( mapString [ 5 ] ) ; break ; } } catch ( NullPointerException npe ) { configOld = true ; } sizeCounter ++ ; }

Fix:
if ( ! ( propChanBoxDigList . get ( sizeCounter ) . getSelectedItem ( ) . equals ( mapString [ 2 ] ) ) ) {