@Override
  public Object invoke(Object self, Method thisMethod, Method proceed, Object[] args) throws Throwable {
    LOGGER.debug("invoked method: " + thisMethod.getName());
    Method m = findDeclaredMethod(this.getClass(), thisMethod);
    if (m != null) {
      return m.invoke(this, args);
    }
    m = findMethod(webAppErrorHandler.getClass(), thisMethod);
    if (m != null) {
      return m.invoke(webAppErrorHandler, args);
    }
    return null;
  }
Wraps the given ErrorHandler to log the error stacks
ambari-server/src/main/java/org/apache/ambari/server/api/AmbariViewErrorHandlerProxy.java