docs: @Override
    public final Method retrieveMethod(final Class<?> pClazz,
      final String pMethodName) throws Exception {
      for (Method mfd : pClazz.getDeclaredMethods()) {
        if (mfd.getName().equals(pMethodName)) {
          return mfd;
        }
      }
      final Class<?> superClazz = pClazz.getSuperclass();
      Method method = null;
      if (superClazz != null && superClazz != java.lang.Object.class) {
        method = retrieveMethod(superClazz, pMethodName);
      }
      if (method == null) {
        throw new Exception("There is no method " + pMethodName + " in class "
          + pClazz); //TO-DO class must be original
      }
      return method;
    }