code: public Resolution intercept(ExecutionContext context) throws Exception {
          // Continue on and execute other filters and the lifecycle code.
          Resolution resolution = context.proceed();
          
          // Get all fields with session.
          Collection<Field> fields = getSessionFields(context.getActionBean().getClass());
          
          // Restores values from session.
          if (LifecycleStage.ActionBeanResolution.equals(context.getLifecycleStage())) {
              this.restoreFields(fields, context.getActionBean(), context.getActionBeanContext());
          }
          // Store values in session.
          if (LifecycleStage.EventHandling.equals(context.getLifecycleStage())) {
              // Dont't update values in session if a validation error occured.
              if (context.getActionBeanContext().getValidationErrors().isEmpty()) {
              	if (fields.size() > 0)
              		this.saveFields(fields, context.getActionBean(), context.getActionBeanContext().getRequest().getSession());
              }
          }
          
          return resolution;
      }
docs: /* (non-Javadoc)
  @see net.sourceforge.stripes.controller.Interceptor#intercept(net.sourceforge.stripes.controller.ExecutionContext)