Buggy code:
public class SimpleResolver implements Resolver { public static final int PORT = 53 ; private InetAddress addr ; private int port = SimpleResolver . PORT ; private boolean useTCP ; private boolean ignoreTruncation ; private byte EDNSlevel = - 1 ; private TSIG tsig ; private int timeoutValue = 60 * 1000 ; private static String defaultResolver = "localhost" ; private static int uniqueID = 0 ; public SimpleResolver ( String hostname ) throws UnknownHostException { } public SimpleResolver ( ) throws UnknownHostException { } public static void setDefaultResolver ( String hostname ) { } public void setPort ( int port ) { } public void setTCP ( boolean flag ) { } public void setIgnoreTruncation ( boolean flag ) { } public void setEDNS ( int level ) { } public void setTSIGKey ( Name name , byte [ ] key ) { } public void setTSIGKey ( String name , String key ) { } public void setTSIGKey ( String key ) { } public void setTimeout ( int secs ) { } private Message sendTCP ( Message query , byte [ ] out ) throws IOException { } public Message send ( Message query ) throws IOException { byte [ ] out ; byte [ ] in ; Message response ; DatagramSocket s ; DatagramPacket dp ; short udpLength = 512 ; <START_BUG> if ( Options . check ( "verbosemsg" ) ) <END_BUG> System . err . println ( ( ( ( "Sending<seq2seq4repair_space>to<seq2seq4repair_space>" + ( addr . getHostAddress ( ) ) ) + ":" ) + ( port ) ) ) ; if ( ( query . getQuestion ( ) . getType ( ) ) == ( Type . AXFR ) ) return sendAXFR ( query ) ; query = ( ( Message ) ( query . clone ( ) ) ) ; if ( ( EDNSlevel ) >= 0 ) { udpLength = 1280 ; Record opt = new OPTRecord ( udpLength , Rcode . NOERROR , EDNSlevel ) ; query . addRecord ( opt , ADDITIONAL ) ; } if ( ( tsig ) != null ) tsig . apply ( query , null ) ; out = query . toWire ( ) ; if ( Options . check ( "verbosemsg" ) ) System . err . println ( hexdump . dump ( "out" , out ) ) ; if ( ( useTCP ) || ( ( out . length ) > udpLength ) ) return sendTCP ( query , out ) ; s = new DatagramSocket ( ) ; try { s . send ( new DatagramPacket ( out , out . length , addr , port ) ) ; dp = new DatagramPacket ( new byte [ udpLength ] , udpLength ) ; s . setSoTimeout ( timeoutValue ) ; try { s . receive ( dp ) ; } catch ( IOException e ) { if ( Options . check ( "verbose" ) ) { System . err . println ( ( ";;" + e ) ) ; System . err . println ( ";;<seq2seq4repair_space>No<seq2seq4repair_space>response" ) ; } throw e ; } } finally { s . close ( ) ; } in = new byte [ dp . getLength ( ) ] ; System . arraycopy ( dp . getData ( ) , 0 , in , 0 , in . length ) ; if ( Options . check ( "verbosemsg" ) ) System . err . println ( hexdump . dump ( "in" , in ) ) ; try { response = new Message ( in ) ; } catch ( IOException e ) { if ( Options . check ( "verbose" ) ) e . printStackTrace ( ) ; throw new WireParseException ( "Error<seq2seq4repair_space>parsing<seq2seq4repair_space>message" ) ; } if ( ( tsig ) != null ) { response . TSIGsigned = true ; boolean ok = tsig . verify ( response , in , query . getTSIG ( ) ) ; if ( Options . check ( "verbose" ) ) System . err . println ( ( "TSIG<seq2seq4repair_space>verify:<seq2seq4repair_space>" + ok ) ) ; response . TSIGverified = ok ; } s . close ( ) ; if ( ( response . getHeader ( ) . getFlag ( TC ) ) && ( ! ( ignoreTruncation ) ) ) return sendTCP ( query , out ) ; else return response ; } public Object sendAsync ( final Message query , final ResolverListener listener ) { } private Message sendAXFR ( Message query ) throws IOException { } }

Fix:
if ( Options . check ( "verbose" ) )