Program: 183928
Project: 183928
Buggy source:
public <A extends Table<T>>A init(Class<T> clazz,String tableName){
  this.tableName=tableName;
  this.clazz=clazz;
  this.extractors=all().extractors;
  ExtractorSeq<T> extr=all();
  if (extr.map.isDefined()) {
    this.parser=DB.parser(clazz,extractors).map(extr.map.get());
  }
 else {
    this.parser=DB.parser(clazz,extractors).mapWithFieldsReflection();
  }
  System.out.println(extractors);
  selectAllStatement=C.eList(extractors).map(new Function<Extractor<?>,String>(){
    @Override public String apply(    Extractor<?> t){
      return "String_Node_Str" + t.name();
    }
  }
).mkString("String_Node_Str","String_Node_Str","String_Node_Str" + tableName + "String_Node_Str");
  findWhereStatement=C.eList(extractors).map(new Function<Extractor<?>,String>(){
    @Override public String apply(    Extractor<?> t){
      return "String_Node_Str" + t.name();
    }
  }
).mkString("String_Node_Str","String_Node_Str","String_Node_Str" + tableName + "String_Node_Str");
  selectByIdStatement=C.eList(extractors).map(new Function<Extractor<?>,String>(){
    @Override public String apply(    Extractor<?> t){
      return "String_Node_Str" + t.name();
    }
  }
).mkString("String_Node_Str","String_Node_Str","String_Node_Str" + tableName + "String_Node_Str");
  deleteAllStatement="String_Node_Str" + tableName;
  deleteStatement="String_Node_Str" + tableName + "String_Node_Str";
  createStatement=C.eList(extractors).map(new Function<Extractor<?>,String>(){
    @Override public String apply(    Extractor<?> t){
      return t.name();
    }
  }
).mkString("String_Node_Str" + tableName + "String_Node_Str","String_Node_Str","String_Node_Str");
  updateStatement="String_Node_Str" + tableName + "String_Node_Str";
  countStatement="String_Node_Str" + tableName;
  return (A)this;
}

Fixed version (ground truth):
public <A extends Table<T>>A init(Class<T> clazz,String tableName){
  this.tableName=tableName;
  this.clazz=clazz;
  this.extractors=all().extractors;
  ExtractorSeq<T> extr=all();
  if (extr.map.isDefined()) {
    this.parser=DB.parser(clazz,extractors).map(extr.map.get());
  }
 else {
    this.parser=DB.parser(clazz,extractors).mapWithFieldsReflection();
  }
  System.out.println(extractors);
  selectAllStatement=C.eList(extractors).map(new Function<Extractor<?>,String>(){
    @Override public String apply(    Extractor<?> t){
      return "String_Node_Str" + t.name();
    }
  }
).mkString("String_Node_Str","String_Node_Str","String_Node_Str" + tableName + "String_Node_Str");
  findWhereStatement=C.eList(extractors).map(new Function<Extractor<?>,String>(){
    @Override public String apply(    Extractor<?> t){
      return "String_Node_Str" + t.name();
    }
  }
).mkString("String_Node_Str","String_Node_Str","String_Node_Str" + tableName + "String_Node_Str");
  selectByIdStatement=C.eList(extractors).map(new Function<Extractor<?>,String>(){
    @Override public String apply(    Extractor<?> t){
      return "String_Node_Str" + t.name();
    }
  }
).mkString("String_Node_Str","String_Node_Str","String_Node_Str" + tableName + "String_Node_Str");
  deleteAllStatement="String_Node_Str" + tableName;
  deleteStatement="String_Node_Str" + tableName + "String_Node_Str";
  createStatement=C.eList(extractors).map(new Function<Extractor<?>,String>(){
    @Override public String apply(    Extractor<?> t){
      return t.name();
    }
  }
).mkString("String_Node_Str" + tableName + "String_Node_Str","String_Node_Str","String_Node_Str");
  updateStatement="String_Node_Str" + tableName + "String_Node_Str";
  countStatement="String_Node_Str" + tableName;
  ddlDelete="String_Node_Str" + tableName + "String_Node_Str";
  return (A)this;
}