nus-yam/ex-repair huggingface dataset:
Program: 109470
Project: 109470
Buggy source:
/** 
 * Decompiles all .class files and archives in the given directory and places results in the specified output directory. <p> Discovered archives will be decompiled into directories matching the name of the archive, e.g. <code>foo.ear/bar.jar/src/com/foo/bar/Baz.java</code>. <p> Required directories will be created as needed.
 * @param classesDir The directory containing source files and archives.
 * @param outputDir The directory where decompiled .java files will be placed.
 */
public DecompilationResult decompileDirectory(File classesDir,File outputDir) throws DecompilationException ;

Fixed version (ground truth):
/** 
 * Decompiles all .class files and archives in the given directory and places results in the specified output directory. <p> Discovered archives will be decompiled into directories matching the name of the archive, e.g. <code>foo.ear/bar.jar/src/com/foo/bar/Baz.java</code>. <p> Required directories will be created as needed.
 * @param classesDir The directory containing source files and archives.
 * @param outputDir The directory where decompiled .java files will be placed.
 */
public DecompilationResult decompileDirectory(Path classesDir,Path outputDir) throws DecompilationException ;
Program: 109471
Project: 109471
Buggy source:
/** 
 * Decompiles the given .class file and creates the specified output source file in the given output dir under appropriate package subdirectories, like $outputDir/org/jboss/Foo.java. Decompilation may need multiple .class files for one .java file, e.g. for inner classes.
 * @param classFile the .class file to be decompiled.
 * @param outputDir The directory where decompiled .java files will be placed.
 */
public DecompilationResult decompileClassFile(File rootDir,Path classFilePath,File outputDir) throws DecompilationException ;

Fixed version (ground truth):
/** 
 * Decompiles the given .class file and creates the specified output source file in the given output dir under appropriate package subdirectories, like $outputDir/org/jboss/Foo.java. Decompilation may need multiple .class files for one .java file, e.g. for inner classes.
 * @param classFile the .class file to be decompiled.
 * @param outputDir The directory where decompiled .java files will be placed.
 */
public DecompilationResult decompileClassFile(Path rootDir,Path classFilePath,Path outputDir) throws DecompilationException ;
Program: 109472
Project: 109472
Buggy source:
/** 
 * Single class.
 */
@Test public void testDecompileSingleClass() throws DecompilationException, IOException {
  final Decompiler dec=this.getDecompiler();
  File archive=new File("String_Node_Str");
  File decompDir=new File(testTempDir,"String_Node_Str");
  File unzipDir=new File(testTempDir,"String_Node_Str");
  ZipUtil.unzip(archive,unzipDir);
  Path clsFile=Paths.get("String_Node_Str");
  final DecompilationResult res=dec.decompileClassFile(unzipDir,clsFile,decompDir);
  Assert.assertNotNull("String_Node_Str",res);
  if (!res.getFailures().isEmpty()) {
    final StringBuilder sb=new StringBuilder();
    sb.append("String_Node_Str" + res.getFailures().size() + "String_Node_Str");
    for (    final DecompilationFailure e : res.getFailures()) {
      sb.append("String_Node_Str").append(e.getMessage());
      final Throwable cause=e.getCause();
      cause.printStackTrace();
      if (cause instanceof NullPointerException)       sb.append("String_Node_Str").append(cause.getStackTrace()[0]);
 else       sb.append("String_Node_Str").append(cause);
    }
    if (!this.isResultValid(res))     Assert.fail(sb.toString());
 else     log.severe(sb.toString());
  }
  log.info("String_Node_Str" + res.getDecompiledFiles().size() + "String_Node_Str"+ res.getFailures().size()+ "String_Node_Str");
  final File sampleFile=new File(decompDir,"String_Node_Str");
  Assert.assertTrue("String_Node_Str" + sampleFile.getAbsolutePath(),sampleFile.exists());
  dec.close();
}

Fixed version (ground truth):
/** 
 * Single class.
 */
@Test public void testDecompileSingleClass() throws DecompilationException, IOException {
  final Decompiler dec=this.getDecompiler();
  Path archive=Paths.get("String_Node_Str");
  Path decompDir=testTempDir.resolve("String_Node_Str");
  Path unzipDir=testTempDir.resolve("String_Node_Str");
  ZipUtil.unzip(archive.toFile(),unzipDir.toFile());
  Path clsFile=unzipDir.resolve("String_Node_Str");
  final DecompilationResult res=dec.decompileClassFile(unzipDir,clsFile,decompDir);
  Assert.assertNotNull("String_Node_Str",res);
  if (!res.getFailures().isEmpty()) {
    final StringBuilder sb=new StringBuilder();
    sb.append("String_Node_Str" + res.getFailures().size() + "String_Node_Str");
    for (    final DecompilationFailure e : res.getFailures()) {
      sb.append("String_Node_Str").append(e.getMessage());
      final Throwable cause=e.getCause();
      cause.printStackTrace();
      if (cause instanceof NullPointerException)       sb.append("String_Node_Str").append(cause.getStackTrace()[0]);
 else       sb.append("String_Node_Str").append(cause);
    }
    if (!this.isResultValid(res))     Assert.fail(sb.toString());
 else     log.severe(sb.toString());
  }
  log.info("String_Node_Str" + res.getDecompiledFiles().size() + "String_Node_Str"+ res.getFailures().size()+ "String_Node_Str");
  final Path sampleFile=decompDir.resolve("String_Node_Str").resolve("String_Node_Str").resolve("String_Node_Str").resolve("String_Node_Str").resolve("String_Node_Str");
  Assert.assertTrue("String_Node_Str" + sampleFile.toString(),Files.exists(sampleFile));
  dec.close();
}
Program: 109473
Project: 109473
Buggy source:
@Before public void setUp() throws IOException {
  this.testTempDir=new File("String_Node_Str");
  FileUtils.deleteQuietly(testTempDir);
  Files.createDirectory(this.testTempDir.toPath());
}

Fixed version (ground truth):
@Before public void setUp() throws IOException {
  this.testTempDir=Paths.get("String_Node_Str").resolve("String_Node_Str");
  FileUtils.deleteQuietly(testTempDir.toFile());
  Files.createDirectory(this.testTempDir);
}
Program: 109474
Project: 109474
Buggy source:
/** 
 * Decompile test .jar.
 */
