Program: 177143
Project: 177143
Buggy source:
@Override public ValidationResult validateEndpointInterface(EndpointInterface ei){
  ValidationResult result=super.validateEndpointInterface(ei);
  TreeSet<WebFault> allFaults=new TreeSet<WebFault>(new TypeDeclarationComparator());
  if (!isGWTTransient(ei)) {
    if ((this.enforceNamespaceConformance) && (!ei.getPackage().getQualifiedName().startsWith(this.gwtModuleNamespace))) {
      result.addError(ei,String.format("String_Node_Str",ei.getPackage().getQualifiedName(),gwtModuleNamespace));
    }
    for (    WebMethod webMethod : ei.getWebMethods()) {
      if (!isGWTTransient(webMethod)) {
        if (!isSupported(webMethod.getWebResult())) {
          result.addError(webMethod,"String_Node_Str" + webMethod.getWebResult() + "String_Node_Str");
        }
        for (        WebParam webParam : webMethod.getWebParameters()) {
          if (!isSupported(webParam.getType())) {
            result.addError(webParam,"String_Node_Str" + webParam.getType() + "String_Node_Str");
          }
        }
        allFaults.addAll(webMethod.getWebFaults());
      }
    }
    if (ei.getEndpointImplementations().size() > 1) {
      ArrayList<String> impls=new ArrayList<String>();
      for (      EndpointImplementation impl : ei.getEndpointImplementations()) {
        impls.add(impl.getQualifiedName());
      }
      result.addError(ei,"String_Node_Str" + ei.getQualifiedName() + "String_Node_Str"+ ei.getEndpointImplementations().size()+ "String_Node_Str"+ impls.toString()+ "String_Node_Str");
    }
 else     if (ei.getEndpointImplementations().isEmpty()) {
      result.addError(ei,"String_Node_Str");
    }
  }
  for (  WebFault fault : allFaults) {
    if (!isGWTTransient(fault)) {
      if ((this.enforceNamespaceConformance) && (!fault.getPackage().getQualifiedName().startsWith(this.gwtModuleNamespace))) {
        result.addError(fault,String.format("String_Node_Str",fault.getPackage().getQualifiedName(),gwtModuleNamespace));
      }
    }
  }
  return result;
}

Fixed version (ground truth):
@Override public ValidationResult validateEndpointInterface(EndpointInterface ei){
  ValidationResult result=super.validateEndpointInterface(ei);
  TreeSet<WebFault> allFaults=new TreeSet<WebFault>(new TypeDeclarationComparator());
  if (!isGWTTransient(ei)) {
    if ((this.enforceNamespaceConformance) && (!ei.getPackage().getQualifiedName().startsWith(this.gwtModuleNamespace))) {
      result.addError(ei,String.format("String_Node_Str",ei.getPackage().getQualifiedName(),gwtModuleNamespace));
    }
    for (    WebMethod webMethod : ei.getWebMethods()) {
      if (!isGWTTransient(webMethod)) {
        if (!isSupported(webMethod.getWebResult())) {
          result.addError(webMethod,"String_Node_Str" + webMethod.getWebResult() + "String_Node_Str");
        }
        for (        WebParam webParam : webMethod.getWebParameters()) {
          if (!isSupported(webParam.getType())) {
            result.addError(webParam,"String_Node_Str" + webParam.getType() + "String_Node_Str");
          }
        }
        allFaults.addAll(webMethod.getWebFaults());
      }
    }
    if (ei.getEndpointImplementations().size() > 1) {
      ArrayList<String> impls=new ArrayList<String>();
      for (      EndpointImplementation impl : ei.getEndpointImplementations()) {
        impls.add(impl.getQualifiedName());
      }
      result.addError(ei,"String_Node_Str" + ei.getQualifiedName() + "String_Node_Str"+ ei.getEndpointImplementations().size()+ "String_Node_Str"+ impls.toString()+ "String_Node_Str");
    }
 else     if (ei.getEndpointImplementations().isEmpty()) {
      result.addError(ei,"String_Node_Str");
    }
  }
  for (  WebFault fault : allFaults) {
    if (!isGWTTransient(fault)) {
      if ((this.enforceNamespaceConformance) && (!fault.getPackage().getQualifiedName().startsWith(this.gwtModuleNamespace)) && (!isKnownGwtType(fault))) {
        result.addError(fault,String.format("String_Node_Str",fault.getPackage().getQualifiedName(),gwtModuleNamespace));
      }
    }
  }
  return result;
}