Buggy code:
private sendRaw ( "CAP<seq2seq4repair_space>END" ) ; } else if ( ! ( sCommand . toUpperCase ( ) . trim ( ) . equals ( "432" ) ) ) { if ( sCommand . toUpperCase ( ) . trim ( ) . equals ( "NICK" ) ) { Matcher iUser = parseMask ( sParsed [ 0 ] ) ; String snNick = sParsed [ 0 ] . split ( "!" ) [ 0 ] . replaceFirst ( ":" , "" ) ; if ( ( iUser != null ) && ( iUser . group ( 1 ) . equals ( this . sNick ) ) ) { this . sNick = sParsed [ 2 ] . replaceFirst ( ":" , "" ) ; onNick ( snNick , this . sNick ) ; } this . onNick ( snNick , sParsed [ 2 ] . replaceFirst ( ":" , "" ) ) ; } else if ( sCommand . toUpperCase ( ) . trim ( ) . equals ( "JOIN" ) ) { final Matcher iUser = this . parseMask ( sParsed [ 0 ] ) ; final String sOrigin = ( iUser == null ) ? sParsed [ 0 ] . replaceFirst ( ":" , "" ) : iUser . group ( 1 ) ; if ( iUser == null ) { this . onJoin ( sOrigin , sParsed [ 2 ] ) ; } else { if ( iUser . group ( 1 ) . equals ( this . sNick ) ) { this . lChannel . add ( sParsed [ 2 ] ) ; } this . onJoin ( iUser . group ( 1 ) , iUser . group ( 2 ) , iUser . group ( 3 ) , sParsed [ 2 ] ) ; } } else if ( sCommand . toUpperCase ( ) . trim ( ) . equals ( "PART" ) ) { final Matcher iUser = this . parseMask ( sParsed [ 0 ] ) ; if ( iUser . group ( 1 ) . equals ( this . sNick ) ) { this . lChannel . remove ( sParsed [ 2 ] ) ; } final String sPart = ( ( sLine . split ( "<seq2seq4repair_space>" , 4 ) . length ) > 3 ) ? sLine . split ( "<seq2seq4repair_space>" , 4 ) [ 3 ] . replaceFirst ( ":" , "" ) : null ; this . onPart ( iUser . group ( 1 ) , iUser . group ( 2 ) , iUser . group ( 3 ) , sParsed [ 2 ] , sPart ) ; } else if ( sCommand . toUpperCase ( ) . trim ( ) . equals ( "KICK" ) ) { final Matcher iUser = this . parseMask ( sParsed [ 0 ] ) ; final String sOrigin = ( iUser == null ) ? sParsed [ 0 ] . replaceFirst ( ":" , "" ) : iUser . group ( 1 ) ; if ( iUser == null ) { this . onKick ( sOrigin , sParsed [ 3 ] , sParsed [ 2 ] , sParsed [ 4 ] ) ; } else { if ( iUser . group ( 1 ) . equals ( this . sNick ) ) { this . lChannel . remove ( sParsed [ 2 ] ) ; } this . onKick ( iUser . group ( 1 ) , iUser . group ( 2 ) , iUser . group ( 3 ) , sParsed [ 3 ] , sParsed [ 2 ] , sParsed [ 4 ] ) ; } } else if ( sCommand . toUpperCase ( ) . trim ( ) . equals ( "QUIT" ) ) { final Matcher iUser = this . parseMask ( sParsed [ 0 ] ) ; this . onQuit ( iUser . group ( 1 ) , iUser . group ( 2 ) , iUser . group ( 3 ) , sLine . split ( "<seq2seq4repair_space>" , 3 ) [ 2 ] . replaceFirst ( ":" , "" ) ) ; } else if ( sCommand . toUpperCase ( ) . trim ( ) . equals ( "PRIVMSG" ) ) { final Matcher iUser = this . parseMask ( sParsed [ 0 ] ) ; final String sOrigin = ( iUser == null ) ? sParsed [ 0 ] . replaceFirst ( ":" , "" ) : iUser . group ( 1 ) ; if ( sLine . split ( "<seq2seq4repair_space>" , 4 ) [ 3 ] . replaceFirst ( ":" , "" ) . startsWith ( Character . toString ( '' ) ) ) { if ( iUser == null ) { this . processCTCP ( sOrigin , sParsed [ 2 ] , sLine . split ( "<seq2seq4repair_space>" , 4 ) [ 3 ] . replaceFirst ( ":" , "" ) . substring ( 1 , ( ( sLine . split ( "<seq2seq4repair_space>" , 4 ) [ 3 ] . replaceFirst ( ":" , "" ) . length ( ) ) - 1 ) ) ) ; } else { this . processCTCP ( iUser . group ( 1 ) , iUser . group ( 2 ) , iUser . group ( 3 ) , sParsed [ 2 ] , sLine . split ( "<seq2seq4repair_space>" , 4 ) [ 3 ] . replaceFirst ( ":" , "" ) . substring ( 1 , ( ( sLine . split ( "<seq2seq4repair_space>" , 4 ) [ 3 ] . replaceFirst ( ":" , "" ) . length ( ) ) - 1 ) ) ) ; } } else if ( iUser == null ) { this . onMessage ( sOrigin , sParsed [ 2 ] , sLine . split ( "<seq2seq4repair_space>" , 4 ) [ 3 ] . replaceFirst ( ":" , "" ) ) ; } else { String m = sLine . split ( "<seq2seq4repair_space>" , 4 ) [ 3 ] . replaceFirst ( ":" , "" ) ; String [ ] v = m . split ( "<seq2seq4repair_space>" ) ; List < String > temp = null ; if ( commands . containsKey ( v [ 0 ] ) ) { temp = commands . get ( v [ 0 ] ) . onCommand ( m ) ; } <START_BUG> if ( temp != null ) { <END_BUG>

Fix:
if ( temp == null ) {