@Test public void testDecompileWicketJar() throws DecompilationException {
  File archive=new File("String_Node_Str");
  File decompDir=new File(testTempDir,"String_Node_Str");
  final Decompiler dec=this.getDecompiler();
  final DecompilationResult res=dec.decompileArchive(archive,decompDir,new CountClassesFilter(100),new DecompilationListener(){
    @Override public void decompilationProcessComplete(){
    }
    @Override public void fileDecompiled(    String inputPath,    String outputPath){
    }
  }
);
  Assert.assertNotNull("String_Node_Str",res);
  if (!res.getFailures().isEmpty()) {
    final StringBuilder sb=new StringBuilder();
    sb.append("String_Node_Str" + res.getFailures().size() + "String_Node_Str");
    for (    final DecompilationFailure dex : res.getFailures()) {
      sb.append("String_Node_Str").append(dex.getMessage());
    }
    if (!this.isResultValid(res))     Assert.fail(sb.toString());
 else     log.severe(sb.toString());
  }
  log.info("String_Node_Str" + res.getDecompiledFiles().size() + "String_Node_Str"+ res.getFailures().size()+ "String_Node_Str");
  final File sampleFile=new File(decompDir,"String_Node_Str");
  Assert.assertTrue("String_Node_Str" + sampleFile.getAbsolutePath(),sampleFile.exists());
  dec.close();
}

Fixed version (ground truth):
/** 
 * Decompile test .jar.
 */
@Test public void testDecompileWicketJar() throws DecompilationException {
  Path archive=Paths.get("String_Node_Str");
  Path decompDir=testTempDir.resolve("String_Node_Str");
  final Decompiler dec=this.getDecompiler();
  final DecompilationResult res=dec.decompileArchive(archive,decompDir,new CountClassesFilter(100),new DecompilationListener(){
    @Override public void decompilationProcessComplete(){
    }
    @Override public void decompilationFailed(    String inputPath,    String message){
    }
    @Override public void fileDecompiled(    String inputPath,    String outputPath){
    }
  }
);
  Assert.assertNotNull("String_Node_Str",res);
  if (!res.getFailures().isEmpty()) {
    final StringBuilder sb=new StringBuilder();
    sb.append("String_Node_Str" + res.getFailures().size() + "String_Node_Str");
    for (    final DecompilationFailure dex : res.getFailures()) {
      sb.append("String_Node_Str").append(dex.getMessage());
    }
    if (!this.isResultValid(res))     Assert.fail(sb.toString());
 else     log.severe(sb.toString());
  }
  log.info("String_Node_Str" + res.getDecompiledFiles().size() + "String_Node_Str"+ res.getFailures().size()+ "String_Node_Str");
  final Path sampleFile=decompDir.resolve("String_Node_Str").resolve("String_Node_Str").resolve("String_Node_Str").resolve("String_Node_Str").resolve("String_Node_Str");
  Assert.assertTrue("String_Node_Str" + sampleFile.toString(),Files.exists(sampleFile));
  dec.close();
}
Program: 109475
Project: 109475
Buggy source:
@Test @Ignore("String_Node_Str") public void testDecompileWicketJarDirectory() throws DecompilationException, IOException {
  final Decompiler dec=this.getDecompiler();
  File archive=new File("String_Node_Str");
  File decompDir=new File(testTempDir,"String_Node_Str");
  File unzipDir=new File(testTempDir,"String_Node_Str");
  ZipUtil.unzipWithFilter(archive,unzipDir,new CountClassesFilter(100));
  final DecompilationResult res=dec.decompileDirectory(unzipDir,decompDir);
  Assert.assertNotNull("String_Node_Str",res);
  if (!res.getFailures().isEmpty()) {
    final StringBuilder sb=new StringBuilder();
    sb.append("String_Node_Str" + res.getFailures().size() + "String_Node_Str");
    for (    final DecompilationFailure dex : res.getFailures()) {
      sb.append("String_Node_Str").append(dex.getMessage());
    }
    if (!this.isResultValid(res))     Assert.fail(sb.toString());
 else     log.severe(sb.toString());
  }
  log.info("String_Node_Str" + res.getDecompiledFiles().size() + "String_Node_Str"+ res.getFailures().size()+ "String_Node_Str");
  final File sampleFile=new File(decompDir,"String_Node_Str");
  Assert.assertTrue("String_Node_Str" + sampleFile.getAbsolutePath(),sampleFile.exists());
  dec.close();
}

Fixed version (ground truth):
@Test @Ignore("String_Node_Str") public void testDecompileWicketJarDirectory() throws DecompilationException, IOException {
  final Decompiler dec=this.getDecompiler();
  Path archive=Paths.get("String_Node_Str");
  Path decompDir=testTempDir.resolve("String_Node_Str");
  Path unzipDir=testTempDir.resolve("String_Node_Str");
  ZipUtil.unzipWithFilter(archive.toFile(),unzipDir.toFile(),new CountClassesFilter(100));
  final DecompilationResult res=dec.decompileDirectory(unzipDir,decompDir);
  Assert.assertNotNull("String_Node_Str",res);
  if (!res.getFailures().isEmpty()) {
    final StringBuilder sb=new StringBuilder();
    sb.append("String_Node_Str" + res.getFailures().size() + "String_Node_Str");
    for (    final DecompilationFailure dex : res.getFailures()) {
      sb.append("String_Node_Str").append(dex.getMessage());
    }
    if (!this.isResultValid(res))     Assert.fail(sb.toString());
 else     log.severe(sb.toString());
  }
  log.info("String_Node_Str" + res.getDecompiledFiles().size() + "String_Node_Str"+ res.getFailures().size()+ "String_Node_Str");
  final Path sampleFile=decompDir.resolve("String_Node_Str").resolve("String_Node_Str").resolve("String_Node_Str").resolve("String_Node_Str").resolve("String_Node_Str");
  Assert.assertTrue("String_Node_Str" + sampleFile,Files.exists(sampleFile));
  dec.close();
}
Program: 109477
Project: 109477
Buggy source:
/** 
 * Gets the snippit referenced by this   {@link FileLocationModel}.
 */
@Indexed(IndexType.SEARCH) @Property(SOURCE_SNIPPIT) void setSourceSnippit(String source);

Fixed version (ground truth):
/** 
 * Gets the snippit referenced by this   {@link FileLocationModel}.
 */
