Program: 83174
Project: 83174
Buggy source:
private void generateAsynchronousProxyMethod(SourceWriter w,JMethod method){
  JType returnType=method.getReturnType();
  JParameter[] params=method.getParameters();
  NameFactory nameFactory=new NameFactory();
  for (int i=0; i < params.length; ++i) {
    nameFactory.addName(params[i].getName());
  }
  w.println();
  w.print("String_Node_Str" + method.getName() + "String_Node_Str");
  int i;
  for (i=0; i < params.length; i++) {
    JParameter param=params[i];
    w.print((i > 0 ? "String_Node_Str" : "String_Node_Str") + getJavaTypeName(param.getType()) + "String_Node_Str"+ param.getName());
  }
  w.println((i > 0 ? "String_Node_Str" : "String_Node_Str") + AsyncCallback.class.getName() + "String_Node_Str");
  w.indent();
  w.println("String_Node_Str" + SERIALIZATION_STREAM_READER_INSTANTIATION);
  w.println("String_Node_Str" + SERIALIZATION_STREAM_WRITER_INSTANTIATION);
  w.println("String_Node_Str");
  w.indent();
{
    w.print("String_Node_Str" + method.getName() + "String_Node_Str");
    for (i=0; i < params.length; i++) {
      w.print("String_Node_Str" + params[i].getName());
    }
    w.println("String_Node_Str");
  }
  w.outdent();
  String exceptionName=nameFactory.createName("String_Node_Str");
  w.println("String_Node_Str" + SerializationException.class.getName() + "String_Node_Str"+ exceptionName+ "String_Node_Str");
  w.indentln("String_Node_Str" + InvocationException.class.getName() + "String_Node_Str"+ exceptionName+ "String_Node_Str");
  w.indentln("String_Node_Str");
  w.println("String_Node_Str");
  w.println(ResponseTextHandler.class.getName() + "String_Node_Str" + ResponseTextHandler.class.getName()+ "String_Node_Str");
  w.indent();
{
    w.println("String_Node_Str");
    w.indent();
{
      w.println("String_Node_Str");
      w.println("String_Node_Str");
      w.indent();
{
        w.println("String_Node_Str");
      }
      w.outdent();
      w.println("String_Node_Str");
      w.indent();
{
        w.println("String_Node_Str");
      }
      w.outdent();
    }
    w.outdent();
    w.println("String_Node_Str");
    w.println("String_Node_Str");
    w.indent();
{
      w.println("String_Node_Str");
      w.indent();
{
        w.println("String_Node_Str");
      }
      w.outdent();
      w.println("String_Node_Str");
      w.indent();
{
        w.println("String_Node_Str");
      }
      w.outdent();
      w.println("String_Node_Str");
    }
    w.outdent();
    w.println("String_Node_Str");
    w.println("String_Node_Str");
    w.indent();
{
      w.println("String_Node_Str");
      w.println("String_Node_Str");
      w.println("String_Node_Str");
      w.indent();
{
        w.println("String_Node_Str");
        w.indent();
{
          w.println("String_Node_Str");
          w.print("String_Node_Str");
          JPrimitiveType primitive=returnType.isPrimitive();
          if (primitive == JPrimitiveType.VOID) {
            w.print("String_Node_Str");
          }
 else {
            if (primitive != null) {
              w.print("String_Node_Str");
              w.print(getObjectWrapperName(primitive));
              w.print("String_Node_Str");
              generateDecodeCall(w,returnType);
              w.print("String_Node_Str");
            }
 else {
              generateDecodeCall(w,returnType);
            }
          }
          w.println("String_Node_Str");
        }
        w.outdent();
        w.println("String_Node_Str");
        w.indent();
{
          w.println("String_Node_Str");
          w.println("String_Node_Str");
        }
        w.outdent();
        w.println("String_Node_Str");
        w.indent();
{
          w.println("String_Node_Str" + InvocationException.class.getName() + "String_Node_Str");
        }
        w.outdent();
        w.println("String_Node_Str");
      }
      w.outdent();
      w.println("String_Node_Str");
      w.indent();
{
        w.println("String_Node_Str");
      }
      w.outdent();
      w.println("String_Node_Str");
      w.println("String_Node_Str");
      w.indent();
{
        w.println("String_Node_Str");
      }
      w.outdent();
      w.println("String_Node_Str");
      w.indent();
{
        w.println("String_Node_Str");
      }
      w.outdent();
    }
    w.outdent();
    w.println("String_Node_Str");
  }
  w.outdent();
  w.println("String_Node_Str");
  w.println("String_Node_Str");
  w.indentln("String_Node_Str" + InvocationException.class.getName() + "String_Node_Str");
  w.outdent();
  w.println("String_Node_Str");
}

