code: public void interpret(Specification table)
      {
  
          Statistics stats = new Statistics();
          Example row = table.nextExample();
          Example scenario = row.firstChild();
  
          try
          {
              ScenarioMessage message = new ScenarioMessage( fixture.getTarget(), scenario.getContent() );
  
              Call call = new Call( message );
  
              call.will( Annotate.given( scenario, message, stats ) ).when( message.annotationIs( Given.class ) );
              call.will( Annotate.then( scenario, message, stats ) ).when( message.annotationIs( Then.class ) );
              call.will( Annotate.when( scenario, stats ) ).when( message.annotationIs( When.class ) );
              call.will( Annotate.check( scenario, stats ) ).when( message.annotationIs( Check.class ) );
              call.will( Annotate.display( scenario ) ).when( message.annotationIs( Display.class ) );
              call.execute();
  
              table.exampleDone( stats );
          }
          catch (Exception e)
          {
              reportException( table );
              scenario.annotate( Annotations.exception( e ) );
          }
      }
docs: {@inheritDoc}