@Property(SOURCE_SNIPPIT) void setSourceSnippit(String source);
Program: 109478
Project: 109478
Buggy source:
@Override public void perform(GraphRewrite event,EvaluationContext context,ProjectModel payload){
  GraphContext graphContext=event.getGraphContext();
  GraphService<OverviewReportLineMessageModel> overviewLineService=new GraphService<OverviewReportLineMessageModel>(graphContext,OverviewReportLineMessageModel.class);
  OverviewReportLineMessageModel overviewLine=overviewLineService.create();
  overviewLine.setMessage(message);
  overviewLine.setProject(payload);
  overviewLine.setRuleID(((Rule)context.get(Rule.class)).getId());
}

Fixed version (ground truth):
@Override public void perform(GraphRewrite event,EvaluationContext context,ProjectModel payload){
  GraphContext graphContext=event.getGraphContext();
  GraphService<OverviewReportLineMessageModel> overviewLineService=new GraphService<>(graphContext,OverviewReportLineMessageModel.class);
  OverviewReportLineMessageModel overviewLine=overviewLineService.create();
  overviewLine.setMessage(message);
  overviewLine.setProject(payload);
  overviewLine.setRuleID(((Rule)context.get(Rule.class)).getId());
}
Program: 109480
Project: 109480
Buggy source:
/** 
 * Contains the   {@link TypeReferenceLocation} location referred to by this {@link Vertex}.
 */
@Property(REFERENCE_TYPE) void setReferenceLocation(TypeReferenceLocation type);

Fixed version (ground truth):
/** 
 * Contains the   {@link TypeReferenceLocation} location referred to by this {@link Vertex}.
 */
@Property(REFERENCE_TYPE) @Indexed(IndexType.SEARCH) void setReferenceLocation(TypeReferenceLocation type);
Program: 109481
Project: 109481
Buggy source:
/** 
 * Gets the snippit referenced by this   {@link FileLocationModel}.
 */
@Property(RESOLVED_SOURCE_SNIPPIT) void setResolvedSourceSnippit(String source);

Fixed version (ground truth):
/** 
 * Gets the snippit referenced by this   {@link FileLocationModel}.
 */
@Property(RESOLVED_SOURCE_SNIPPIT) @Indexed(IndexType.SEARCH) void setResolvedSourceSnippit(String source);
Program: 109482
Project: 109482
Buggy source:
@Deployment @Dependencies({@AddonDependency(name="String_Node_Str"),@AddonDependency(name="String_Node_Str"),@AddonDependency(name="String_Node_Str"),@AddonDependency(name="String_Node_Str"),@AddonDependency(name="String_Node_Str"),@AddonDependency(name="String_Node_Str"),@AddonDependency(name="String_Node_Str")}) public static ForgeArchive getDeployment(){
  final ForgeArchive archive=ShrinkWrap.create(ForgeArchive.class).addBeansXML().addAsAddonDependencies(AddonDependencyEntry.create("String_Node_Str"),AddonDependencyEntry.create("String_Node_Str"),AddonDependencyEntry.create("String_Node_Str"),AddonDependencyEntry.create("String_Node_Str"),AddonDependencyEntry.create("String_Node_Str"),AddonDependencyEntry.create("String_Node_Str"),AddonDependencyEntry.create("String_Node_Str"));
  return archive;
}

Fixed version (ground truth):
@Deployment @AddonDependencies({@AddonDependency(name="String_Node_Str"),@AddonDependency(name="String_Node_Str"),@AddonDependency(name="String_Node_Str"),@AddonDependency(name="String_Node_Str"),@AddonDependency(name="String_Node_Str"),@AddonDependency(name="String_Node_Str"),@AddonDependency(name="String_Node_Str")}) public static AddonArchive getDeployment(){
  return ShrinkWrap.create(AddonArchive.class).addBeansXML();
}
Program: 109485
Project: 109485
Buggy source:
private List<FileModel> findLicense(ArchiveModel archive){
  List<FileModel> licenses=new LinkedList<>();
  Iterable<FileModel> files=archive.getContainedFileModels();
  for (  FileModel model : files) {
    String fileName=model.getFileName();
    fileName=StringUtils.lowerCase(fileName);
    if (fileName.endsWith("String_Node_Str") || fileName.endsWith("String_Node_Str") || fileName.endsWith("String_Node_Str")|| fileName.endsWith("String_Node_Str")|| fileName.endsWith("String_Node_Str")|| fileName.endsWith("String_Node_Str")) {
      licenses.add(model);
    }
  }
  return licenses;
}

Fixed version (ground truth):
private List<FileModel> findLicense(ArchiveModel archive){
  List<FileModel> licenses=new LinkedList<>();
  Iterable<FileModel> files=archive.getContainedFileModels();
  for (  FileModel model : files) {
    if (model.isDirectory())     continue;
    String fileName=model.getFileName();
    fileName=StringUtils.lowerCase(fileName);
    if (fileName.endsWith("String_Node_Str") || fileName.endsWith("String_Node_Str") || fileName.endsWith("String_Node_Str")|| fileName.endsWith("String_Node_Str")|| fileName.endsWith("String_Node_Str")|| fileName.endsWith("String_Node_Str")) {
      licenses.add(model);
    }
  }
  return licenses;
}
Program: 109487
Project: 109487
Buggy source:
private void processReferences(GraphContext context,Path filePath,List<ClassReference> references){
  TypeReferenceService typeReferenceService=new TypeReferenceService(context);
  for (  ClassReference reference : references) {
    if (reference.getLocation() == TypeReferenceLocation.TYPE || TypeInterestFactory.matchesAny(reference.getQualifiedName(),reference.getLocation())) {
      JavaSourceFileModel javaSourceModel=getJavaSourceFileModel(context,filePath);
      JavaTypeReferenceModel typeReference=typeReferenceService.createTypeReference(javaSourceModel,reference.getLocation(),reference.getLineNumber(),reference.getColumn(),reference.getLength(),reference.getQualifiedName(),reference.getLine());
      if (reference instanceof AnnotationClassReference) {
        Map<String,AnnotationValue> annotationValues=((AnnotationClassReference)reference).getAnnotationValues();
        addAnnotationValues(context,typeReference,annotationValues);
      }
    }
  }
}

