docs: protected static Method findTargetMethod(final Method sourceMethod, Class<?> target) throws NoSuchElementException {
          return Iterables.find(Arrays.asList(target.getMethods()), new Predicate<Method>() {
              @Override
              public boolean apply(Method element) {
                  if (!sourceMethod.getName().equals(element.getName())) {
                      return false;
                  }
                  if (sourceMethod.getParameterTypes().length != element.getParameterTypes().length) {
                      return false;
                  }
                  return true;
              }
          });
      }