docs: private static Reflect on(Method method, Object object, Object... args) throws ReflectException {
          try {
              accessible(method);
  
              if (method.getReturnType() == void.class) {
                  method.invoke(object, args);
                  return on(object);
              }
              else {
                  return on(method.invoke(object, args));
              }
          }
          catch (Exception e) {
              throw new ReflectException(e);
          }
      }