Fixed version (ground truth):
private void processReferences(GraphContext context,Path filePath,List<ClassReference> references){
  TypeReferenceService typeReferenceService=new TypeReferenceService(context);
  for (  ClassReference reference : references) {
    JavaSourceFileModel javaSourceModel=getJavaSourceFileModel(context,filePath);
    JavaTypeReferenceModel typeReference=typeReferenceService.createTypeReference(javaSourceModel,reference.getLocation(),reference.getLineNumber(),reference.getColumn(),reference.getLength(),reference.getQualifiedName(),reference.getLine());
    if (reference instanceof AnnotationClassReference) {
      Map<String,AnnotationValue> annotationValues=((AnnotationClassReference)reference).getAnnotationValues();
      addAnnotationValues(context,typeReference,annotationValues);
    }
  }
}
Program: 109490
Project: 109490
Buggy source:
@Override public void perform(GraphRewrite event,EvaluationContext context,XmlFileModel payload){
  String defaultName=payload.getParentArchive() == null ? payload.asFile().getParentFile().getName() : payload.getParentArchive().getFileName();
  MavenProjectModel mavenProjectModel=extractMavenProjectModel(event,defaultName,payload);
  if (mavenProjectModel != null) {
    ArchiveModel archiveModel=payload.getParentArchive();
    if (archiveModel != null && !isAlreadyMavenProject(archiveModel)) {
      archiveModel.setProjectModel(mavenProjectModel);
      mavenProjectModel.setRootFileModel(archiveModel);
      for (      FileModel f : archiveModel.getContainedFileModels()) {
        if (!(f instanceof ArchiveModel) && f.getProjectModel() == null) {
          f.setProjectModel(mavenProjectModel);
          mavenProjectModel.addFileModel(f);
        }
      }
    }
 else {
      File parentFile=payload.asFile().getParentFile();
      FileModel parentFileModel=new FileService(event.getGraphContext()).findByPath(parentFile.getAbsolutePath());
      if (parentFileModel != null && !isAlreadyMavenProject(parentFileModel)) {
        parentFileModel.setProjectModel(mavenProjectModel);
        mavenProjectModel.addFileModel(parentFileModel);
        mavenProjectModel.setRootFileModel(parentFileModel);
        for (        FileModel childFile : parentFileModel.getFilesInDirectory()) {
          addFilesToModel(mavenProjectModel,childFile);
        }
      }
    }
  }
}

Fixed version (ground truth):
@Override public void perform(GraphRewrite event,EvaluationContext context,XmlFileModel payload){
  if (payload.getProjectModel() != null)   return;
  String defaultName=payload.getParentArchive() == null ? payload.asFile().getParentFile().getName() : payload.getParentArchive().getFileName();
  MavenProjectModel mavenProjectModel=extractMavenProjectModel(event,defaultName,payload);
  if (mavenProjectModel != null) {
    ArchiveModel archiveModel=payload.getParentArchive();
    if (archiveModel != null && !isAlreadyMavenProject(archiveModel)) {
      archiveModel.setProjectModel(mavenProjectModel);
      mavenProjectModel.setRootFileModel(archiveModel);
      for (      FileModel f : archiveModel.getContainedFileModels()) {
        if (!(f instanceof ArchiveModel) && f.getProjectModel() == null) {
          f.setProjectModel(mavenProjectModel);
          mavenProjectModel.addFileModel(f);
        }
      }
    }
 else {
      File parentFile=payload.asFile().getParentFile();
      FileModel parentFileModel=new FileService(event.getGraphContext()).findByPath(parentFile.getAbsolutePath());
      if (parentFileModel != null && !isAlreadyMavenProject(parentFileModel)) {
        parentFileModel.setProjectModel(mavenProjectModel);
        mavenProjectModel.addFileModel(parentFileModel);
        mavenProjectModel.setRootFileModel(parentFileModel);
        for (        FileModel childFile : parentFileModel.getFilesInDirectory()) {
          addFilesToModel(mavenProjectModel,childFile);
        }
      }
    }
  }
}
Program: 109492
Project: 109492
Buggy source:
/** 
 * Set the location of the source XSLT file and set it to use the provided   {@link ClassLoader} for resource lookup.
 */
public static XSLTTransformationLocation using(String location,ClassLoader classLoader){
  XSLTTransformation tansformation=new XSLTTransformation();
  tansformation.contextClassLoader=classLoader;
  tansformation.template=location;
  return tansformation;
}

Fixed version (ground truth):
/** 
 * Create a new   {@link XSLTTransformation} using the given location of the source XSLT file within the given{@link ClassLoader}.
 */
public static XSLTTransformationLocation using(String location,ClassLoader classLoader){
  XSLTTransformation tansformation=new XSLTTransformation();
  tansformation.contextClassLoader=classLoader;
  tansformation.template=location;
  return tansformation;
}
Program: 109494
Project: 109494
Buggy source:
/** 
 * Set the description of this   {@link XSLTTransformation}.
 */
public XSLTTransformationDescription withDescription(String description){
  this.description=description;
  return this;
}

Fixed version (ground truth):
@Override public XSLTTransformationDescription withDescription(String description){
  this.description=description;
  return this;
}
Program: 109495
Project: 109495
Buggy source:
/** 
 * Set the extension of this   {@link XSLTTransformation}.
 */
public XSLTTransformationExtension withExtension(String extension){
  this.extension=extension;
  return this;
}

Fixed version (ground truth):
@Override public XSLTTransformationExtension withExtension(String extension){
  this.extension=extension;
  return this;
}
Program: 109496
Project: 109496
Buggy source:
/** 
 * Create a new transformation for the given ref.
 */
public static XSLTTransformationOf of(String variable){
  return new XSLTTransformationOf(variable);
}

Fixed version (ground truth):
/** 
 * Create a new transformation for the given ref.
 */
public static XSLTTransformationOf of(String variable){
  return new XSLTTransformation(variable);
}
Program: 109497
Project: 109497
Buggy source:
public XSLTTransformationParams withParameters(Map<String,String> parameters){
  this.xsltParameters=parameters;
  return this;
}

Fixed version (ground truth):
/** 
 * Set the parameters associated with this   {@link XSLTTransformation};
 */
public XSLTTransformationEffort withParameters(Map<String,String> parameters){
  this.xsltParameters.putAll(parameters);
  return this;
}
Program: 109498
Project: 109498
Buggy source:
/** 
 * Set the location of the source XSLT file to a absolute path on the filesystem
 */
public static XSLTTransformationFileSystem usingFilesystem(String location){
  XSLTTransformation tansformation=new XSLTTransformation();
  tansformation.template=location;
  return tansformation;
}

