public Object invoke(Object object, Object... arguments) {
    if (!isAvailable()) {
      throw new IllegalStateException("Method is not available");
    }

    try {
      return myMethod.invoke(object, arguments);
    }
    catch (IllegalAccessException | InvocationTargetException e) {
      throw new RuntimeException(e);
    }
  }
public Object invoke(Object object, Object... arguments)