Program: 57498
Project: 57498
Buggy source:
@Override public void createIDTypesAndMapping(){
  IDCategory geneIDCategory=IDCategory.registerCategory(EGeneIDTypes.GENE.name());
  IDType david=IDType.registerType(EGeneIDTypes.DAVID.name(),geneIDCategory,EGeneIDTypes.DAVID.getColumnType());
  IDType.registerType(EGeneIDTypes.GENE_NAME.name(),geneIDCategory,EGeneIDTypes.GENE_NAME.getColumnType());
  IDType geneSymbol=IDType.registerType(EGeneIDTypes.GENE_SYMBOL.name(),geneIDCategory,EGeneIDTypes.GENE_SYMBOL.getColumnType());
  geneIDCategory.setHumanReadableIDType(geneSymbol);
  IDType.registerType(EGeneIDTypes.BIOCARTA_GENE_ID.name(),geneIDCategory,EGeneIDTypes.BIOCARTA_GENE_ID.getColumnType());
  IDType.registerType(EGeneIDTypes.REFSEQ_MRNA.name(),geneIDCategory,EGeneIDTypes.REFSEQ_MRNA.getColumnType());
  IDType.registerType(EGeneIDTypes.ENSEMBL_GENE_ID.name(),geneIDCategory,EGeneIDTypes.ENSEMBL_GENE_ID.getColumnType());
  IDType.registerType(EGeneIDTypes.ENTREZ_GENE_ID.name(),geneIDCategory,EGeneIDTypes.ENTREZ_GENE_ID.getColumnType());
  IDType.registerType(EGeneIDTypes.PATHWAY_VERTEX.name(),geneIDCategory,EGeneIDTypes.PATHWAY_VERTEX.getColumnType());
  IDType.registerType(EGeneIDTypes.PATHWAY.name(),geneIDCategory,EGeneIDTypes.PATHWAY.getColumnType());
  geneIDCategory.setPrimaryMappingType(david);
  geneIDCategory.setHumanReadableIDType(geneSymbol);
  geneIDCategory.setDenomination("String_Node_Str");
  String fileName="String_Node_Str" + GeneralManager.get().getBasicInfo().getOrganism();
  IDMappingParser.loadMapping(fileName + "String_Node_Str",0,-1,IDType.getIDType("String_Node_Str"),IDType.getIDType("String_Node_Str"),"String_Node_Str",geneIDCategory,true,true,false,null,null);
  IDMappingParser.loadMapping(fileName + "String_Node_Str",0,-1,IDType.getIDType("String_Node_Str"),IDType.getIDType("String_Node_Str"),"String_Node_Str",geneIDCategory,false,true,false,null,null);
  IDMappingParser.loadMapping(fileName + "String_Node_Str",0,-1,IDType.getIDType("String_Node_Str"),IDType.getIDType("String_Node_Str"),"String_Node_Str",geneIDCategory,false,true,false,null,null);
  IDMappingParser.loadMapping(fileName + "String_Node_Str",0,-1,IDType.getIDType("String_Node_Str"),IDType.getIDType("String_Node_Str"),"String_Node_Str",geneIDCategory,false,true,false,null,null);
  if (GeneralManager.get().getBasicInfo().getOrganism() == Organism.MUS_MUSCULUS) {
    IDMappingParser.loadMapping(fileName + "String_Node_Str",0,-1,IDType.getIDType("String_Node_Str"),IDType.getIDType("String_Node_Str"),"String_Node_Str",geneIDCategory,false,true,false,null,null);
  }
 else {
    IDMappingParser.loadMapping("String_Node_Str" + Organism.HOMO_SAPIENS + "String_Node_Str",0,-1,IDType.getIDType("String_Node_Str"),IDType.getIDType("String_Node_Str"),"String_Node_Str",geneIDCategory,true,true,true,IDType.getIDType("String_Node_Str"),IDType.getIDType("String_Node_Str"));
  }
  IDMappingParser.loadMapping("String_Node_Str" + GeneralManager.get().getBasicInfo().getOrganism() + "String_Node_Str",0,-1,IDType.getIDType("String_Node_Str"),IDType.getIDType("String_Node_Str"),"String_Node_Str",geneIDCategory,true,true,true,IDType.getIDType("String_Node_Str"),IDType.getIDType("String_Node_Str"));
  IDCategory sampleIDCategory=IDCategory.registerCategory("String_Node_Str");
  IDType sampleID=IDType.registerType("String_Node_Str",sampleIDCategory,EDataType.STRING);
  sampleIDCategory.setHumanReadableIDType(sampleID);
  IDCategory tcgaSampleIDCategory=IDCategory.registerCategory("String_Node_Str");
  IDType tcgaSample=IDType.registerType("String_Node_Str",tcgaSampleIDCategory,EDataType.STRING);
  IDTypeParsingRules tcgaIDTypeParsingRules=new IDTypeParsingRules();
  tcgaIDTypeParsingRules.setReplacementExpression("String_Node_Str","String_Node_Str");
  tcgaIDTypeParsingRules.setSubStringExpression("String_Node_Str");
  tcgaIDTypeParsingRules.setDefault(true);
  tcgaSample.setIdTypeParsingRules(tcgaIDTypeParsingRules);
  tcgaSampleIDCategory.setHumanReadableIDType(tcgaSample);
  if (!GeneralManager.get().isDryMode())   DataDomainManager.get().createDataDomain("String_Node_Str");
}

