code: public void interpret( Specification specification )
      {
  		Statistics stats = new Statistics();
  		
          skipFirstRowOfNextTable();
  
          while (specification.hasMoreExamples() && canContinue( stats ))
          {
              Example next = specification.nextExample();
              if (indicatesEndOfFlow( next ))
              {
                  specification.exampleDone( new Statistics() );
                  return;
              }
  
              Table table = new Table( firstRowOf(next) );
              execute(table);
              specification.exampleDone( table.getStatistics() );
  			stats.tally( table.getStatistics() );
  
              includeFirstRowOfNextTable();
              /*
               *  In case there was a 'END' keyword sticked in the table.
               */
              Example lastCells = next.firstChild().lastSibling().firstChild();
              boolean indicatesEnd = "end".equalsIgnoreCase( ExampleUtil.contentOf( lastCells ) );
              if (indicatesEnd) {
                  specification.exampleDone( new Statistics() );
                  return;
              }
          }
      }
docs: {@inheritDoc}