Buggy code:
public class JJTree extends AbstractTask { private static final String BUILD_NODE_FILES = "BUILD_NODE_FILES" ; private static final String MULTI = "MULTI" ; private static final String NODE_DEFAULT_VOID = "NODE_DEFAULT_VOID" ; private static final String NODE_FACTORY = "NODE_FACTORY" ; private static final String NODE_SCOPE_HOOK = "NODE_SCOPE_HOOK" ; private static final String NODE_USES_PARSER = "NODE_USES_PARSER" ; private static final String STATIC = "STATIC" ; private static final String VISITOR = "VISITOR" ; private static final String NODE_PACKAGE = "NODE_PACKAGE" ; private static final String VISITOR_EXCEPTION = "VISITOR_EXCEPTION" ; private static final String NODE_PREFIX = "NODE_PREFIX" ; private final Hashtable optionalAttrs = new Hashtable ( ) ; private File outputDirectory = null ; private File target = null ; private File javaccHome = null ; public void setBuildnodefiles ( boolean buildNodeFiles ) { } public void setJavacchome ( File javaccHome ) { } public void setMulti ( boolean multi ) { } public void setNodedefaultvoid ( boolean nodeDefaultVoid ) { } public void setNodefactory ( boolean nodeFactory ) { } public void setNodepackage ( String nodePackage ) { } public void setNodeprefix ( String nodePrefix ) { } public void setNodescopehook ( boolean nodeScopeHook ) { } public void setNodeusesparser ( boolean nodeUsesParser ) { } public void setOutputdirectory ( File outputDirectory ) { } public void setStatic ( boolean staticParser ) { } public void setTarget ( File target ) { } public void setVisitor ( boolean visitor ) { } public void setVisitorException ( String visitorException ) { } public void execute ( ) throws TaskException { final ExecuteJava exe = new ExecuteJava ( ) ; exe . setClassName ( "COM.sun.labs.jjtree.Main" ) ; Enumeration iter = optionalAttrs . keys ( ) ; while ( iter . hasMoreElements ( ) ) { String name = ( ( String ) ( iter . nextElement ( ) ) ) ; Object value = optionalAttrs . get ( name ) ; exe . getArguments ( ) . addArgument ( ( ( ( "-" + name ) + ":" ) + ( value . toString ( ) ) ) ) ; } if ( ( ( target ) == null ) || ( ! ( target . isFile ( ) ) ) ) { throw new TaskException ( ( "Invalid<seq2seq4repair_space>target:<seq2seq4repair_space>" + ( target ) ) ) ; } if ( ( outputDirectory ) == null ) { outputDirectory = target . getParentFile ( ) ; } if ( ! ( outputDirectory . isDirectory ( ) ) ) { throw new TaskException ( ( ( "'outputdirectory'<seq2seq4repair_space>" + ( outputDirectory ) ) + "<seq2seq4repair_space>is<seq2seq4repair_space>not<seq2seq4repair_space>a<seq2seq4repair_space>directory." ) ) ; } exe . getArguments ( ) . addArgument ( ( "-OUTPUT_DIRECTORY:" + ( outputDirectory . getAbsolutePath ( ) . replace ( '\\' , '//' ) ) ) ) ; String targetName = target . getName ( ) ; final File javaFile = new File ( outputDirectory , ( ( targetName . substring ( 0 , targetName . indexOf ( ".jjt" ) ) ) + ".jj" ) ) ; if ( ( javaFile . exists ( ) ) && ( ( target . lastModified ( ) ) < ( javaFile . lastModified ( ) ) ) ) { <START_BUG> getContext ( ) . info ( ( ( "Target<seq2seq4repair_space>is<seq2seq4repair_space>already<seq2seq4repair_space>built<seq2seq4repair_space>-<seq2seq4repair_space>skipping<seq2seq4repair_space>(" + ( target ) ) + ")" ) ) ; <END_BUG> return ; } exe . getArguments ( ) . addArgument ( target ) ; if ( ( ( javaccHome ) == null ) || ( ! ( javaccHome . isDirectory ( ) ) ) ) { throw new TaskException ( "Javacchome<seq2seq4repair_space>not<seq2seq4repair_space>set." ) ; } final Path classpath = exe . getClassPath ( ) ; classpath . addLocation ( new File ( javaccHome , "JavaCC.zip" ) ) ; PathUtil . addJavaRuntime ( classpath ) ; exe . setMaxMemory ( "140M" ) ; exe . getSysProperties ( ) . addVariable ( "install.root" , javaccHome . getAbsolutePath ( ) ) ; exe . executeForked ( getContext ( ) ) ; } }

Fix:
getContext ( ) . verbose ( ( ( "Target<seq2seq4repair_space>is<seq2seq4repair_space>already<seq2seq4repair_space>built<seq2seq4repair_space>-<seq2seq4repair_space>skipping<seq2seq4repair_space>(" + ( target ) ) + ")" ) ) ;