Program: 16416
Project: 16416
Buggy source:
private void endLineChecks(String category,List<String> loopFields,List<String> lineData,Set<String> loopWarnings) throws IOException {
  logger.debug("String_Node_Str",category,loopFields.toString());
  if (loopFields.size() != lineData.size()) {
    logger.warn("String_Node_Str");
    throw new IOException("String_Node_Str" + lineData.size() + "String_Node_Str"+ loopFields.size()+ "String_Node_Str"+ category+ "String_Node_Str"+ loopFields+ "String_Node_Str"+ lineData);
  }
  if (category.equals("String_Node_Str")) {
    Entity e=(Entity)buildObject(Entity.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewEntity(e);
  }
 else   if (category.equals("String_Node_Str")) {
    struct=(Struct)buildObject(Struct.class.getName(),loopFields,lineData,loopWarnings);
  }
 else   if (category.equals("String_Node_Str")) {
    AtomSite a=(AtomSite)buildObject(AtomSite.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewAtomSite(a);
  }
 else   if (category.equals("String_Node_Str")) {
    DatabasePDBrev dbrev=(DatabasePDBrev)buildObject(DatabasePDBrev.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewDatabasePDBrev(dbrev);
  }
 else   if (category.equals("String_Node_Str")) {
    DatabasePdbrevRecord dbrev=(DatabasePdbrevRecord)buildObject(DatabasePdbrevRecord.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewDatabasePDBrevRecord(dbrev);
  }
 else   if (category.equals("String_Node_Str")) {
    DatabasePDBremark remark=(DatabasePDBremark)buildObject(DatabasePDBremark.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewDatabasePDBremark(remark);
  }
 else   if (category.equals("String_Node_Str")) {
    Exptl exptl=(Exptl)buildObject(Exptl.class.getName(),loopFields,lineData,loopWarnings);
    triggerExptl(exptl);
  }
 else   if (category.equals("String_Node_Str")) {
    Cell cell=(Cell)buildObject(Cell.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewCell(cell);
  }
 else   if (category.equals("String_Node_Str")) {
    Symmetry symmetry=(Symmetry)buildObject(Symmetry.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewSymmetry(symmetry);
  }
 else   if (category.equals("String_Node_Str")) {
    StructNcsOper sNcsOper=null;
    try {
      sNcsOper=getStructNcsOper(loopFields,lineData);
    }
 catch (    NumberFormatException e) {
      logger.warn("String_Node_Str");
    }
    if (sNcsOper != null) {
      triggerNewStructNcsOper(sNcsOper);
    }
  }
 else   if (category.equals("String_Node_Str")) {
    StructRef sref=(StructRef)buildObject(StructRef.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewStrucRef(sref);
  }
 else   if (category.equals("String_Node_Str")) {
    StructRefSeq sref=(StructRefSeq)buildObject(StructRefSeq.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewStrucRefSeq(sref);
  }
 else   if (category.equals("String_Node_Str")) {
    StructRefSeqDif sref=(StructRefSeqDif)buildObject(StructRefSeqDif.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewStrucRefSeqDif(sref);
  }
 else   if (category.equals("String_Node_Str")) {
    StructSiteGen sref=(StructSiteGen)buildObject(StructSiteGen.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewStructSiteGen(sref);
  }
 else   if (category.equals("String_Node_Str")) {
    StructSite sref=(StructSite)buildObject(StructSite.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewStructSite(sref);
  }
 else   if (category.equals("String_Node_Str")) {
    EntityPolySeq exptl=(EntityPolySeq)buildObject(EntityPolySeq.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewEntityPolySeq(exptl);
  }
 else   if (category.equals("String_Node_Str")) {
    EntitySrcGen entitySrcGen=(EntitySrcGen)buildObject(EntitySrcGen.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewEntitySrcGen(entitySrcGen);
  }
 else   if (category.equals("String_Node_Str")) {
    EntitySrcNat entitySrcNat=(EntitySrcNat)buildObject(EntitySrcNat.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewEntitySrcNat(entitySrcNat);
  }
 else   if (category.equals("String_Node_Str")) {
    EntitySrcSyn entitySrcSyn=(EntitySrcSyn)buildObject(EntitySrcSyn.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewEntitySrcSyn(entitySrcSyn);
  }
 else   if (category.equals("String_Node_Str")) {
    StructAsym sasym=(StructAsym)buildObject(StructAsym.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewStructAsym(sasym);
  }
 else   if (category.equals("String_Node_Str")) {
    PdbxPolySeqScheme ppss=(PdbxPolySeqScheme)buildObject(PdbxPolySeqScheme.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewPdbxPolySeqScheme(ppss);
  }
 else   if (category.equals("String_Node_Str")) {
    PdbxNonPolyScheme ppss=(PdbxNonPolyScheme)buildObject(PdbxNonPolyScheme.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewPdbxNonPolyScheme(ppss);
  }
 else   if (category.equals("String_Node_Str")) {
    PdbxEntityNonPoly pen=(PdbxEntityNonPoly)buildObject(PdbxEntityNonPoly.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewPdbxEntityNonPoly(pen);
  }
 else   if (category.equals("String_Node_Str")) {
    StructKeywords kw=(StructKeywords)buildObject(StructKeywords.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewStructKeywords(kw);
  }
 else   if (category.equals("String_Node_Str")) {
    Refine r=(Refine)buildObject(Refine.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewRefine(r);
  }
 else   if (category.equals("String_Node_Str")) {
    ChemComp c=(ChemComp)buildObject(ChemComp.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewChemComp(c);
  }
 else   if (category.equals("String_Node_Str")) {
    AuditAuthor aa=(AuditAuthor)buildObject(AuditAuthor.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewAuditAuthor(aa);
  }
 else   if (category.equals("String_Node_Str")) {
    ChemCompDescriptor ccd=(ChemCompDescriptor)buildObject(ChemCompDescriptor.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewChemCompDescriptor(ccd);
  }
 else   if (category.equals("String_Node_Str")) {
    PdbxStructOperList structOper=getPdbxStructOperList(loopFields,lineData);
    triggerNewPdbxStructOper(structOper);
  }
 else   if (category.equals("String_Node_Str")) {
    PdbxStructAssembly sa=(PdbxStructAssembly)buildObject(PdbxStructAssembly.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewPdbxStructAssembly(sa);
  }
 else   if (category.equals("String_Node_Str")) {
    PdbxStructAssemblyGen sa=(PdbxStructAssemblyGen)buildObject(PdbxStructAssemblyGen.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewPdbxStructAssemblyGen(sa);
  }
 else   if (category.equals("String_Node_Str")) {
    ChemCompAtom atom=(ChemCompAtom)buildObject(ChemCompAtom.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewChemCompAtom(atom);
  }
 else   if (category.equals("String_Node_Str")) {
    ChemCompBond bond=(ChemCompBond)buildObject(ChemCompBond.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewChemCompBond(bond);
  }
 else   if (category.equals("String_Node_Str")) {
    PdbxChemCompIdentifier id=(PdbxChemCompIdentifier)buildObject(PdbxChemCompIdentifier.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewPdbxChemCompIdentifier(id);
  }
 else   if (category.equals("String_Node_Str")) {
    PdbxChemCompDescriptor id=(PdbxChemCompDescriptor)buildObject(PdbxChemCompDescriptor.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewPdbxChemCompDescriptor(id);
  }
 else   if (category.equals("String_Node_Str")) {
    StructConn id=(StructConn)buildObject(StructConn.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewStructConn(id);
  }
 else {
    logger.debug("String_Node_Str",category);
    triggerGeneric(category,loopFields,lineData);
  }
}

Fixed version (ground truth):
private void endLineChecks(String category,List<String> loopFields,List<String> lineData,Set<String> loopWarnings) throws IOException {
  logger.debug("String_Node_Str",category,loopFields.toString());
  if (loopFields.size() != lineData.size()) {
    logger.warn("String_Node_Str");
    throw new IOException("String_Node_Str" + lineData.size() + "String_Node_Str"+ loopFields.size()+ "String_Node_Str"+ category+ "String_Node_Str"+ loopFields+ "String_Node_Str"+ lineData);
  }
  if (category.equals("String_Node_Str")) {
    Entity e=(Entity)buildObject(Entity.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewEntity(e);
  }
 else   if (category.equals("String_Node_Str")) {
    EntityPoly ep=(EntityPoly)buildObject(EntityPoly.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewEntityPoly(ep);
  }
 else   if (category.equals("String_Node_Str")) {
    struct=(Struct)buildObject(Struct.class.getName(),loopFields,lineData,loopWarnings);
  }
 else   if (category.equals("String_Node_Str")) {
    AtomSite a=(AtomSite)buildObject(AtomSite.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewAtomSite(a);
  }
 else   if (category.equals("String_Node_Str")) {
    DatabasePDBrev dbrev=(DatabasePDBrev)buildObject(DatabasePDBrev.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewDatabasePDBrev(dbrev);
  }
 else   if (category.equals("String_Node_Str")) {
    DatabasePdbrevRecord dbrev=(DatabasePdbrevRecord)buildObject(DatabasePdbrevRecord.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewDatabasePDBrevRecord(dbrev);
  }
 else   if (category.equals("String_Node_Str")) {
    DatabasePDBremark remark=(DatabasePDBremark)buildObject(DatabasePDBremark.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewDatabasePDBremark(remark);
  }
 else   if (category.equals("String_Node_Str")) {
    Exptl exptl=(Exptl)buildObject(Exptl.class.getName(),loopFields,lineData,loopWarnings);
    triggerExptl(exptl);
  }
 else   if (category.equals("String_Node_Str")) {
    Cell cell=(Cell)buildObject(Cell.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewCell(cell);
  }
 else   if (category.equals("String_Node_Str")) {
    Symmetry symmetry=(Symmetry)buildObject(Symmetry.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewSymmetry(symmetry);
  }
 else   if (category.equals("String_Node_Str")) {
    StructNcsOper sNcsOper=null;
    try {
      sNcsOper=getStructNcsOper(loopFields,lineData);
    }
 catch (    NumberFormatException e) {
      logger.warn("String_Node_Str");
    }
    if (sNcsOper != null) {
      triggerNewStructNcsOper(sNcsOper);
    }
  }
 else   if (category.equals("String_Node_Str")) {
    StructRef sref=(StructRef)buildObject(StructRef.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewStrucRef(sref);
  }
 else   if (category.equals("String_Node_Str")) {
    StructRefSeq sref=(StructRefSeq)buildObject(StructRefSeq.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewStrucRefSeq(sref);
  }
 else   if (category.equals("String_Node_Str")) {
    StructRefSeqDif sref=(StructRefSeqDif)buildObject(StructRefSeqDif.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewStrucRefSeqDif(sref);
  }
 else   if (category.equals("String_Node_Str")) {
    StructSiteGen sref=(StructSiteGen)buildObject(StructSiteGen.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewStructSiteGen(sref);
  }
 else   if (category.equals("String_Node_Str")) {
    StructSite sref=(StructSite)buildObject(StructSite.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewStructSite(sref);
  }
 else   if (category.equals("String_Node_Str")) {
    EntityPolySeq exptl=(EntityPolySeq)buildObject(EntityPolySeq.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewEntityPolySeq(exptl);
  }
 else   if (category.equals("String_Node_Str")) {
    EntitySrcGen entitySrcGen=(EntitySrcGen)buildObject(EntitySrcGen.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewEntitySrcGen(entitySrcGen);
  }
 else   if (category.equals("String_Node_Str")) {
    EntitySrcNat entitySrcNat=(EntitySrcNat)buildObject(EntitySrcNat.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewEntitySrcNat(entitySrcNat);
  }
 else   if (category.equals("String_Node_Str")) {
    EntitySrcSyn entitySrcSyn=(EntitySrcSyn)buildObject(EntitySrcSyn.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewEntitySrcSyn(entitySrcSyn);
  }
 else   if (category.equals("String_Node_Str")) {
    StructAsym sasym=(StructAsym)buildObject(StructAsym.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewStructAsym(sasym);
  }
 else   if (category.equals("String_Node_Str")) {
    PdbxPolySeqScheme ppss=(PdbxPolySeqScheme)buildObject(PdbxPolySeqScheme.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewPdbxPolySeqScheme(ppss);
  }
 else   if (category.equals("String_Node_Str")) {
    PdbxNonPolyScheme ppss=(PdbxNonPolyScheme)buildObject(PdbxNonPolyScheme.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewPdbxNonPolyScheme(ppss);
  }
 else   if (category.equals("String_Node_Str")) {
    PdbxEntityNonPoly pen=(PdbxEntityNonPoly)buildObject(PdbxEntityNonPoly.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewPdbxEntityNonPoly(pen);
  }
 else   if (category.equals("String_Node_Str")) {
    StructKeywords kw=(StructKeywords)buildObject(StructKeywords.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewStructKeywords(kw);
  }
 else   if (category.equals("String_Node_Str")) {
    Refine r=(Refine)buildObject(Refine.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewRefine(r);
  }
 else   if (category.equals("String_Node_Str")) {
    ChemComp c=(ChemComp)buildObject(ChemComp.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewChemComp(c);
  }
 else   if (category.equals("String_Node_Str")) {
    AuditAuthor aa=(AuditAuthor)buildObject(AuditAuthor.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewAuditAuthor(aa);
  }
 else   if (category.equals("String_Node_Str")) {
    ChemCompDescriptor ccd=(ChemCompDescriptor)buildObject(ChemCompDescriptor.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewChemCompDescriptor(ccd);
  }
 else   if (category.equals("String_Node_Str")) {
    PdbxStructOperList structOper=getPdbxStructOperList(loopFields,lineData);
    triggerNewPdbxStructOper(structOper);
  }
 else   if (category.equals("String_Node_Str")) {
    PdbxStructAssembly sa=(PdbxStructAssembly)buildObject(PdbxStructAssembly.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewPdbxStructAssembly(sa);
  }
 else   if (category.equals("String_Node_Str")) {
    PdbxStructAssemblyGen sa=(PdbxStructAssemblyGen)buildObject(PdbxStructAssemblyGen.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewPdbxStructAssemblyGen(sa);
  }
 else   if (category.equals("String_Node_Str")) {
    ChemCompAtom atom=(ChemCompAtom)buildObject(ChemCompAtom.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewChemCompAtom(atom);
  }
 else   if (category.equals("String_Node_Str")) {
    ChemCompBond bond=(ChemCompBond)buildObject(ChemCompBond.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewChemCompBond(bond);
  }
 else   if (category.equals("String_Node_Str")) {
    PdbxChemCompIdentifier id=(PdbxChemCompIdentifier)buildObject(PdbxChemCompIdentifier.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewPdbxChemCompIdentifier(id);
  }
 else   if (category.equals("String_Node_Str")) {
    PdbxChemCompDescriptor id=(PdbxChemCompDescriptor)buildObject(PdbxChemCompDescriptor.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewPdbxChemCompDescriptor(id);
  }
 else   if (category.equals("String_Node_Str")) {
    StructConn id=(StructConn)buildObject(StructConn.class.getName(),loopFields,lineData,loopWarnings);
    triggerNewStructConn(id);
  }
 else {
    logger.debug("String_Node_Str",category);
    triggerGeneric(category,loopFields,lineData);
  }
}