code: @Override
      public Result call(Transactional configuration, RequestContext context) throws Exception {
          propagation.onEntry(configuration.propagation(),
                  configuration.timeout(),
                  context.route().getControllerMethod().getName());
          try {
              Result result = context.proceed();
              propagation.onExit(configuration.propagation(), context.route().getControllerMethod().getName(), null);
              return result;
          } catch (Exception e) {
              propagation.onError(e, configuration.propagation(), configuration.noRollbackFor(),
                      configuration.rollbackOnlyFor(), context.route().getControllerMethod().getName(), null);
              throw e;
          }
      }
docs: The interception method. The method should call {@link org.wisdom.api.interception.RequestContext#proceed()}
  to call the next interception. Without this call it cuts the chain.
  
  @param configuration the interception configuration
  @param context       the interception context
  @return the result
  @throws Exception if anything bad happen