Program: 21289
Project: 21289
Buggy source:
@SuppressWarnings("String_Node_Str") public ArrayList<PackageData> getPackageData(){
  if (PACKAGE_DATA != null)   return PACKAGE_DATA;
  Browser br=new Browser();
  br.setFollowRedirects(true);
  ArrayList<PackageData> data=(ArrayList<PackageData>)CFGConfig.getConfig("String_Node_Str").getProperty("String_Node_Str",new ArrayList<PackageData>());
  for (  PackageData pd : data) {
    pd.setSortID(-1);
  }
  CFGConfig.getConfig("String_Node_Str").setProperty("String_Node_Str",data);
  try {
    br.getPage("String_Node_Str" + JDUtilities.getRevision() + "String_Node_Str"+ System.currentTimeMillis());
    String xml="String_Node_Str" + br.getMatch("String_Node_Str") + "String_Node_Str";
    DocumentBuilderFactory factory;
    InputSource inSource;
    Document doc;
    factory=DocumentBuilderFactory.newInstance();
    factory.setValidating(false);
    inSource=new InputSource(new StringReader(xml));
    doc=factory.newDocumentBuilder().parse(inSource);
    NodeList packages=doc.getFirstChild().getChildNodes();
    PackageData tmp;
    int ii=0;
    all:     for (int i=0; i < packages.getLength(); i++) {
      Node entry=packages.item(i);
      tmp=new PackageData();
      NodeList values=entry.getChildNodes();
      int id=-1;
      for (int t=0; t < values.getLength(); t++) {
        if (values.item(t).getNodeName().equalsIgnoreCase("String_Node_Str") && values.item(t).getTextContent().equalsIgnoreCase("String_Node_Str")) {
          tmp.setPreselected(true);
        }
        if (values.item(t).getNodeName().equalsIgnoreCase("String_Node_Str")) {
          id=Integer.parseInt(values.item(t).getTextContent().trim());
          tmp.setId(id);
        }
        tmp.setProperty(values.item(t).getNodeName(),values.item(t).getTextContent());
      }
      if (id < 0)       continue;
      for (      PackageData pd : data) {
        if (pd.getId() == tmp.getId()) {
          ii++;
          pd.setSortID(ii);
          pd.getProperties().putAll(tmp.getProperties());
          continue all;
        }
      }
      if (tmp.isPreselected()) {
        tmp.setSelected(true);
      }
      ii++;
      tmp.setSortID(ii);
      data.add(tmp);
    }
    PACKAGE_DATA=data;
    CFGConfig.getConfig("String_Node_Str").save();
    return data;
  }
 catch (  Exception e) {
    return new ArrayList<PackageData>();
  }
}

Fixed version (ground truth):
@SuppressWarnings("String_Node_Str") public ArrayList<PackageData> getPackageData(){
  if (PACKAGE_DATA != null)   return PACKAGE_DATA;
  Browser br=new Browser();
  br.setFollowRedirects(true);
  ArrayList<PackageData> data=(ArrayList<PackageData>)CFGConfig.getConfig("String_Node_Str").getProperty("String_Node_Str",new ArrayList<PackageData>());
  for (  PackageData pd : data) {
    pd.setSortID(-1);
  }
  CFGConfig.getConfig("String_Node_Str").setProperty("String_Node_Str",data);
  try {
    br.getPage("String_Node_Str" + JDUtilities.getRevision() + "String_Node_Str"+ System.currentTimeMillis());
    String xml="String_Node_Str" + br.getMatch("String_Node_Str") + "String_Node_Str";
    DocumentBuilderFactory factory;
    InputSource inSource;
    Document doc;
    factory=DocumentBuilderFactory.newInstance();
    factory.setValidating(false);
    inSource=new InputSource(new StringReader(xml));
    doc=factory.newDocumentBuilder().parse(inSource);
    NodeList packages=doc.getFirstChild().getChildNodes();
    PackageData tmp;
    int ii=0;
    all:     for (int i=0; i < packages.getLength(); i++) {
      Node entry=packages.item(i);
      tmp=new PackageData();
      NodeList values=entry.getChildNodes();
      int id=-1;
      for (int t=0; t < values.getLength(); t++) {
        if (values.item(t).getNodeName().equalsIgnoreCase("String_Node_Str") && values.item(t).getTextContent().equalsIgnoreCase("String_Node_Str")) {
          tmp.setPreselected(true);
        }
        if (values.item(t).getNodeName().equalsIgnoreCase("String_Node_Str")) {
          id=Integer.parseInt(values.item(t).getTextContent().trim());
          tmp.setId(id);
        }
        tmp.setProperty(values.item(t).getNodeName(),values.item(t).getTextContent());
      }
      if (id < 0)       continue;
      for (      PackageData pd : data) {
        if (pd.getId() == tmp.getId()) {
          ii++;
          pd.setSortID(ii);
          pd.getProperties().putAll(tmp.getProperties());
          continue all;
        }
      }
      if (tmp.isPreselected()) {
        tmp.setSelected(true);
      }
      ii++;
      tmp.setSortID(ii);
      data.add(tmp);
    }
    PACKAGE_DATA=data;
    CFGConfig.getConfig("String_Node_Str").setProperty("String_Node_Str",PACKAGE_DATA);
    CFGConfig.getConfig("String_Node_Str").save();
    return data;
  }
 catch (  Exception e) {
    return new ArrayList<PackageData>();
  }
}