Program: 17993
Project: 17993
Buggy source:
@Override protected QueryNode postProcessNode(QueryNode node) throws QueryNodeException {
  String field=null;
  String value=null;
  String[] tokens;
  if (node instanceof WildcardQueryNode) {
    field=((WildcardQueryNode)node).getFieldAsString() + "String_Node_Str";
    value=((WildcardQueryNode)node).getTextAsString();
    if (hasAnalyzer(field)) {
      tokens=analyze(field,value);
      if (!tokens[0].equals(value)) {
        return new WildcardQueryNode(((WildcardQueryNode)node).getFieldAsString(),tokens[0],((WildcardQueryNode)node).getBegin(),((WildcardQueryNode)node).getEnd());
      }
    }
  }
 else   if (node instanceof FuzzyQueryNode) {
    field=((FuzzyQueryNode)node).getFieldAsString() + "String_Node_Str";
    value=((FuzzyQueryNode)node).getTextAsString();
    if (hasAnalyzer(field)) {
      tokens=analyze(field,value);
      if (!tokens[0].equals(value)) {
        return new FuzzyQueryNode(field=((FuzzyQueryNode)node).getFieldAsString(),tokens[0],((FuzzyQueryNode)node).getSimilarity(),((FuzzyQueryNode)node).getBegin(),((FuzzyQueryNode)node).getEnd());
      }
    }
  }
 else   if (node instanceof AqpAdsabsRegexQueryNode) {
    field=((RegexpQueryNode)node).getFieldAsString() + "String_Node_Str";
    value=((RegexpQueryNode)node).getText().toString();
    if (hasAnalyzer(field)) {
      tokens=analyze(field,value);
      if (!tokens[0].equals(value)) {
        return new AqpAdsabsRegexQueryNode(((RegexpQueryNode)node).getFieldAsString(),tokens[0],((AqpAdsabsRegexQueryNode)node).getBegin(),((AqpAdsabsRegexQueryNode)node).getEnd());
      }
    }
  }
  return node;
}

Fixed version (ground truth):
@Override protected QueryNode postProcessNode(QueryNode node) throws QueryNodeException {
  String field=null;
  String value=null;
  String[] tokens;
  if (node instanceof WildcardQueryNode) {
    field=((WildcardQueryNode)node).getFieldAsString() + "String_Node_Str";
    value=((WildcardQueryNode)node).getTextAsString();
    if (hasAnalyzer(field)) {
      tokens=analyze(field,value);
      if (!tokens[0].equals(value)) {
        return new WildcardQueryNode(((WildcardQueryNode)node).getFieldAsString(),tokens[0],((WildcardQueryNode)node).getBegin(),((WildcardQueryNode)node).getEnd());
      }
    }
  }
 else   if (node instanceof FuzzyQueryNode) {
    field=((FuzzyQueryNode)node).getFieldAsString() + "String_Node_Str";
    value=((FuzzyQueryNode)node).getTextAsString();
    if (hasAnalyzer(field)) {
      tokens=analyze(field,value);
      if (!tokens[0].equals(value)) {
        return new FuzzyQueryNode(field=((FuzzyQueryNode)node).getFieldAsString(),tokens[0],((FuzzyQueryNode)node).getSimilarity(),((FuzzyQueryNode)node).getBegin(),((FuzzyQueryNode)node).getEnd());
      }
    }
  }
 else   if (node instanceof AqpAdsabsRegexQueryNode) {
    field=((FieldQueryNode)node).getFieldAsString() + "String_Node_Str";
    value=((FieldQueryNode)node).getText().toString();
    if (hasAnalyzer(field)) {
      tokens=analyze(field,value);
      if (!tokens[0].equals(value)) {
        return new AqpAdsabsRegexQueryNode(((FieldQueryNode)node).getFieldAsString(),tokens[0],((FieldQueryNode)node).getBegin(),((FieldQueryNode)node).getEnd());
      }
    }
  }
  return node;
}