Fixed version (ground truth):
/** 
 * Create a new   {@link XSLTTransformation} using the given location of the source XSLT file path on the file-system.
 */
public static XSLTTransformationFileSystem usingFilesystem(String location){
  XSLTTransformation tansformation=new XSLTTransformation();
  tansformation.template=location;
  return tansformation;
}
Program: 109499
Project: 109499
Buggy source:
XSLTTransformation(){
  super();
}

Fixed version (ground truth):
private XSLTTransformation(){
  super();
}
Program: 109500
Project: 109500
Buggy source:
/** 
 * Extension that is going to be added to the result file.
 * @param extension Examples are .xml,.result etc.
 * @return
 */
XSLTTransformationExtension withExtension(String extension);

Fixed version (ground truth):
/** 
 * Extension to be appended to the result file.
 */
XSLTTransformationExtension withExtension(String extension);
Program: 109501
Project: 109501
Buggy source:
/** 
 * Specify   {@link XSLTTransformation} parameters.
 * @param parameters parameters for the xslt transformer factory
 * @return
 */
XSLTTransformationParams withParameters(Map<String,String> parameters);

Fixed version (ground truth):
/** 
 * Specify   {@link XSLTTransformation} parameters to be passed to the XSLT template.
 */
XSLTTransformationEffort withParameters(Map<String,String> parameters);
Program: 109502
Project: 109502
Buggy source:
public WindupConfiguration setOffline(boolean offline){
  setOptionValue(OfflineModeOption.NAME,offline);
  return this;
}

Fixed version (ground truth):
/** 
 * Set Windup to run online or offline (with respect to an internet connection).
 */
public WindupConfiguration setOffline(boolean offline){
  setOptionValue(OfflineModeOption.NAME,offline);
  return this;
}
Program: 109503
Project: 109503
Buggy source:
public boolean isOffline(){
  Boolean offline=getOptionValue(OfflineModeOption.NAME);
  return offline == null ? false : offline;
}

Fixed version (ground truth):
/** 
 * Returns true if Windup is operating in   {@link OfflineModeOption} == true. (with respect to an internetconnection)
 */
public boolean isOffline(){
  Boolean offline=getOptionValue(OfflineModeOption.NAME);
  return offline == null ? false : offline;
}
Program: 109504
Project: 109504
Buggy source:
public void getOptionMap(String NAME){
  throw new UnsupportedOperationException("String_Node_Str");
}

Fixed version (ground truth):
/** 
 * Returns all configuration options as an immutable   {@link Map}.
 */
public Map<String,Object> getOptionMap(){
  return Collections.unmodifiableMap(configurationOptions);
}
Program: 109505
Project: 109505
Buggy source:
/** 
 * Creates the   {@link AndPredicate} that returns true only if all of the given conditions are met.
 */
public AndPredicate(Predicate<RuleProvider>... predicates){
  this.predicates=new HashSet(Arrays.asList(predicates));
}

Fixed version (ground truth):
/** 
 * Creates the   {@link AndPredicate} that returns true only if all of the given conditions are met.
 */
@SafeVarargs public AndPredicate(Predicate<RuleProvider>... predicates){
  this.predicates=new HashSet<>(Arrays.asList(predicates));
}
Program: 109506
Project: 109506
Buggy source:
@Override public boolean accept(RuleProvider provider){
  boolean result=true;
  if (this.predicates.isEmpty())   return false;
  for (  Predicate predicate : this.predicates) {
    if (!predicate.accept(provider))     return false;
  }
  return result;
}

Fixed version (ground truth):
@Override public boolean accept(RuleProvider provider){
  boolean result=true;
  if (this.predicates.isEmpty())   return false;
  for (  Predicate<RuleProvider> predicate : this.predicates) {
    if (!predicate.accept(provider))     return false;
  }
  return result;
}
Program: 109507
Project: 109507
Buggy source:
/** 
 * Creates the   {@link RuleProviderPhasePredicate} with the given phase types.
 */
public RuleProviderPhasePredicate(Class<? extends RulePhase>... phases){
  this.phases=new HashSet(Arrays.asList(phases));
}

Fixed version (ground truth):
/** 
 * Creates the   {@link RuleProviderPhasePredicate} with the given phase types.
 */
@SafeVarargs public RuleProviderPhasePredicate(Class<? extends RulePhase>... phases){
  this.phases=new HashSet<>(Arrays.asList(phases));
}
Program: 109508
Project: 109508
Buggy source:
/** 
 * Sets the rule to require all of the include tags. If this value is true, then a   {@link RuleProvider} must have all of the tags in the includelist in order to be matched. If it is false, then having a single tag match is sufficient. The default value is false.
 */
public TaggedRuleProviderPredicate setRequireAllIncludeTags(boolean requireAll){
  this.requireAllIncludeTags=requireAll;
  return this;
}

Fixed version (ground truth):
/** 
 * Sets the rule to require all of the include tags. If this value is true, then a   {@link RuleProvider} must haveall of the tags in the include list in order to be matched. If it is false, then having a single tag match is sufficient. The default value is false.
 */
public TaggedRuleProviderPredicate setRequireAllIncludeTags(boolean requireAll){
  this.requireAllIncludeTags=requireAll;
  return this;
}
Program: 109509
Project: 109509
Buggy source:
/** 
 * <p> Sets the rule to require all of the exclude tags. If this value is false (the default), then this   {@link Predicate} will reject any{@link RuleProvider}s that have a tag that is also in the excludeTags list. </p> <p> If this value is true, then it will reject only providers that have all of the tags in the exclude list. </p>
 */
public TaggedRuleProviderPredicate setRequireAllExcludeTags(boolean requireAll){
  this.requireAllExcludeTags=requireAll;
  return this;
}

Fixed version (ground truth):
/** 
 * <p> Sets the rule to require all of the exclude tags. If this value is false (the default), then this  {@link Predicate} will reject any {@link RuleProvider}s that have a tag that is also in the excludeTags list. </p> <p> If this value is true, then it will reject only providers that have all of the tags in the exclude list. </p>
 */
