Program: 185605
Project: 185605
Buggy source:
private void initializeMembers(){
  if (jdtBinding instanceof SourceTypeBinding) {
    SourceTypeBinding sourceType=(SourceTypeBinding)jdtBinding;
    if (sourceType.scope != null) {
      TypeDeclaration typeDecl=sourceType.scope.referenceContext;
      if (typeDecl instanceof GroovyTypeDeclaration) {
        groovyDecl=typeDecl;
      }
    }
  }
  if (redirect != null) {
    return;
  }
  MethodBinding[] bindings=null;
  if (jdtBinding instanceof ParameterizedTypeBinding) {
    ReferenceBinding genericType=((ParameterizedTypeBinding)jdtBinding).genericType();
    bindings=genericType.methods();
  }
 else {
    bindings=jdtBinding.methods();
  }
  if (bindings != null) {
    for (int i=0; i < bindings.length; i++) {
      if (bindings[i].isConstructor()) {
        ConstructorNode cNode=constructorBindingToConstructorNode(bindings[i]);
        addConstructor(cNode);
      }
 else {
        MethodNode mNode=methodBindingToMethodNode(bindings[i]);
        addMethod(mNode);
      }
    }
  }
  if (jdtBinding instanceof BinaryTypeBinding) {
    MethodBinding[] infraBindings=((BinaryTypeBinding)jdtBinding).infraMethods();
    for (int i=0; i < infraBindings.length; i++) {
      if (infraBindings[i].isConstructor()) {
        ConstructorNode cNode=constructorBindingToConstructorNode(infraBindings[i]);
        addConstructor(cNode);
      }
 else {
        MethodNode mNode=methodBindingToMethodNode(infraBindings[i]);
        addMethod(mNode);
      }
    }
  }
  if (jdtBinding instanceof SourceTypeBinding) {
    SourceTypeBinding jdtSourceTypeBinding=(SourceTypeBinding)jdtBinding;
    ClassScope classScope=jdtSourceTypeBinding.scope;
    if (classScope != null) {
      CompilationUnitScope cuScope=classScope.compilationUnitScope();
      LookupEnvironment environment=classScope.environment();
      MethodVerifier verifier=environment.methodVerifier();
      cuScope.verifyMethods(verifier);
    }
    SyntheticMethodBinding[] syntheticMethodBindings=((SourceTypeBinding)jdtBinding).syntheticMethods();
    if (syntheticMethodBindings != null) {
      for (int i=0; i < syntheticMethodBindings.length; i++) {
        if (syntheticMethodBindings[i].isConstructor()) {
          ConstructorNode cNode=constructorBindingToConstructorNode(bindings[i]);
          addConstructor(cNode);
        }
 else {
          MethodNode mNode=methodBindingToMethodNode(syntheticMethodBindings[i]);
          addMethod(mNode);
        }
      }
    }
  }
  FieldBinding[] fieldBindings=null;
  if (jdtBinding instanceof ParameterizedTypeBinding) {
    fieldBindings=((ParameterizedTypeBinding)jdtBinding).genericType().fields();
  }
 else {
    fieldBindings=jdtBinding.fields();
  }
  if (fieldBindings != null) {
    for (int i=0; i < fieldBindings.length; i++) {
      FieldNode fNode=fieldBindingToFieldNode(fieldBindings[i],groovyDecl);
      addField(fNode);
    }
  }
}

Fixed version (ground truth):
private void initializeMembers(){
  if (jdtBinding instanceof SourceTypeBinding) {
    SourceTypeBinding sourceType=(SourceTypeBinding)jdtBinding;
    if (sourceType.scope != null) {
      TypeDeclaration typeDecl=sourceType.scope.referenceContext;
      if (typeDecl instanceof GroovyTypeDeclaration) {
        groovyDecl=typeDecl;
      }
    }
  }
  if (redirect != null) {
    return;
  }
  MethodBinding[] methodBindings;
  if (jdtBinding instanceof ParameterizedTypeBinding) {
    ReferenceBinding genericType=((ParameterizedTypeBinding)jdtBinding).genericType();
    methodBindings=genericType.methods();
  }
 else {
    methodBindings=jdtBinding.methods();
  }
  if (methodBindings != null) {
    for (    MethodBinding methodBinding : methodBindings) {
      if (methodBinding.isConstructor()) {
        ConstructorNode cNode=constructorBindingToConstructorNode(methodBinding);
        addConstructor(cNode);
      }
 else {
        MethodNode mNode=methodBindingToMethodNode(methodBinding);
        addMethod(mNode);
      }
    }
  }
  if (jdtBinding instanceof BinaryTypeBinding) {
    MethodBinding[] infraBindings=((BinaryTypeBinding)jdtBinding).infraMethods();
    for (    MethodBinding methodBinding : infraBindings) {
      if (methodBinding.isConstructor()) {
        ConstructorNode cNode=constructorBindingToConstructorNode(methodBinding);
        addConstructor(cNode);
      }
 else {
        MethodNode mNode=methodBindingToMethodNode(methodBinding);
        addMethod(mNode);
      }
    }
  }
 else   if (jdtBinding instanceof SourceTypeBinding) {
    SourceTypeBinding jdtSourceTypeBinding=(SourceTypeBinding)jdtBinding;
    ClassScope classScope=jdtSourceTypeBinding.scope;
    if (classScope != null) {
      CompilationUnitScope cuScope=classScope.compilationUnitScope();
      LookupEnvironment environment=classScope.environment();
      MethodVerifier verifier=environment.methodVerifier();
      cuScope.verifyMethods(verifier);
    }
    if (jdtSourceTypeBinding.isPrototype()) {
      SyntheticMethodBinding[] syntheticMethodBindings=jdtSourceTypeBinding.syntheticMethods();
      if (syntheticMethodBindings != null) {
        for (        SyntheticMethodBinding syntheticBinding : syntheticMethodBindings) {
          if (syntheticBinding.isConstructor()) {
            ConstructorNode cNode=constructorBindingToConstructorNode(syntheticBinding);
            addConstructor(cNode);
          }
 else {
            MethodNode mNode=methodBindingToMethodNode(syntheticBinding);
            addMethod(mNode);
          }
        }
      }
    }
  }
  FieldBinding[] fieldBindings;
  if (jdtBinding instanceof ParameterizedTypeBinding) {
    fieldBindings=((ParameterizedTypeBinding)jdtBinding).genericType().fields();
  }
 else {
    fieldBindings=jdtBinding.fields();
  }
  if (fieldBindings != null) {
    for (    FieldBinding fieldBinding : fieldBindings) {
      FieldNode fNode=fieldBindingToFieldNode(fieldBinding,groovyDecl);
      addField(fNode);
    }
  }
}