Program: 17849
Project: 17849
Buggy source:
private void processRequestMappingMethod(ExecutableElement executableElement,RestImplementationSupport implementationSupport){
  TypeElement cls=(TypeElement)executableElement.getEnclosingElement();
  for (  final String basePath : getClassLevelUrlPaths(cls,implementationSupport)) {
    for (    final String requestPath : implementationSupport.getRequestPaths(executableElement,cls)) {
      final String fullPath=Utils.joinPaths(basePath,requestPath);
      String meth;
      try {
        meth=implementationSupport.getRequestMethod(executableElement,cls);
      }
 catch (      IllegalStateException ex) {
        this.processingEnv.getMessager().printMessage(Diagnostic.Kind.WARNING,"String_Node_Str" + ex.getMessage(),executableElement);
        continue;
      }
      RestDocumentation.RestApi api=null;
      DocumentationRestApi apidoc=cls.getAnnotation(DocumentationRestApi.class);
      if (null != apidoc) {
        api=_docs.getRestApi(apidoc.id());
        api.setApiTitle(apidoc.title());
        api.setApiVersion(apidoc.version());
        api.setMount(apidoc.mount());
      }
 else {
        api=_docs.getRestApi(RestDocumentation.RestApi.DEFAULT_IDENTIFIER);
        api.setApiTitle("String_Node_Str");
        api.setApiVersion("String_Node_Str");
        api.setMount("String_Node_Str");
      }
      api.setApiDocumentation(processingEnv.getElementUtils().getDocComment(cls));
      RestDocumentation.RestApi.Resource resource=api.getResourceDocumentation(fullPath);
      RestDocumentation.RestApi.Resource.Method method=resource.newMethodDocumentation(meth);
      method.setCommentText(processingEnv.getElementUtils().getDocComment(executableElement));
      HashSet<String> scopes=new HashSet<String>();
      DocumentationScope clsScopes=cls.getAnnotation(DocumentationScope.class);
      if (null != clsScopes) {
        scopes.addAll(Arrays.asList(clsScopes.value()));
      }
      DocumentationScope methodScopes=executableElement.getAnnotation(DocumentationScope.class);
      if (null != methodScopes) {
        scopes.addAll(Arrays.asList(methodScopes.value()));
      }
      method.setScopes(scopes);
      HashSet<String> traits=new HashSet<String>();
      DocumentationTraits clsTraits=cls.getAnnotation(DocumentationTraits.class);
      if (null != clsTraits) {
        traits.addAll(Arrays.asList(clsTraits.value()));
      }
      DocumentationTraits methodTraits=executableElement.getAnnotation(DocumentationTraits.class);
      if (null != methodTraits) {
        traits.addAll(Arrays.asList(methodTraits.value()));
      }
      method.setTraits(traits);
      api.getTraits().addAll(method.getTraits());
      buildParameterData(executableElement,method,implementationSupport);
      buildResponseFormat(executableElement.getReturnType(),method);
    }
  }
}

Fixed version (ground truth):
private void processRequestMappingMethod(ExecutableElement executableElement,RestImplementationSupport implementationSupport){
  TypeElement cls=(TypeElement)executableElement.getEnclosingElement();
  for (  final String basePath : getClassLevelUrlPaths(cls,implementationSupport)) {
    for (    final String requestPath : implementationSupport.getRequestPaths(executableElement,cls)) {
      String fullPath=Utils.joinPaths(basePath,requestPath);
      String meth;
      try {
        meth=implementationSupport.getRequestMethod(executableElement,cls);
      }
 catch (      IllegalStateException ex) {
        this.processingEnv.getMessager().printMessage(Diagnostic.Kind.WARNING,"String_Node_Str" + ex.getMessage(),executableElement);
        continue;
      }
      fullPath=fullPath.replaceAll("String_Node_Str","String_Node_Str");
      RestDocumentation.RestApi api=null;
      DocumentationRestApi apidoc=cls.getAnnotation(DocumentationRestApi.class);
      if (null != apidoc) {
        api=_docs.getRestApi(apidoc.id());
        api.setApiTitle(apidoc.title());
        api.setApiVersion(apidoc.version());
        api.setMount(apidoc.mount());
      }
 else {
        api=_docs.getRestApi(RestDocumentation.RestApi.DEFAULT_IDENTIFIER);
        api.setApiTitle("String_Node_Str");
        api.setApiVersion("String_Node_Str");
        api.setMount("String_Node_Str");
      }
      api.setApiDocumentation(processingEnv.getElementUtils().getDocComment(cls));
      RestDocumentation.RestApi.Resource resource=api.getResourceDocumentation(fullPath);
      RestDocumentation.RestApi.Resource.Method method=resource.newMethodDocumentation(meth);
      method.setCommentText(processingEnv.getElementUtils().getDocComment(executableElement));
      HashSet<String> scopes=new HashSet<String>();
      DocumentationScope clsScopes=cls.getAnnotation(DocumentationScope.class);
      if (null != clsScopes) {
        scopes.addAll(Arrays.asList(clsScopes.value()));
      }
      DocumentationScope methodScopes=executableElement.getAnnotation(DocumentationScope.class);
      if (null != methodScopes) {
        scopes.addAll(Arrays.asList(methodScopes.value()));
      }
      method.setScopes(scopes);
      HashSet<String> traits=new HashSet<String>();
      DocumentationTraits clsTraits=cls.getAnnotation(DocumentationTraits.class);
      if (null != clsTraits) {
        traits.addAll(Arrays.asList(clsTraits.value()));
      }
      DocumentationTraits methodTraits=executableElement.getAnnotation(DocumentationTraits.class);
      if (null != methodTraits) {
        traits.addAll(Arrays.asList(methodTraits.value()));
      }
      method.setTraits(traits);
      api.getTraits().addAll(method.getTraits());
      buildParameterData(executableElement,method,implementationSupport);
      buildResponseFormat(executableElement.getReturnType(),method);
    }
  }
}