Program: 56896
Project: 56896
Buggy source:
/** 
 * Reacts on the elements of the entry tag. An example entry tag looks like this: <entry id="1" name="ec:1.8.4.1" type="enzyme" reaction="rn:R01292" link="http://www.genome.jp/dbget-bin/www_bget?enzyme+1.8.4.1">
 */
protected void handleEntryTag(){
  int entryId=0;
  String name="String_Node_Str";
  String type="String_Node_Str";
  String externalLink="String_Node_Str";
  currentReactionName=null;
  for (int attributeIndex=0; attributeIndex < attributes.getLength(); attributeIndex++) {
    attributeName=attributes.getLocalName(attributeIndex);
    if ("String_Node_Str".equals(attributeName)) {
      attributeName=attributes.getQName(attributeIndex);
    }
    if (attributeName.equals("String_Node_Str")) {
      entryId=Integer.valueOf(attributes.getValue(attributeIndex)).intValue();
    }
 else     if (attributeName.equals("String_Node_Str")) {
      name=attributes.getValue(attributeIndex);
    }
 else     if (attributeName.equals("String_Node_Str")) {
      type=attributes.getValue(attributeIndex);
    }
 else     if (attributeName.equals("String_Node_Str")) {
      externalLink=attributes.getValue(attributeIndex);
    }
 else     if (attributeName.equals("String_Node_Str")) {
      currentReactionName=attributes.getValue(attributeIndex);
    }
  }
  currentEntryId=entryId;
  currentVertices.clear();
  if (type.equals("String_Node_Str")) {
    StringTokenizer tokenText=new StringTokenizer(name,"String_Node_Str");
    Set<Integer> davidIDs=null;
    String vertexName="String_Node_Str";
    Set<Integer> mappingDavidIDs=new HashSet<Integer>();
    while (tokenText.hasMoreTokens()) {
      vertexName=tokenText.nextToken();
      String entrezID=vertexName.substring(4);
      if (entrezID.isEmpty()) {
        continue;
      }
      IDMappingManager genomeIdManager=((PathwayDataDomain)DataDomainManager.get().getDataDomainByType(PathwayDataDomain.DATA_DOMAIN_TYPE)).getGeneIDMappingManager();
      davidIDs=genomeIdManager.getIDAsSet(IDType.getIDType("String_Node_Str"),IDType.getIDType("String_Node_Str"),Integer.valueOf(entrezID));
      if (davidIDs == null) {
        Logger.log(new Status(IStatus.INFO,this.toString(),"String_Node_Str" + entrezID));
        continue;
      }
      mappingDavidIDs.addAll(davidIDs);
    }
    currentVertices.addAll(pathwayItemManager.createGeneVertex(vertexName,type,externalLink,mappingDavidIDs));
  }
 else {
    PathwayVertex currentVertex=pathwayItemManager.createVertex(name,type,externalLink);
    currentVertices.add(currentVertex);
  }
}

Fixed version (ground truth):
/** 
 * Reacts on the elements of the entry tag. An example entry tag looks like this: <entry id="1" name="ec:1.8.4.1" type="enzyme" reaction="rn:R01292" link="http://www.genome.jp/dbget-bin/www_bget?enzyme+1.8.4.1">
 */
protected void handleEntryTag(){
  int entryId=0;
  String name="String_Node_Str";
  String type="String_Node_Str";
  String externalLink="String_Node_Str";
  currentReactionName=null;
  for (int attributeIndex=0; attributeIndex < attributes.getLength(); attributeIndex++) {
    attributeName=attributes.getLocalName(attributeIndex);
    if ("String_Node_Str".equals(attributeName)) {
      attributeName=attributes.getQName(attributeIndex);
    }
    if (attributeName.equals("String_Node_Str")) {
      entryId=Integer.valueOf(attributes.getValue(attributeIndex)).intValue();
    }
 else     if (attributeName.equals("String_Node_Str")) {
      name=attributes.getValue(attributeIndex);
    }
 else     if (attributeName.equals("String_Node_Str")) {
      type=attributes.getValue(attributeIndex);
    }
 else     if (attributeName.equals("String_Node_Str")) {
      externalLink=attributes.getValue(attributeIndex);
    }
 else     if (attributeName.equals("String_Node_Str")) {
      currentReactionName=attributes.getValue(attributeIndex);
    }
  }
  currentEntryId=entryId;
  currentVertices.clear();
  if (type.equals("String_Node_Str")) {
    StringTokenizer tokenText=new StringTokenizer(name,"String_Node_Str");
    Set<Integer> davidIDs=null;
    String vertexName="String_Node_Str";
    Set<Integer> mappingDavidIDs=new HashSet<Integer>();
    while (tokenText.hasMoreTokens()) {
      vertexName=tokenText.nextToken();
      String entrezID=vertexName.substring(4);
      if (entrezID.isEmpty()) {
        continue;
      }
      IDMappingManager genomeIdManager=((PathwayDataDomain)DataDomainManager.get().getDataDomainByType(PathwayDataDomain.DATA_DOMAIN_TYPE)).getGeneIDMappingManager();
      try {
        davidIDs=genomeIdManager.getIDAsSet(IDType.getIDType("String_Node_Str"),IDType.getIDType("String_Node_Str"),Integer.valueOf(entrezID));
      }
 catch (      NumberFormatException e) {
        Logger.log(new Status(IStatus.INFO,this.toString(),"String_Node_Str" + entrezID));
        continue;
      }
      if (davidIDs == null) {
        Logger.log(new Status(IStatus.INFO,this.toString(),"String_Node_Str" + entrezID));
        continue;
      }
      mappingDavidIDs.addAll(davidIDs);
    }
    currentVertices.addAll(pathwayItemManager.createGeneVertex(vertexName,type,externalLink,mappingDavidIDs));
  }
 else {
    PathwayVertex currentVertex=pathwayItemManager.createVertex(name,type,externalLink);
    currentVertices.add(currentVertex);
  }
}