public TaggedRuleProviderPredicate setRequireAllExcludeTags(boolean requireAll){
  this.requireAllExcludeTags=requireAll;
  return this;
}
Program: 109510
Project: 109510
Buggy source:
@Override public boolean accept(RuleProvider provider){
  Set<String> tags=provider.getMetadata().getTags();
  boolean includeMatches=(this.includeTags.isEmpty()) || (this.requireAllIncludeTags ? tags.containsAll(this.includeTags) : CollectionUtils.containsAny(tags,this.includeTags));
  if (!includeMatches)   return false;
  boolean excludeMatches=(this.excludeTags.isEmpty()) || (this.requireAllExcludeTags ? !tags.containsAll(this.excludeTags) : !CollectionUtils.containsAny(tags,this.excludeTags));
  return includeMatches && excludeMatches;
}

Fixed version (ground truth):
@Override public boolean accept(RuleProvider provider){
  Set<String> tags=provider.getMetadata().getTags();
  boolean result=true;
  if (!includeTags.isEmpty()) {
    if (requireAllIncludeTags)     result=tags.containsAll(includeTags);
 else     result=CollectionUtils.containsAny(tags,includeTags);
  }
  if (result && !excludeTags.isEmpty()) {
    if (requireAllExcludeTags)     result=!tags.containsAll(excludeTags);
 else     result=!CollectionUtils.containsAny(tags,excludeTags);
  }
  return result;
}
Program: 109511
Project: 109511
Buggy source:
@Test public void testAccept(){
  TestTagsARules rulesA=new TestTagsARules();
  TestTagsBRules rulesB=new TestTagsBRules();
  TestTagsA1B1Rules rulesA1B1=new TestTagsA1B1Rules();
  Assert.assertEquals(true,tryFilter("String_Node_Str",null,rulesA,false,false));
  Assert.assertEquals(false,tryFilter("String_Node_Str",null,rulesB,false,false));
  Assert.assertEquals(true,tryFilter("String_Node_Str",null,rulesB,false,false));
  Assert.assertEquals(false,tryFilter("String_Node_Str",null,rulesB,true,false));
  Assert.assertEquals(true,tryFilter("String_Node_Str",null,rulesB,false,false));
  Assert.assertEquals(false,tryFilter("String_Node_Str",null,rulesB,true,false));
  Assert.assertEquals(true,tryFilter("String_Node_Str","String_Node_Str",rulesA1B1,false,false));
  Assert.assertEquals(false,tryFilter("String_Node_Str","String_Node_Str",rulesA1B1,false,false));
  Assert.assertEquals(false,tryFilter("String_Node_Str","String_Node_Str",rulesA1B1,false,false));
  Assert.assertEquals(true,tryFilter("String_Node_Str","String_Node_Str",rulesA1B1,false,true));
}

Fixed version (ground truth):
@Test public void testAccept(){
  TestTagsARules rulesA=new TestTagsARules();
  TestTagsBRules rulesB=new TestTagsBRules();
  TestTagsA1B1Rules rulesA1B1=new TestTagsA1B1Rules();
  Assert.assertEquals(true,isProviderAcceptedByTags(rulesA,Arrays.asList("String_Node_Str"),false,null,false));
  Assert.assertEquals(false,isProviderAcceptedByTags(rulesB,Arrays.asList("String_Node_Str"),false,null,false));
  Assert.assertEquals(true,isProviderAcceptedByTags(rulesB,Arrays.asList("String_Node_Str","String_Node_Str"),false,null,false));
  Assert.assertEquals(false,isProviderAcceptedByTags(rulesB,Arrays.asList("String_Node_Str","String_Node_Str"),true,null,false));
  Assert.assertEquals(true,isProviderAcceptedByTags(rulesB,Arrays.asList("String_Node_Str","String_Node_Str","String_Node_Str"),false,null,false));
  Assert.assertEquals(false,isProviderAcceptedByTags(rulesB,Arrays.asList("String_Node_Str","String_Node_Str","String_Node_Str"),true,null,false));
  Assert.assertEquals(true,isProviderAcceptedByTags(rulesA1B1,Arrays.asList("String_Node_Str","String_Node_Str"),false,Arrays.asList("String_Node_Str"),false));
  Assert.assertEquals(false,isProviderAcceptedByTags(rulesA1B1,Arrays.asList("String_Node_Str","String_Node_Str"),false,Arrays.asList("String_Node_Str"),false));
  Assert.assertEquals(false,isProviderAcceptedByTags(rulesA1B1,Arrays.asList("String_Node_Str"),false,Arrays.asList("String_Node_Str","String_Node_Str"),false));
  Assert.assertEquals(true,isProviderAcceptedByTags(rulesA1B1,Arrays.asList("String_Node_Str"),false,Arrays.asList("String_Node_Str","String_Node_Str"),true));
}
Program: 109512
Project: 109512
Buggy source:
@Test public void testSkippedArchivesFound() throws Exception {
}

Fixed version (ground truth):
@Test public void testSkippedArchivesFound() throws Exception {
  try (GraphContext graphContext=contextFactory.create()){
    FileUtils.deleteDirectory(OUTPUT_PATH.toFile());
    InMemoryChecksumIdentifier inMemoryIdentifier=new InMemoryChecksumIdentifier();
    inMemoryIdentifier.addMapping("String_Node_Str",LOG4J_COORDINATE);
    SortedFileChecksumIdentifier sortedFileIdentifier=new SortedFileChecksumIdentifier(new File("String_Node_Str"));
    identifier.addIdentifier(inMemoryIdentifier);
    identifier.addIdentifier(sortedFileIdentifier);
    SkippedArchives.add("String_Node_Str");
    WindupConfiguration config=new WindupConfiguration();
    config.setGraphContext(graphContext);
    config.setInputPath(INPUT_PATH);
    config.setOutputDirectory(OUTPUT_PATH);
    config.setOptionValue(OverwriteOption.NAME,true);
    config.setRuleProviderFilter(new Predicate<WindupRuleProvider>(){
      private RuleProviderWithDependenciesPredicate discoverRuleDeps=new RuleProviderWithDependenciesPredicate(DiscoverFilesAndTypesRuleProvider.class);
      @Override public boolean accept(      WindupRuleProvider provider){
        return !(provider.getPhase().isAssignableFrom(ReportGenerationPhase.class)) && !(provider.getPhase().isAssignableFrom(ReportRenderingPhase.class)) && !(provider.getPhase().isAssignableFrom(DecompilationPhase.class))&& !(provider.getPhase().isAssignableFrom(MigrationRulesPhase.class));
      }
    }
);
    processor.execute(config);
    GraphService<IgnoredArchiveModel> archiveService=new GraphService<>(graphContext,IgnoredArchiveModel.class);
    Iterable<IgnoredArchiveModel> archives=archiveService.findAllByProperty(IgnoredArchiveModel.FILE_NAME,"String_Node_Str");
    Assert.assertTrue(archives.iterator().hasNext());
    for (    IgnoredArchiveModel archive : archives) {
      Assert.assertNotNull(archive);
      Assert.assertTrue(archive instanceof IdentifiedArchiveModel);
      ArchiveCoordinateModel archiveCoordinate=((IdentifiedArchiveModel)archive).getCoordinate();
      Assert.assertNotNull(archiveCoordinate);
      final Coordinate expected=CoordinateBuilder.create(LOG4J_COORDINATE);
      final CoordinateBuilder actual=CoordinateBuilder.create().setGroupId(archiveCoordinate.getGroupId()).setArtifactId(archiveCoordinate.getArtifactId()).setPackaging(archiveCoordinate.getPackaging()).setClassifier(archiveCoordinate.getClassifier()).setVersion(archiveCoordinate.getVersion());
      Assert.assertEquals(expected.toString(),actual.toString());
    }
  }
 }
