code: public static MethodDeclaration getMethodDeclaration(TypeDeclaration type, String methodName, String methodSignature)
              throws MethodDeclarationNotFoundException {
          requireNonNull(type, "type declaration");
          requireNonNull(methodName, "method name");
          requireNonNull(methodSignature, "method signature");
  
          MethodDeclaration method = searchMethodDeclaration(type.getAST(), type.getMethods(), methodName, methodSignature);
          if (method == null) {
              throw new MethodDeclarationNotFoundException(type, methodName, methodSignature);
          }
          return method;
      }
docs: Returns the <CODE>MethodDeclaration</CODE> for the specified method name
  and signature. The method has to be declared in the specified
  <CODE>TypeDeclaration</CODE>.
  
  @param type
  The <CODE>TypeDeclaration</CODE>, where the
  <CODE>MethodDeclaration</CODE> is declared in.
  @param methodName
  The method name to search for.
  @param methodSignature
  The method signature to search for.
  @return the <CODE>MethodDeclaration</CODE> found in the specified
  <CODE>TypeDeclaration</CODE>.
  @throws MethodDeclarationNotFoundException
  if no matching <CODE>MethodDeclaration</CODE> was found.