Fixed version (ground truth):
@Override public void createIDTypesAndMapping(){
  if (isAlreadyInitialized)   return;
  isAlreadyInitialized=true;
  IDCategory geneIDCategory=IDCategory.registerCategory(EGeneIDTypes.GENE.name());
  IDType david=IDType.registerType(EGeneIDTypes.DAVID.name(),geneIDCategory,EGeneIDTypes.DAVID.getColumnType());
  IDType.registerType(EGeneIDTypes.GENE_NAME.name(),geneIDCategory,EGeneIDTypes.GENE_NAME.getColumnType());
  IDType geneSymbol=IDType.registerType(EGeneIDTypes.GENE_SYMBOL.name(),geneIDCategory,EGeneIDTypes.GENE_SYMBOL.getColumnType());
  geneIDCategory.setHumanReadableIDType(geneSymbol);
  IDType.registerType(EGeneIDTypes.BIOCARTA_GENE_ID.name(),geneIDCategory,EGeneIDTypes.BIOCARTA_GENE_ID.getColumnType());
  IDType.registerType(EGeneIDTypes.REFSEQ_MRNA.name(),geneIDCategory,EGeneIDTypes.REFSEQ_MRNA.getColumnType());
  IDType.registerType(EGeneIDTypes.ENSEMBL_GENE_ID.name(),geneIDCategory,EGeneIDTypes.ENSEMBL_GENE_ID.getColumnType());
  IDType.registerType(EGeneIDTypes.ENTREZ_GENE_ID.name(),geneIDCategory,EGeneIDTypes.ENTREZ_GENE_ID.getColumnType());
  IDType.registerType(EGeneIDTypes.PATHWAY_VERTEX.name(),geneIDCategory,EGeneIDTypes.PATHWAY_VERTEX.getColumnType());
  IDType.registerType(EGeneIDTypes.PATHWAY.name(),geneIDCategory,EGeneIDTypes.PATHWAY.getColumnType());
  geneIDCategory.setPrimaryMappingType(david);
  geneIDCategory.setHumanReadableIDType(geneSymbol);
  geneIDCategory.setDenomination("String_Node_Str");
  String fileName="String_Node_Str" + GeneralManager.get().getBasicInfo().getOrganism();
  IDMappingParser.loadMapping(fileName + "String_Node_Str",0,-1,IDType.getIDType("String_Node_Str"),IDType.getIDType("String_Node_Str"),"String_Node_Str",geneIDCategory,true,true,false,null,null);
  IDMappingParser.loadMapping(fileName + "String_Node_Str",0,-1,IDType.getIDType("String_Node_Str"),IDType.getIDType("String_Node_Str"),"String_Node_Str",geneIDCategory,false,true,false,null,null);
  IDMappingParser.loadMapping(fileName + "String_Node_Str",0,-1,IDType.getIDType("String_Node_Str"),IDType.getIDType("String_Node_Str"),"String_Node_Str",geneIDCategory,false,true,false,null,null);
  IDMappingParser.loadMapping(fileName + "String_Node_Str",0,-1,IDType.getIDType("String_Node_Str"),IDType.getIDType("String_Node_Str"),"String_Node_Str",geneIDCategory,false,true,false,null,null);
  if (GeneralManager.get().getBasicInfo().getOrganism() == Organism.MUS_MUSCULUS) {
    IDMappingParser.loadMapping(fileName + "String_Node_Str",0,-1,IDType.getIDType("String_Node_Str"),IDType.getIDType("String_Node_Str"),"String_Node_Str",geneIDCategory,false,true,false,null,null);
  }
 else {
    IDMappingParser.loadMapping("String_Node_Str" + Organism.HOMO_SAPIENS + "String_Node_Str",0,-1,IDType.getIDType("String_Node_Str"),IDType.getIDType("String_Node_Str"),"String_Node_Str",geneIDCategory,true,true,true,IDType.getIDType("String_Node_Str"),IDType.getIDType("String_Node_Str"));
  }
  IDMappingParser.loadMapping("String_Node_Str" + GeneralManager.get().getBasicInfo().getOrganism() + "String_Node_Str",0,-1,IDType.getIDType("String_Node_Str"),IDType.getIDType("String_Node_Str"),"String_Node_Str",geneIDCategory,true,true,true,IDType.getIDType("String_Node_Str"),IDType.getIDType("String_Node_Str"));
  IDCategory sampleIDCategory=IDCategory.registerCategory("String_Node_Str");
  IDType sampleID=IDType.registerType("String_Node_Str",sampleIDCategory,EDataType.STRING);
  sampleIDCategory.setHumanReadableIDType(sampleID);
  IDCategory tcgaSampleIDCategory=IDCategory.registerCategory("String_Node_Str");
  IDType tcgaSample=IDType.registerType("String_Node_Str",tcgaSampleIDCategory,EDataType.STRING);
  IDTypeParsingRules tcgaIDTypeParsingRules=new IDTypeParsingRules();
  tcgaIDTypeParsingRules.setReplacementExpression("String_Node_Str","String_Node_Str");
  tcgaIDTypeParsingRules.setSubStringExpression("String_Node_Str");
  tcgaIDTypeParsingRules.setDefault(true);
  tcgaSample.setIdTypeParsingRules(tcgaIDTypeParsingRules);
  tcgaSampleIDCategory.setHumanReadableIDType(tcgaSample);
  if (!GeneralManager.get().isDryMode())   DataDomainManager.get().createDataDomain("String_Node_Str");
}