Program: 18007
Project: 18007
Buggy source:
private void doExpansion(NameInfo origNameInfo,QueryNode node,List<QueryNode> parentChildren){
  if (node instanceof TextableQueryNode) {
    if (node instanceof FuzzyQueryNode || node instanceof RegexpQueryNode || node instanceof WildcardQueryNode) {
      return;
    }
    FieldQueryNode fqn=((FieldQueryNode)node);
    if (fields.containsKey(fqn.getFieldAsString())) {
      String v=fqn.getTextAsString();
      String[] nameParts=fqn.getTextAsString().split("String_Node_Str");
      if (nameParts.length == 1) {
        if (nameParts.length < origNameInfo.noOfParts)         return;
        if (origNameInfo.containsOnlySurname) {
          parentChildren.add(new PrefixWildcardQueryNode(fqn.getField(),v + "String_Node_Str",fqn.getBegin(),fqn.getEnd()));
        }
 else {
        }
      }
 else {
        if (nameParts.length < origNameInfo.noOfParts)         return;
        if (origNameInfo.containsOnlySurname) {
          parentChildren.add(new PrefixWildcardQueryNode(fqn.getField(),v + "String_Node_Str",fqn.getBegin(),fqn.getEnd()));
        }
 else {
          if (origNameInfo.lastPartWasAcronym) {
            if (nameParts[nameParts.length - 1].length() == 1) {
              parentChildren.add(new PrefixWildcardQueryNode(fqn.getField(),v + "String_Node_Str",fqn.getBegin(),fqn.getEnd()));
            }
 else {
              parentChildren.add(new PrefixWildcardQueryNode(fqn.getField(),v + "String_Node_Str",fqn.getBegin(),fqn.getEnd()));
            }
          }
 else {
            parentChildren.add(new PrefixWildcardQueryNode(fqn.getField(),v + "String_Node_Str",fqn.getBegin(),fqn.getEnd()));
          }
        }
      }
      return;
    }
  }
  expandNodes(node,origNameInfo);
}

Fixed version (ground truth):
private void doExpansion(NameInfo origNameInfo,QueryNode node,List<QueryNode> parentChildren){
  if (node instanceof TextableQueryNode) {
    if (node instanceof FuzzyQueryNode || node instanceof RegexpQueryNode || node instanceof WildcardQueryNode) {
      return;
    }
    FieldQueryNode fqn=((FieldQueryNode)node);
    if (fields.containsKey(fqn.getFieldAsString())) {
      String v=fqn.getTextAsString();
      String[] nameParts=fqn.getTextAsString().split("String_Node_Str");
      if (nameParts.length == 1) {
        if (nameParts.length < origNameInfo.noOfParts)         return;
        if (origNameInfo.containsOnlySurname) {
          parentChildren.add(new PrefixWildcardQueryNode(fqn.getField(),v + "String_Node_Str",fqn.getBegin(),fqn.getEnd()));
        }
 else {
        }
      }
 else {
        if (nameParts.length < origNameInfo.noOfParts)         return;
        if (origNameInfo.containsOnlySurname) {
          parentChildren.add(new PrefixWildcardQueryNode(fqn.getField(),v + "String_Node_Str",fqn.getBegin(),fqn.getEnd()));
        }
 else {
          if (origNameInfo.lastPartWasAcronym) {
            if (nameParts[nameParts.length - 1].length() == 1) {
              parentChildren.add(new PrefixWildcardQueryNode(fqn.getField(),v + "String_Node_Str",fqn.getBegin(),fqn.getEnd()));
            }
 else {
              parentChildren.add(new PrefixWildcardQueryNode(fqn.getField(),v + "String_Node_Str",fqn.getBegin(),fqn.getEnd()));
            }
          }
 else {
            parentChildren.add(new PrefixWildcardQueryNode(fqn.getField(),v + "String_Node_Str",fqn.getBegin(),fqn.getEnd()));
          }
        }
      }
      return;
    }
  }
  if (!node.isLeaf())   expandNodes(node,origNameInfo);
}