code: public void finished() throws Throwable {
          if( state == FINISHED ) {
              return;
          }
  
          State previousState = state;
  
          state = FINISHED;
          methodInterceptor.enableMethodInterception( false );
  
          try {
              if( previousState == STARTED ) {
                  callFinishLifeCycleMethods();
              }
          } finally {
              listener.scenarioFinished();
          }
      }
docs: Has to be called when the scenario is finished in order to execute after methods.