code: private Object doPrivileged(final String methodName, final Class<?>[] clazz, Object[] params) {
  
          try {
              Method method = context.getClass().getMethod(methodName, clazz);
              return executeMethod(method, context, params);
          } catch (Exception ex) {
              try {
                  handleException(ex);
              } catch (Throwable t) {
                  handleThrowable(t);
                  throw new RuntimeException(t.getMessage());
              }
              return null;
          } finally {
              params = null;
          }
      }
docs: Use reflection to invoke the requested method. Cache the method object to speed up the process
  
  @param methodName The method to invoke.
  @param clazz The class where the method is.
  @param params The arguments passed to the called method.