docs: private static Object tryInvoke(Method origin, Object[] arguments)
              throws Throwable {
          try {
              return origin.invoke(null, arguments);
          } catch (InvocationTargetException exception) {
              throw exception.getCause();
          }
      }