Program: 109514
Project: 109514
Buggy source:
@Override public Class<? extends RulePhase> getPhase(){
  return PostMigrationRules.class;
}

Fixed version (ground truth):
@Override public Class<? extends RulePhase> getPhase(){
  return PostMigrationRulesPhase.class;
}
Program: 109515
Project: 109515
Buggy source:
@Override public boolean accept(WindupRuleProvider provider){
  return (provider.getPhase() != ReportGeneration.class) && (provider.getPhase() != MigrationRules.class);
}

Fixed version (ground truth):
@Override public boolean accept(WindupRuleProvider provider){
  return (provider.getPhase() != ReportGenerationPhase.class) && (provider.getPhase() != MigrationRulesPhase.class);
}
Program: 109516
Project: 109516
Buggy source:
/** 
 * The folder containing the xml file currently being parse. This should be the root folder from which any other resource lookups should be based. Eg, it may be the user scripts folder. If this is set, it should take precedent over the Addon for resource lookups.
 */
public Path getXmlInputPath(){
  return xmlInputPath;
}

Fixed version (ground truth):
/** 
 * The path to the rule xml file itself (eg, /path/to/rule.windup.xml).
 */
public Path getXmlInputPath(){
  return this.xmlInputPath;
}
Program: 109517
Project: 109517
Buggy source:
/** 
 * The folder containing the xml file currently being parse. This should be the root folder from which any other resource lookups should be based. Eg, it may be the user scripts folder. If this is set, it should take precedent over the Addon for resource lookups.
 */
public void setXmlInputPath(Path xmlInputPath){
  this.xmlInputPath=xmlInputPath;
}

Fixed version (ground truth):
/** 
 * The path to the rule xml file itself (eg, /path/to/rule.windup.xml).
 */
public void setXmlInputPath(Path xmlInputPath){
  this.xmlInputPath=xmlInputPath;
}
Program: 109519
Project: 109519
Buggy source:
private void checkForDuplicates(List<WindupRuleProvider> providers){
  Map<WindupRuleProvider,WindupRuleProvider> dupeSet=new HashMap<>(providers.size());
  for (  WindupRuleProvider provider : providers) {
    WindupRuleProvider previousProvider=dupeSet.get(provider);
    if (previousProvider != null) {
      String typeMessage;
      if (previousProvider.getClass().equals(provider.getClass())) {
        typeMessage="String_Node_Str" + Proxies.unwrapProxyClassName(provider.getClass()) + "String_Node_Str";
      }
 else {
        typeMessage="String_Node_Str" + Proxies.unwrapProxyClassName(previousProvider.getClass()) + "String_Node_Str"+ Proxies.unwrapProxyClassName(provider.getClass())+ "String_Node_Str";
      }
      throw new WindupException("String_Node_Str" + provider.getID() + typeMessage);
    }
    dupeSet.put(provider,provider);
  }
}

Fixed version (ground truth):
private void checkForDuplicates(List<WindupRuleProvider> providers){
  Map<WindupRuleProvider,WindupRuleProvider> dupeSet=new HashMap<>(providers.size());
  for (  WindupRuleProvider provider : providers) {
    WindupRuleProvider previousProvider=dupeSet.get(provider);
    if (previousProvider != null) {
      String typeMessage;
      if (previousProvider.getClass().equals(provider.getClass())) {
        typeMessage="String_Node_Str" + previousProvider.getOrigin() + "String_Node_Str"+ provider.getOrigin()+ "String_Node_Str";
      }
 else {
        typeMessage="String_Node_Str" + Proxies.unwrapProxyClassName(previousProvider.getClass()) + "String_Node_Str"+ previousProvider.getOrigin()+ "String_Node_Str"+ Proxies.unwrapProxyClassName(provider.getClass())+ "String_Node_Str"+ provider.getOrigin()+ "String_Node_Str";
      }
      throw new WindupException("String_Node_Str" + provider.getID() + typeMessage);
    }
    dupeSet.put(provider,provider);
  }
}
Program: 109521
Project: 109521
Buggy source:
XmlFilePersistXPathFunction(GraphContext graphContext,XmlFileModel xml,XmlFileEvaluationStrategy evaluationStrategy,ParameterStore store,XmlFileParameterMatchCache paramMatchCache,List<WindupVertexFrame> resultLocations){
  this.graphContext=graphContext;
  this.xml=xml;
  this.evaluationStrategy=evaluationStrategy;
  this.store=store;
  this.paramMatchCache=paramMatchCache;
  this.resultLocations=resultLocations;
}

Fixed version (ground truth):
XmlFilePersistXPathFunction(GraphRewrite event,EvaluationContext context,XmlFileModel xml,XmlFileEvaluationStrategy evaluationStrategy,ParameterStore store,XmlFileParameterMatchCache paramMatchCache,List<WindupVertexFrame> resultLocations){
  this.event=event;
  this.context=context;
  this.xml=xml;
  this.evaluationStrategy=evaluationStrategy;
  this.store=store;
  this.paramMatchCache=paramMatchCache;
  this.resultLocations=resultLocations;
}
Program: 109523
Project: 109523
Buggy source:
@Override public Configuration getConfiguration(GraphContext context){
  return ConfigurationBuilder.begin().addRule().when(Query.fromType(FileModel.class).withProperty(FileModel.IS_DIRECTORY,true)).perform(new RecurseDirectoryAndAddFiles()).addRule().when(Query.fromType(FileModel.class).withProperty(FileModel.IS_DIRECTORY,false).withProperty(FileModel.FILE_PATH,QueryPropertyComparisonType.REGEX,ZipUtil.getEndsWithZipRegularExpression())).perform(new AddArchiveReferenceInformation());
}

