docs: public Object invokeOptional(T target, Object... args) throws InvocationTargetException {
      Method m = getMethod(target.getClass());
      if (m == null) {
        return null;
      }
      try {
        return m.invoke(target, args);
      } catch (IllegalAccessException e) {
        return null;
      }
    }