Program: 177146
Project: 177146
Buggy source:
public ValidationResult validateRootResources(List<RootResource> rootResources){
  ValidationResult result=new ValidationResult();
  for (  RootResource rootResource : rootResources) {
    for (    FieldDeclaration field : rootResource.getFields()) {
      if (isSuppliableByJAXRS(field) && ((field.getAnnotation(javax.ws.rs.core.Context.class) == null) && !isConvertableToStringByJAXRS(field.getType()))) {
        result.addError(field,"String_Node_Str");
      }
    }
    for (    PropertyDeclaration prop : rootResource.getProperties()) {
      if (isSuppliableByJAXRS(prop) && ((prop.getAnnotation(javax.ws.rs.core.Context.class) == null) && !isConvertableToStringByJAXRS(prop.getPropertyType()))) {
        result.addError(prop.getSetter(),"String_Node_Str");
      }
    }
    for (    ResourceMethod resourceMethod : rootResource.getResourceMethods(true)) {
      ParameterDeclaration entityParam=null;
      boolean formParamFound=false;
      for (      ParameterDeclaration param : resourceMethod.getParameters()) {
        if (param.getAnnotation(javax.ws.rs.core.Context.class) != null) {
          continue;
        }
        if (ResourceParameter.isResourceParameter(param)) {
          formParamFound|=param.getAnnotation(FormParam.class) != null;
        }
 else         if (entityParam != null) {
          result.addError(resourceMethod,"String_Node_Str");
        }
 else {
          entityParam=param;
        }
        if (entityParam != null && formParamFound) {
          DecoratedTypeMirror decorated=(DecoratedTypeMirror)TypeMirrorDecorator.decorate(entityParam.getType());
          if (!decorated.isInstanceOf(MultivaluedMap.class.getName())) {
            result.addError(entityParam,"String_Node_Str");
          }
        }
      }
    }
  }
  return result;
}

Fixed version (ground truth):
public ValidationResult validateRootResources(List<RootResource> rootResources){
  ValidationResult result=new ValidationResult();
  for (  RootResource rootResource : rootResources) {
    for (    FieldDeclaration field : rootResource.getFields()) {
      if (isSuppliableByJAXRS(field) && ((field.getAnnotation(javax.ws.rs.core.Context.class) == null) && !isConvertableToStringByJAXRS(field.getType()))) {
        result.addError(field,"String_Node_Str");
      }
    }
    for (    PropertyDeclaration prop : rootResource.getProperties()) {
      if (isSuppliableByJAXRS(prop) && ((prop.getAnnotation(javax.ws.rs.core.Context.class) == null) && !isConvertableToStringByJAXRS(prop.getPropertyType()))) {
        result.addError(prop.getSetter(),"String_Node_Str");
      }
    }
    for (    ResourceMethod resourceMethod : rootResource.getResourceMethods(true)) {
      if (resourceMethod.getDeclaredEntityParameters().size() > 1) {
        result.addError(resourceMethod,"String_Node_Str");
      }
      int formParamCount=0;
      for (      RESTResourceParameter resourceParameter : resourceMethod.getResourceParameters()) {
        if (resourceParameter.getResourceParameterType() == RESTResourceParameterType.FORM) {
          formParamCount++;
        }
      }
      ResourceEntityParameter entityParam=resourceMethod.getEntityParameter();
      if (entityParam != null && (formParamCount > 0)) {
        DecoratedTypeMirror decorated=(DecoratedTypeMirror)TypeMirrorDecorator.decorate(entityParam.getType());
        if (!decorated.isInstanceOf(MultivaluedMap.class.getName())) {
          result.addError(entityParam,"String_Node_Str");
        }
      }
    }
  }
  return result;
}