Fixed version (ground truth):
@Override public Configuration getConfiguration(GraphContext context){
  return ConfigurationBuilder.begin().addRule().when(Query.fromType(WindupConfigurationModel.class).piped(new QueryGremlinCriterion(){
    @Override public void query(    GraphRewrite event,    GremlinPipeline<Vertex,Vertex> pipeline){
      pipeline.out(WindupConfigurationModel.INPUT_PATH);
      pipeline.has(FileModel.IS_DIRECTORY,true);
    }
  }
)).perform(new RecurseDirectoryAndAddFiles()).addRule().when(Query.fromType(FileModel.class).withProperty(FileModel.IS_DIRECTORY,false).withProperty(FileModel.FILE_PATH,QueryPropertyComparisonType.REGEX,ZipUtil.getEndsWithZipRegularExpression())).perform(new AddArchiveReferenceInformation());
}
Program: 109525
Project: 109525
Buggy source:
@Override public void perform(GraphRewrite event,EvaluationContext context,XmlFileModel payload){
  MavenProjectModel mavenProjectModel=extractMavenProjectModel(event,payload);
  if (mavenProjectModel != null) {
    ArchiveModel archiveModel=payload.getParentArchive();
    if (archiveModel != null) {
      archiveModel.setProjectModel(mavenProjectModel);
      mavenProjectModel.setRootFileModel(archiveModel);
      for (      FileModel f : archiveModel.getContainedFileModels()) {
        if (!(f instanceof ArchiveModel) && f.getProjectModel() == null) {
          f.setProjectModel(mavenProjectModel);
          mavenProjectModel.addFileModel(f);
        }
      }
    }
 else {
      File parentFile=payload.asFile().getParentFile();
      FileModel parentFileModel=new FileService(event.getGraphContext()).findByPath(parentFile.getAbsolutePath());
      if (parentFileModel != null) {
        parentFileModel.setProjectModel(mavenProjectModel);
        mavenProjectModel.addFileModel(parentFileModel);
        mavenProjectModel.setRootFileModel(parentFileModel);
        for (        FileModel childFile : parentFileModel.getFilesInDirectory()) {
          addFilesToModel(mavenProjectModel,childFile);
        }
      }
    }
  }
}

Fixed version (ground truth):
@Override public void perform(GraphRewrite event,EvaluationContext context,XmlFileModel payload){
  MavenProjectModel mavenProjectModel=extractMavenProjectModel(event,payload);
  if (mavenProjectModel != null) {
    ArchiveModel archiveModel=payload.getParentArchive();
    if (archiveModel != null && !isAlreadyMavenProject(archiveModel)) {
      archiveModel.setProjectModel(mavenProjectModel);
      mavenProjectModel.setRootFileModel(archiveModel);
      for (      FileModel f : archiveModel.getContainedFileModels()) {
        if (!(f instanceof ArchiveModel) && f.getProjectModel() == null) {
          f.setProjectModel(mavenProjectModel);
          mavenProjectModel.addFileModel(f);
        }
      }
    }
 else {
      File parentFile=payload.asFile().getParentFile();
      FileModel parentFileModel=new FileService(event.getGraphContext()).findByPath(parentFile.getAbsolutePath());
      if (parentFileModel != null && !isAlreadyMavenProject(parentFileModel)) {
        parentFileModel.setProjectModel(mavenProjectModel);
        mavenProjectModel.addFileModel(parentFileModel);
        mavenProjectModel.setRootFileModel(parentFileModel);
        for (        FileModel childFile : parentFileModel.getFilesInDirectory()) {
          addFilesToModel(mavenProjectModel,childFile);
        }
      }
    }
  }
}
Program: 109528
Project: 109528
Buggy source:
@Override public JavaClassBuilderAt processElement(ParserContext handlerManager,Element element) throws ConfigurationException {
  String type=$(element).attr("String_Node_Str");
  String as=$(element).attr("String_Node_Str");
  if (as == null) {
    as=Iteration.DEFAULT_VARIABLE_LIST_STRING;
  }
  if (StringUtils.isBlank(type)) {
    throw new WindupException("String_Node_Str");
  }
  List<TypeReferenceLocation> locations=new ArrayList<TypeReferenceLocation>();
  List<Element> children=$(element).children("String_Node_Str").get();
  for (  Element child : children) {
    TypeReferenceLocation location=handlerManager.processElement(child);
    locations.add(location);
  }
  JavaClassBuilder javaClassReferences=JavaClass.references(type);
  String namePattern=$(element).attr("String_Node_Str");
  if (!StringUtils.isBlank(namePattern)) {
    javaClassReferences.inType(namePattern);
  }
  JavaClassBuilderAt javaClass=javaClassReferences.at(locations.toArray(new TypeReferenceLocation[locations.size()]));
  javaClass.as(as);
  return javaClass;
}

Fixed version (ground truth):
@Override public JavaClassBuilderAt processElement(ParserContext handlerManager,Element element) throws ConfigurationException {
  String type=$(element).attr(ATTR_REFERENCES);
  String as=$(element).attr("String_Node_Str");
  if (as == null) {
    as=Iteration.DEFAULT_VARIABLE_LIST_STRING;
  }
  if (StringUtils.isBlank(type)) {
    throw new WindupException("String_Node_Str" + ELEM_NAME + "String_Node_Str"+ ATTR_REFERENCES+ "String_Node_Str");
  }
  List<TypeReferenceLocation> locations=new ArrayList<TypeReferenceLocation>();
  List<Element> children=$(element).children("String_Node_Str").get();
  for (  Element child : children) {
    TypeReferenceLocation location=handlerManager.processElement(child);
    locations.add(location);
  }
  JavaClassBuilder javaClassReferences=JavaClass.references(type);
  String namePattern=$(element).attr("String_Node_Str");
  if (!StringUtils.isBlank(namePattern)) {
    javaClassReferences.inType(namePattern);
  }
  JavaClassBuilderAt javaClass=javaClassReferences.at(locations.toArray(new TypeReferenceLocation[locations.size()]));
  javaClass.as(as);
  return javaClass;
}