Buggy code:
public class JspC extends MatchingTask { private static final String FAIL_MSG = "Compile<seq2seq4repair_space>failed,<seq2seq4repair_space>messages<seq2seq4repair_space>should<seq2seq4repair_space>have<seq2seq4repair_space>been<seq2seq4repair_space>provided." ; private int verbose = 0 ; protected ArrayList compileList = new ArrayList ( ) ; protected boolean failOnError = true ; private Path classpath ; private File destDir ; private String iepluginid ; private boolean mapped ; private String packageName ; private Path src ; private File uribase ; private File uriroot ; public void setClasspath ( Path cp ) throws TaskException { } public void setDestdir ( File destDir ) { } public void setFailonerror ( boolean fail ) { } public void setIeplugin ( String iepluginid_ ) { } public void setMapped ( boolean mapped_ ) { } public void setPackage ( String pkg ) { } public void setSrcdir ( Path srcDir ) throws TaskException { } public void setUribase ( File uribase ) { } public void setUriroot ( File uriroot ) { } public void setVerbose ( int i ) { } public Path getClasspath ( ) { } public ArrayList getCompileList ( ) { } public File getDestdir ( ) { } public boolean getFailonerror ( ) { } public String getIeplugin ( ) { } public String getPackage ( ) { } public Path getSrcDir ( ) { } public File getUribase ( ) { } public File getUriroot ( ) { } public int getVerbose ( ) { } public boolean isMapped ( ) { } public Path createClasspath ( ) throws TaskException { } public void execute ( ) throws TaskException { if ( ( src ) == null ) { throw new TaskException ( "srcdir<seq2seq4repair_space>attribute<seq2seq4repair_space>must<seq2seq4repair_space>be<seq2seq4repair_space>set!" ) ; } String [ ] list = src . list ( ) ; if ( ( list . length ) == 0 ) { throw new TaskException ( "srcdir<seq2seq4repair_space>attribute<seq2seq4repair_space>must<seq2seq4repair_space>be<seq2seq4repair_space>set!" ) ; } if ( ( ( destDir ) != null ) && ( ! ( destDir . isDirectory ( ) ) ) ) { throw new TaskException ( ( ( "destination<seq2seq4repair_space>directory<seq2seq4repair_space>\"" + ( destDir ) ) + "\"<seq2seq4repair_space>does<seq2seq4repair_space>not<seq2seq4repair_space>exist<seq2seq4repair_space>or<seq2seq4repair_space>is<seq2seq4repair_space>not<seq2seq4repair_space>a<seq2seq4repair_space>directory" ) ) ; } File dest = null ; if ( ( packageName ) == null ) { dest = destDir ; } else { String path = ( ( destDir . getPath ( ) ) + ( File . separatorChar ) ) + ( packageName . replace ( '.' , File . separatorChar ) ) ; dest = new File ( path ) ; } resetFileLists ( ) ; int filecount = 0 ; for ( int i = 0 ; i < ( list . length ) ; i ++ ) { final String filename = list [ i ] ; File srcDir = ( ( File ) ( getContext ( ) . resolveFile ( filename ) ) ) ; if ( ! ( srcDir . exists ( ) ) ) { throw new TaskException ( ( ( "srcdir<seq2seq4repair_space>\"" + ( srcDir . getPath ( ) ) ) + "\"<seq2seq4repair_space>does<seq2seq4repair_space>not<seq2seq4repair_space>exist!" ) ) ; } DirectoryScanner ds = this . getDirectoryScanner ( srcDir ) ; String [ ] files = ds . getIncludedFiles ( ) ; filecount = files . length ; scanDir ( srcDir , dest , files ) ; } Object compiler = getContext ( ) . getProperty ( "jsp.compiler" ) ; if ( compiler == null ) { compiler = "jasper" ; } getLogger ( ) . debug ( ( ( "compiling<seq2seq4repair_space>" + ( compileList . size ( ) ) ) + "<seq2seq4repair_space>files" ) ) ; if ( ( compileList . size ( ) ) > 0 ) { <START_BUG> CompilerAdapter adapter = CompilerAdapterFactory . getCompiler ( compiler . toString ( ) , this ) ; <END_BUG> getLogger ( ) . info ( ( ( ( ( "Compiling<seq2seq4repair_space>" + ( compileList . size ( ) ) ) + "<seq2seq4repair_space>source<seq2seq4repair_space>file" ) + ( ( compileList . size ( ) ) == 1 ? "" : "s" ) ) + ( ( destDir ) != null ? "<seq2seq4repair_space>to<seq2seq4repair_space>" + ( destDir ) : "" ) ) ) ; adapter . setJspc ( this ) ; if ( ! ( adapter . execute ( ) ) ) { if ( failOnError ) { throw new TaskException ( JspC . FAIL_MSG ) ; } else { getLogger ( ) . error ( JspC . FAIL_MSG ) ; } } } else { if ( filecount == 0 ) { getLogger ( ) . info ( "there<seq2seq4repair_space>were<seq2seq4repair_space>no<seq2seq4repair_space>files<seq2seq4repair_space>to<seq2seq4repair_space>compile" ) ; } else { getLogger ( ) . debug ( "all<seq2seq4repair_space>files<seq2seq4repair_space>are<seq2seq4repair_space>up<seq2seq4repair_space>to<seq2seq4repair_space>date" ) ; } } } protected void resetFileLists ( ) { } protected void scanDir ( File srcDir , File destDir , String [ ] files ) { } }

Fix:
CompilerAdapter adapter = CompilerAdapterFactory . getCompiler ( compiler . toString ( ) , getContext ( ) ) ;