code: static boolean methodsMatch(Method m1, Method m2)
      {
          if (m1 == m2)
          {
              return true;
          }
          else if (m1.getName().equals(m2.getName()))
          {
              Class<?>[] parms1 = m1.getParameterTypes();
              Class<?>[] parms2 = m2.getParameterTypes();
              if (parms1.length == parms2.length)
              {
                  int length = parms1.length;
                  for (int i = 0; i < length; i++)
                  {
                      if (parms1[i] != parms2[i])
                          return false;
                  }
                  return true;
              }
          }
          return false;
      }
docs: Returns true for two methods that have the same name and parameters. <p>
  
  Similar to Method.equals(), except declaring class and return type are
  NOT considered. <p>
  
  Useful for determining when multiple component or business interfaces
  implement the same method... as they will both be mapped to the same
  methodId. <p>
  
  @param m1 first of two methods to compare
  @param m2 second of two methods to compare
  
  @return true if both methods have the same name and parameters;
  otherwise false.