Program: 176880
Project: 176880
Buggy source:
/** 
 * Prepare index clause.
 * @param m the m
 * @return the map
 */
private Map<Boolean,List<IndexClause>> prepareIndexClause(EntityMetadata m){
  IndexClause indexClause=Selector.newIndexClause(Bytes.EMPTY,maxResult);
  List<IndexClause> clauses=new ArrayList<IndexClause>();
  List<IndexExpression> expr=new ArrayList<IndexExpression>();
  Map<Boolean,List<IndexClause>> idxClauses=new HashMap<Boolean,List<IndexClause>>(1);
  String idColumn=m.getIdColumn().getName();
  boolean idPresent=false;
  for (  Object o : getKunderaQuery().getFilterClauseQueue()) {
    if (o instanceof FilterClause) {
      FilterClause clause=((FilterClause)o);
      String fieldName=clause.getProperty();
      if (!idPresent && idColumn.equalsIgnoreCase(fieldName)) {
        idPresent=true;
      }
      if (idPresent & !idColumn.equalsIgnoreCase(fieldName)) {
        log.error("String_Node_Str");
        throw new QueryHandlerException("String_Node_Str");
      }
      String condition=clause.getCondition();
      String value=clause.getValue();
      expr.add(Selector.newIndexExpression(fieldName,getOperator(condition,idPresent),getBytesValue(fieldName,m,value)));
    }
 else {
      String opr=o.toString();
      if (opr.equalsIgnoreCase("String_Node_Str")) {
        log.error("String_Node_Str");
        throw new QueryHandlerException("String_Node_Str" + opr + "String_Node_Str");
      }
    }
  }
  if (!StringUtils.isBlank(getKunderaQuery().getFilter())) {
    indexClause.setExpressions(expr);
    clauses.add(indexClause);
  }
  idxClauses.put(idPresent,clauses);
  return idxClauses;
}

Fixed version (ground truth):
/** 
 * Prepare index clause.
 * @param m the m
 * @return the map
 */
private Map<Boolean,List<IndexClause>> prepareIndexClause(EntityMetadata m){
  IndexClause indexClause=Selector.newIndexClause(Bytes.EMPTY,maxResult);
  List<IndexClause> clauses=new ArrayList<IndexClause>();
  List<IndexExpression> expr=new ArrayList<IndexExpression>();
  Map<Boolean,List<IndexClause>> idxClauses=new HashMap<Boolean,List<IndexClause>>(1);
  String idColumn=m.getIdColumn().getName();
  boolean idPresent=false;
  for (  Object o : getKunderaQuery().getFilterClauseQueue()) {
    if (o instanceof FilterClause) {
      FilterClause clause=((FilterClause)o);
      String fieldName=clause.getProperty();
      if (!idPresent && idColumn.equalsIgnoreCase(fieldName)) {
        idPresent=true;
      }
      if (idPresent & !idColumn.equalsIgnoreCase(fieldName)) {
        log.error("String_Node_Str");
        throw new QueryHandlerException("String_Node_Str");
      }
      String condition=clause.getCondition();
      String value=clause.getValue();
      if (idPresent) {
        expr=null;
      }
 else {
        expr.add(Selector.newIndexExpression(fieldName,getOperator(condition,idPresent),getBytesValue(fieldName,m,value)));
      }
    }
 else {
      String opr=o.toString();
      if (opr.equalsIgnoreCase("String_Node_Str")) {
        log.error("String_Node_Str");
        throw new QueryHandlerException("String_Node_Str" + opr + "String_Node_Str");
      }
    }
  }
  if (!StringUtils.isBlank(getKunderaQuery().getFilter())) {
    indexClause.setExpressions(expr);
    clauses.add(indexClause);
  }
  idxClauses.put(idPresent,clauses);
  return idxClauses;
}