code: static String getMethodSignature(Method m) {
        StringBuilder result = new StringBuilder();
        result.append('(');
        for (Class<?> parameterType : m.getParameterTypes()) {
          result.append(getSignature(parameterType));
        }
        result.append(")");
        result.append(getSignature(m.getReturnType()));
        return result.toString();
      }
docs: Return a String representing the signature for a method {@code m}.
  
  @param m
  a java.lang.reflect.Method for which to compute the signature
  @return the method's signature