Program: 89643
Project: 89643
Buggy source:
/** 
 * Get a sorted list of all seeds of a Domain in a HarvestDefinition.
 * @param harvestName of HarvestDefinition
 * @param domainName of Domain
 * @return List of all seeds of the Domain in the HarvestDefinition.
 */
@Override public List<String> getListOfSeedsOfDomainOfHarvestDefinition(String harvestName,String domainName){
  ArgumentNotValid.checkNotNullOrEmpty(harvestName,"String_Node_Str");
  ArgumentNotValid.checkNotNullOrEmpty(domainName,"String_Node_Str");
  Connection c=HarvestDBConnection.get();
  PreparedStatement s=null;
  try {
    s=c.prepareStatement("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str");
    s.setString(1,domainName);
    s.setString(2,harvestName);
    ResultSet res=s.executeQuery();
    List<String> seeds=new ArrayList<String>();
    while (res.next()) {
      String seedsOfDomain=res.getString(1);
      StringTokenizer st=new StringTokenizer(seedsOfDomain,"String_Node_Str");
      while (st.hasMoreTokens()) {
        String seed=st.nextToken();
        boolean isDuplicate=false;
        for (        String entry : seeds) {
          if (entry.equals(seed)) {
            isDuplicate=true;
            break;
          }
        }
        if (!isDuplicate) {
          seeds.add(seed);
        }
      }
    }
    Collections.sort(seeds,Collator.getInstance());
    return seeds;
  }
 catch (  SQLException e) {
    throw new IOFailure("String_Node_Str" + "String_Node_Str" + ExceptionUtils.getSQLExceptionCause(e),e);
  }
 finally {
    HarvestDBConnection.release(c);
  }
}

Fixed version (ground truth):
/** 
 * Get a sorted list of all seeds of a Domain in a HarvestDefinition.
 * @param harvestName of HarvestDefinition
 * @param domainName of Domain
 * @return List of all seeds of the Domain in the HarvestDefinition.
 */
@Override public List<String> getListOfSeedsOfDomainOfHarvestDefinition(String harvestName,String domainName){
  ArgumentNotValid.checkNotNullOrEmpty(harvestName,"String_Node_Str");
  ArgumentNotValid.checkNotNullOrEmpty(domainName,"String_Node_Str");
  Connection c=HarvestDBConnection.get();
  PreparedStatement s=null;
  try {
    s=c.prepareStatement("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str");
    s.setString(1,domainName);
    s.setString(2,harvestName);
    ResultSet res=s.executeQuery();
    List<String> seeds=new ArrayList<String>();
    while (res.next()) {
      String seedsOfDomain=res.getString(1);
      StringTokenizer st=new StringTokenizer(seedsOfDomain,"String_Node_Str");
      while (st.hasMoreTokens()) {
        String seed=st.nextToken();
        boolean isDuplicate=false;
        for (        String entry : seeds) {
          if (entry.equals(seed)) {
            isDuplicate=true;
            break;
          }
        }
        if (!isDuplicate) {
          seeds.add(seed);
        }
      }
    }
    Collections.sort(seeds,Collator.getInstance());
    return seeds;
  }
 catch (  SQLException e) {
    throw new IOFailure("String_Node_Str" + "String_Node_Str" + ExceptionUtils.getSQLExceptionCause(e),e);
  }
 finally {
    HarvestDBConnection.release(c);
  }
}