Program: 176261
Project: 176261
Buggy source:
private String getLuceneQuery(KunderaQuery kunderaQuery){
  StringBuffer sb=new StringBuffer();
  if (kunderaQuery.getFilterClauseQueue().isEmpty()) {
    String idColumnName=((AbstractAttribute)kunderaQuery.getEntityMetadata().getIdAttribute()).getJPAColumnName();
    sb.append(idColumnName).append("String_Node_Str").append("String_Node_Str");
  }
 else {
    for (    Object object : kunderaQuery.getFilterClauseQueue()) {
      if (object instanceof FilterClause) {
        boolean appended=false;
        FilterClause filter=(FilterClause)object;
        sb.append(filter.getProperty());
        String appender="String_Node_Str";
        if (filter.getCondition().equals("String_Node_Str")) {
          sb.append("String_Node_Str");
        }
 else         if (filter.getCondition().equalsIgnoreCase("String_Node_Str")) {
          sb.append("String_Node_Str");
          appender="String_Node_Str";
        }
 else         if (filter.getCondition().equalsIgnoreCase("String_Node_Str")) {
          sb.append(appendRange(filter.getValue().toString(),false,true,String.class));
          appended=true;
        }
 else         if (filter.getCondition().equalsIgnoreCase("String_Node_Str")) {
          sb.append(appendRange(filter.getValue().toString(),true,true,String.class));
          appended=true;
        }
 else         if (filter.getCondition().equalsIgnoreCase("String_Node_Str")) {
          sb.append(appendRange(filter.getValue().toString(),false,false,String.class));
          appended=true;
        }
 else         if (filter.getCondition().equalsIgnoreCase("String_Node_Str")) {
          sb.append(appendRange(filter.getValue().toString(),true,false,String.class));
          appended=true;
        }
        if (!appended) {
          if (appender.equals("String_Node_Str") && filter.getValue() != null && filter.getValue().toString().contains("String_Node_Str")) {
            sb.append("String_Node_Str");
            sb.append(filter.getValue().toString());
            sb.append("String_Node_Str");
          }
 else {
            sb.append(filter.getValue());
            sb.append(appender);
          }
        }
      }
 else {
        sb.append("String_Node_Str" + object + "String_Node_Str");
      }
    }
  }
  return sb.toString();
}

Fixed version (ground truth):
private String getLuceneQuery(KunderaQuery kunderaQuery){
  StringBuffer sb=new StringBuffer();
  if (kunderaQuery.getFilterClauseQueue().isEmpty()) {
    String idColumnName=((AbstractAttribute)kunderaQuery.getEntityMetadata().getIdAttribute()).getJPAColumnName();
    sb.append(idColumnName).append("String_Node_Str").append("String_Node_Str");
  }
 else {
    for (    Object object : kunderaQuery.getFilterClauseQueue()) {
      if (object instanceof FilterClause) {
        boolean appended=false;
        FilterClause filter=(FilterClause)object;
        sb.append(filter.getProperty());
        String appender="String_Node_Str";
        String condition=filter.getCondition().trim();
        if (condition.equals("String_Node_Str")) {
          sb.append("String_Node_Str");
        }
 else         if (condition.equalsIgnoreCase("String_Node_Str")) {
          sb.append("String_Node_Str");
          appender="String_Node_Str";
        }
 else         if (condition.equalsIgnoreCase("String_Node_Str")) {
          sb.append(appendRange(filter.getValue().toString(),false,true,String.class));
          appended=true;
        }
 else         if (condition.equalsIgnoreCase("String_Node_Str")) {
          sb.append(appendRange(filter.getValue().toString(),true,true,String.class));
          appended=true;
        }
 else         if (condition.equalsIgnoreCase("String_Node_Str")) {
          sb.append(appendRange(filter.getValue().toString(),false,false,String.class));
          appended=true;
        }
 else         if (condition.equalsIgnoreCase("String_Node_Str")) {
          sb.append(appendRange(filter.getValue().toString(),true,false,String.class));
          appended=true;
        }
        if (!appended) {
          if (appender.equals("String_Node_Str") && filter.getValue() != null && filter.getValue().toString().contains("String_Node_Str")) {
            sb.append("String_Node_Str");
            sb.append(filter.getValue().toString());
            sb.append("String_Node_Str");
          }
 else {
            sb.append(filter.getValue());
            sb.append(appender);
          }
        }
      }
 else {
        sb.append("String_Node_Str" + object + "String_Node_Str");
      }
    }
  }
  return sb.toString();
}