Program: 80704
Project: 80704
Buggy source:
@Test public void testValidJavaTypeParams() throws Exception {
  ClassModel model=new GeneratorHelper().generateClass(MethodWithValidJavaTypeParams.class);
  assertEquals(4,model.getMethods().size());
  MethodInfo method=model.getMethods().get(0);
  checkMethod(method,"String_Node_Str",4,"String_Node_Str",MethodKind.OTHER);
  List<ParamInfo> params=method.getParams();
  checkParam(params.get(0),"String_Node_Str",new TypeLiteral<Socket>(){
  }
);
  checkParam(params.get(1),"String_Node_Str",new TypeLiteral<List<Socket>>(){
  }
);
  checkParam(params.get(2),"String_Node_Str",new TypeLiteral<Set<Socket>>(){
  }
);
  checkParam(params.get(3),"String_Node_Str",new TypeLiteral<Map<String,Socket>>(){
  }
);
  assertTrue(method.isContainingAnyJavaType());
  method=model.getMethods().get(1);
  checkMethod(method,"String_Node_Str",4,"String_Node_Str",MethodKind.HANDLER);
  params=method.getParams();
  checkParam(params.get(0),"String_Node_Str",new TypeLiteral<Handler<Socket>>(){
  }
);
  checkParam(params.get(1),"String_Node_Str",new TypeLiteral<Handler<List<Socket>>>(){
  }
);
  checkParam(params.get(2),"String_Node_Str",new TypeLiteral<Handler<Set<Socket>>>(){
  }
);
  checkParam(params.get(3),"String_Node_Str",new TypeLiteral<Handler<Map<String,Socket>>>(){
  }
);
  assertTrue(method.isContainingAnyJavaType());
  method=model.getMethods().get(2);
  checkMethod(method,"String_Node_Str",4,"String_Node_Str",MethodKind.FUTURE);
  params=method.getParams();
  checkParam(params.get(0),"String_Node_Str",new TypeLiteral<Handler<AsyncResult<Socket>>>(){
  }
);
  checkParam(params.get(1),"String_Node_Str",new TypeLiteral<Handler<AsyncResult<List<Socket>>>>(){
  }
);
  checkParam(params.get(2),"String_Node_Str",new TypeLiteral<Handler<AsyncResult<Set<Socket>>>>(){
  }
);
  checkParam(params.get(3),"String_Node_Str",new TypeLiteral<Handler<AsyncResult<Map<String,Socket>>>>(){
  }
);
  assertTrue(method.isContainingAnyJavaType());
  method=model.getMethods().get(3);
  checkMethod(method,"String_Node_Str",4,"String_Node_Str",MethodKind.OTHER);
  params=method.getParams();
  checkParam(params.get(0),"String_Node_Str",new TypeLiteral<Function<Socket,Socket>>(){
  }
);
  checkParam(params.get(1),"String_Node_Str",new TypeLiteral<Function<List<Socket>,List<Socket>>>(){
  }
);
  checkParam(params.get(2),"String_Node_Str",new TypeLiteral<Function<Set<Socket>,Set<Socket>>>(){
  }
);
  checkParam(params.get(3),"String_Node_Str",new TypeLiteral<Function<Map<String,Socket>,Map<String,Socket>>>(){
  }
);
  assertTrue(method.isContainingAnyJavaType());
}

Fixed version (ground truth):
@Test public void testValidJavaTypeParams() throws Exception {
  ClassModel model=new GeneratorHelper().generateClass(MethodWithValidJavaTypeParams.class);
  assertEquals(5,model.getMethods().size());
  MethodInfo method=model.getMethods().get(0);
  checkMethod(method,"String_Node_Str",4,"String_Node_Str",MethodKind.OTHER);
  List<ParamInfo> params=method.getParams();
  checkParam(params.get(0),"String_Node_Str",new TypeLiteral<Socket>(){
  }
);
  checkParam(params.get(1),"String_Node_Str",new TypeLiteral<List<Socket>>(){
  }
);
  checkParam(params.get(2),"String_Node_Str",new TypeLiteral<Set<Socket>>(){
  }
);
  checkParam(params.get(3),"String_Node_Str",new TypeLiteral<Map<String,Socket>>(){
  }
);
  assertTrue(method.isContainingAnyJavaType());
  method=model.getMethods().get(1);
  checkMethod(method,"String_Node_Str",4,"String_Node_Str",MethodKind.HANDLER);
  params=method.getParams();
  checkParam(params.get(0),"String_Node_Str",new TypeLiteral<Handler<Socket>>(){
  }
);
  checkParam(params.get(1),"String_Node_Str",new TypeLiteral<Handler<List<Socket>>>(){
  }
);
  checkParam(params.get(2),"String_Node_Str",new TypeLiteral<Handler<Set<Socket>>>(){
  }
);
  checkParam(params.get(3),"String_Node_Str",new TypeLiteral<Handler<Map<String,Socket>>>(){
  }
);
  assertTrue(method.isContainingAnyJavaType());
  method=model.getMethods().get(2);
  checkMethod(method,"String_Node_Str",4,"String_Node_Str",MethodKind.FUTURE);
  params=method.getParams();
  checkParam(params.get(0),"String_Node_Str",new TypeLiteral<Handler<AsyncResult<Socket>>>(){
  }
);
  checkParam(params.get(1),"String_Node_Str",new TypeLiteral<Handler<AsyncResult<List<Socket>>>>(){
  }
);
  checkParam(params.get(2),"String_Node_Str",new TypeLiteral<Handler<AsyncResult<Set<Socket>>>>(){
  }
);
  checkParam(params.get(3),"String_Node_Str",new TypeLiteral<Handler<AsyncResult<Map<String,Socket>>>>(){
  }
);
  assertTrue(method.isContainingAnyJavaType());
  method=model.getMethods().get(3);
  checkMethod(method,"String_Node_Str",4,"String_Node_Str",MethodKind.OTHER);
  params=method.getParams();
  checkParam(params.get(0),"String_Node_Str",new TypeLiteral<Function<Socket,Socket>>(){
  }
);
  checkParam(params.get(1),"String_Node_Str",new TypeLiteral<Function<List<Socket>,List<Socket>>>(){
  }
);
  checkParam(params.get(2),"String_Node_Str",new TypeLiteral<Function<Set<Socket>,Set<Socket>>>(){
  }
);
  checkParam(params.get(3),"String_Node_Str",new TypeLiteral<Function<Map<String,Socket>,Map<String,Socket>>>(){
  }
);
  assertTrue(method.isContainingAnyJavaType());
  method=model.getMethods().get(4);
  checkMethod(method,"String_Node_Str",1,"String_Node_Str",MethodKind.OTHER);
  params=method.getParams();
  checkParam(params.get(0),"String_Node_Str",new TypeLiteral<Iterable<String>>(){
  }
);
  assertTrue(method.isContainingAnyJavaType());
}