code: public ActionResponse performMonologue(ActionRuntime runtime) {
          final RuntimeException cause = runtime.getFailureCause();
          RuntimeException translated = null;
          try {
              translateException(cause);
          } catch (RuntimeException e) {
              translated = e;
          }
          final RuntimeException handlingEx = translated != null ? translated : cause;
          final ActionResponse response = handleApplicationException(runtime, handlingEx);
          if (response.isDefined()) {
              return response;
          }
          if (translated != null) {
              throw translated;
          }
          return ActionResponse.undefined();
      }
docs: =========