Program: 154472
Project: 154472
Buggy source:
/** 
 * @see StreetsDAO#getIntersection(String,String) 
 */
public final Collection<IntersectionResult> getIntersection(final String street1Param,final String street2Param){
  final Collection<IntersectionResult> ret=new ArrayList<IntersectionResult>();
  if ((street1Param != null && street1Param.length() <= 2) || (street2Param != null && street2Param.length() <= 2)) {
    return ret;
  }
  final String wildcard;
  if (street1Param.startsWith(street2Param) || street2Param.startsWith(street1Param)) {
    wildcard="String_Node_Str";
  }
 else {
    wildcard="String_Node_Str";
  }
  final String sql="String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str";
  String street1Filtered=executeFilters(street1Param);
  String street2Filtered=executeFilters(street2Param);
  template.query(sql,new Object[]{wildcard + escapeForLike(street1Filtered,'+') + wildcard,wildcard + escapeForLike(street2Filtered,'+') + wildcard},new ResultSetExtractor(){
    /** 
 * @see ResultSetExtractor#extractData(java.sql.ResultSet) 
 */
    public Object extractData(    final ResultSet rs) throws SQLException, DataAccessException {
      while (rs.next()) {
        try {
          final Geometry geom=wktReader.read(rs.getString("String_Node_Str"));
          if (!geom.isEmpty()) {
            if (geom instanceof Point) {
              ret.add(new IntersectionResult(rs.getString("String_Node_Str"),rs.getString("String_Node_Str"),(Point)geom));
            }
          }
        }
 catch (        final ParseException e) {
          throw new DataRetrievalFailureException("String_Node_Str");
        }
      }
      return null;
    }
  }
);
  return ret;
}

Fixed version (ground truth):
/** 
 * @see StreetsDAO#getIntersection(String,String) 
 */
public final Collection<IntersectionResult> getIntersection(final String street1Param,final String street2Param){
  final Collection<IntersectionResult> ret=new ArrayList<IntersectionResult>();
  if ((street1Param != null && street1Param.length() <= 2) || (street2Param != null && street2Param.length() <= 2)) {
    return ret;
  }
  final String wildcard;
  if (street1Param.startsWith(street2Param) || street2Param.startsWith(street1Param)) {
    wildcard="String_Node_Str";
  }
 else {
    wildcard="String_Node_Str";
  }
  final String sql="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 street1Filtered=executeFilters(street1Param);
  String street2Filtered=executeFilters(street2Param);
  template.query(sql,new Object[]{wildcard + escapeForLike(street1Filtered,'+') + wildcard,wildcard + escapeForLike(street2Filtered,'+') + wildcard},new ResultSetExtractor(){
    /** 
 * @see ResultSetExtractor#extractData(java.sql.ResultSet) 
 */
    public Object extractData(    final ResultSet rs) throws SQLException, DataAccessException {
      while (rs.next()) {
        try {
          final Geometry geom=wktReader.read(rs.getString("String_Node_Str"));
          if (!geom.isEmpty()) {
            if (geom instanceof Point) {
              ret.add(new IntersectionResult(rs.getString("String_Node_Str"),rs.getString("String_Node_Str"),(Point)geom));
            }
          }
        }
 catch (        final ParseException e) {
          throw new DataRetrievalFailureException("String_Node_Str");
        }
      }
      return null;
    }
  }
);
  return ret;
}