Fixed version (ground truth):
private void generateAsynchronousProxyMethod(SourceWriter w,JMethod method){
  JType returnType=method.getReturnType();
  JParameter[] params=method.getParameters();
  NameFactory nameFactory=new NameFactory();
  for (int i=0; i < params.length; ++i) {
    nameFactory.addName(params[i].getName());
  }
  w.println();
  w.print("String_Node_Str" + method.getName() + "String_Node_Str");
  int i;
  for (i=0; i < params.length; i++) {
    JParameter param=params[i];
    w.print((i > 0 ? "String_Node_Str" : "String_Node_Str") + getJavaTypeName(param.getType()) + "String_Node_Str"+ param.getName());
  }
  w.println((i > 0 ? "String_Node_Str" : "String_Node_Str") + AsyncCallback.class.getName() + "String_Node_Str");
  w.indent();
  w.println("String_Node_Str" + SERIALIZATION_STREAM_READER_INSTANTIATION);
  w.println("String_Node_Str" + SERIALIZATION_STREAM_WRITER_INSTANTIATION);
  w.println("String_Node_Str");
  w.indent();
{
    w.print("String_Node_Str" + method.getName() + "String_Node_Str");
    for (i=0; i < params.length; i++) {
      w.print("String_Node_Str" + params[i].getName());
    }
    w.println("String_Node_Str");
  }
  w.outdent();
  String exceptionName=nameFactory.createName("String_Node_Str");
  w.println("String_Node_Str" + SerializationException.class.getName() + "String_Node_Str"+ exceptionName+ "String_Node_Str");
  w.indentln("String_Node_Str" + exceptionName + "String_Node_Str");
  w.indentln("String_Node_Str");
  w.println("String_Node_Str");
  w.println(ResponseTextHandler.class.getName() + "String_Node_Str" + ResponseTextHandler.class.getName()+ "String_Node_Str");
  w.indent();
{
    w.println("String_Node_Str");
    w.indent();
{
      w.println("String_Node_Str");
      w.println("String_Node_Str");
      w.indent();
{
        w.println("String_Node_Str");
      }
      w.outdent();
      w.println("String_Node_Str");
      w.indent();
{
        w.println("String_Node_Str");
      }
      w.outdent();
    }
    w.outdent();
    w.println("String_Node_Str");
    w.println("String_Node_Str");
    w.indent();
{
      w.println("String_Node_Str");
      w.indent();
{
        w.println("String_Node_Str");
      }
      w.outdent();
      w.println("String_Node_Str");
      w.indent();
{
        w.println("String_Node_Str");
      }
      w.outdent();
      w.println("String_Node_Str");
    }
    w.outdent();
    w.println("String_Node_Str");
    w.println("String_Node_Str");
    w.indent();
{
      w.println("String_Node_Str");
      w.println("String_Node_Str");
      w.println("String_Node_Str");
      w.indent();
{
        w.println("String_Node_Str");
        w.indent();
{
          w.println("String_Node_Str");
          w.print("String_Node_Str");
          JPrimitiveType primitive=returnType.isPrimitive();
          if (primitive == JPrimitiveType.VOID) {
            w.print("String_Node_Str");
          }
 else {
            if (primitive != null) {
              w.print("String_Node_Str");
              w.print(getObjectWrapperName(primitive));
              w.print("String_Node_Str");
              generateDecodeCall(w,returnType);
              w.print("String_Node_Str");
            }
 else {
              generateDecodeCall(w,returnType);
            }
          }
          w.println("String_Node_Str");
        }
        w.outdent();
        w.println("String_Node_Str");
        w.indent();
{
          w.println("String_Node_Str");
          w.println("String_Node_Str");
        }
        w.outdent();
        w.println("String_Node_Str");
        w.indent();
{
          w.println("String_Node_Str" + InvocationException.class.getName() + "String_Node_Str");
        }
        w.outdent();
        w.println("String_Node_Str");
      }
      w.outdent();
      w.println("String_Node_Str" + SerializationException.class.getName() + "String_Node_Str");
      w.indent();
{
        w.println("String_Node_Str" + IncompatibleRemoteServiceException.class.getName() + "String_Node_Str");
      }
      w.outdent();
      w.println("String_Node_Str");
      w.indent();
{
        w.println("String_Node_Str");
      }
      w.outdent();
      w.println("String_Node_Str");
      w.println("String_Node_Str");
      w.indent();
{
        w.println("String_Node_Str");
      }
      w.outdent();
      w.println("String_Node_Str");
      w.indent();
{
        w.println("String_Node_Str");
      }
      w.outdent();
    }
    w.outdent();
    w.println("String_Node_Str");
  }
  w.outdent();
  w.println("String_Node_Str");
  w.println("String_Node_Str");
  w.indentln("String_Node_Str" + InvocationException.class.getName() + "String_Node_Str");
  w.outdent();
  w.println("String_Node_Str");
}