Buggy code:
public class JspC extends MatchingTask { private Path classpath ; private Path compilerClasspath ; private Path src ; private File destDir ; private String packageName ; private String compilerName = "jasper" ; private String iepluginid ; private boolean mapped ; private int verbose = 0 ; protected Vector compileList = new Vector ( ) ; Vector javaFiles = new Vector ( ) ; protected boolean failOnError = true ; private File uriroot ; private File webinc ; private File webxml ; protected JspC . WebAppParameter webApp ; 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." ; public void setSrcdir ( Path srcDir ) { } public Path getSrcDir ( ) { } public void setDestdir ( File destDir ) { } public File getDestdir ( ) { } public void setPackage ( String pkg ) { } public String getPackage ( ) { } public void setVerbose ( int i ) { } public int getVerbose ( ) { } public void setFailonerror ( boolean fail ) { } public boolean getFailonerror ( ) { } public String getIeplugin ( ) { } public void setIeplugin ( String iepluginid_ ) { } public boolean isMapped ( ) { } public void setMapped ( boolean mapped_ ) { } public void setUribase ( File uribase ) { } public File getUribase ( ) { } public void setUriroot ( File uriroot ) { } public File getUriroot ( ) { } public void setClasspath ( Path cp ) { } public Path createClasspath ( ) { } public void setClasspathRef ( Reference r ) { } public Path getClasspath ( ) { } public void setCompilerclasspath ( Path cp ) { } public Path getCompilerclasspath ( ) { } public Path createCompilerclasspath ( ) { } public void setWebxml ( File webxml ) { } public File getWebxml ( ) { } public void setWebinc ( File webinc ) { } public File getWebinc ( ) { } public void addWebApp ( JspC . WebAppParameter webappParam ) throws BuildException { } public JspC . WebAppParameter getWebApp ( ) { } public void setCompiler ( String compiler ) { } public Vector getCompileList ( ) { } public void execute ( ) throws BuildException { if ( ( ( destDir ) != null ) && ( ! ( destDir . isDirectory ( ) ) ) ) { throw new BuildException ( ( ( "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" ) , getLocation ( ) ) ; } File dest = getActualDestDir ( ) ; <START_BUG> JspCompilerAdapter compiler = JspCompilerAdapterFactory . getCompiler ( compilerName , this , new org . apache . tools . ant . AntClassLoader ( getProject ( ) , compilerClasspath ) ) ; <END_BUG> if ( ( webApp ) != null ) { doCompilation ( compiler ) ; return ; } if ( ( src ) == null ) { throw new BuildException ( "srcdir<seq2seq4repair_space>attribute<seq2seq4repair_space>must<seq2seq4repair_space>be<seq2seq4repair_space>set!" , location ) ; } String [ ] list = src . list ( ) ; if ( ( list . length ) == 0 ) { throw new BuildException ( "srcdir<seq2seq4repair_space>attribute<seq2seq4repair_space>must<seq2seq4repair_space>be<seq2seq4repair_space>set!" , location ) ; } if ( compiler . implementsOwnDependencyChecking ( ) ) { doCompilation ( compiler ) ; return ; } JspMangler mangler = compiler . createMangler ( ) ; resetFileLists ( ) ; int filecount = 0 ; for ( int i = 0 ; i < ( list . length ) ; i ++ ) { File srcDir = ( ( File ) ( getProject ( ) . resolveFile ( list [ i ] ) ) ) ; if ( ! ( srcDir . exists ( ) ) ) { throw new BuildException ( ( ( "srcdir<seq2seq4repair_space>\"" + ( srcDir . getPath ( ) ) ) + "\"<seq2seq4repair_space>does<seq2seq4repair_space>not<seq2seq4repair_space>exist!" ) , getLocation ( ) ) ; } DirectoryScanner ds = this . getDirectoryScanner ( srcDir ) ; String [ ] files = ds . getIncludedFiles ( ) ; filecount = files . length ; scanDir ( srcDir , dest , mangler , files ) ; } log ( ( ( "compiling<seq2seq4repair_space>" + ( compileList . size ( ) ) ) + "<seq2seq4repair_space>files" ) , MSG_VERBOSE ) ; if ( ( compileList . size ( ) ) > 0 ) { log ( ( ( ( ( "Compiling<seq2seq4repair_space>" + ( compileList . size ( ) ) ) + "<seq2seq4repair_space>source<seq2seq4repair_space>file" ) + ( ( compileList . size ( ) ) == 1 ? "" : "s" ) ) + dest ) ) ; doCompilation ( compiler ) ; } else { if ( filecount == 0 ) { log ( "there<seq2seq4repair_space>were<seq2seq4repair_space>no<seq2seq4repair_space>files<seq2seq4repair_space>to<seq2seq4repair_space>compile" , MSG_INFO ) ; } else { log ( "all<seq2seq4repair_space>files<seq2seq4repair_space>are<seq2seq4repair_space>up<seq2seq4repair_space>to<seq2seq4repair_space>date" , MSG_VERBOSE ) ; } } } private File getActualDestDir ( ) { } private void doCompilation ( JspCompilerAdapter compiler ) throws BuildException { } protected void resetFileLists ( ) { } protected void scanDir ( File srcDir , File dest , JspMangler mangler , String [ ] files ) { } private boolean isCompileNeeded ( File srcFile , File javaFile ) { } protected File mapToJavaFile ( JspMangler mangler , File srcFile , File srcDir , File dest ) { } public void deleteEmptyJavaFiles ( ) { } public static class WebAppParameter { private File directory ; public File getDirectory ( ) { } public void setBaseDir ( File directory ) { } } }

Fix:
JspCompilerAdapter compiler = JspCompilerAdapterFactory . getCompiler ( compilerName , this , getProject ( ) . createClassLoader ( compilerClasspath ) ) ;