docs: public void interpret( Specification table )
      {
          Example row = table.nextExample();
          Example reject = row.firstChild();
          Action action = Action.parse( actionCells(row) );
          Example first = CollectionUtil.first(keywordCells(row));
          try
          {
              Call call = action.checkAgainst( fixture );
              call.expect( ShouldBe.either( FALSE ).or( instanceOf( Exception.class ) ) );
              call.will( Annotate.right( reject ) ).when( ResultIs.right() );
              call.will( Annotate.wrong( reject ) ).when( ResultIs.wrong() );
              call.will( Annotate.exception(first) ).when( ResultIs.exception() );
              call.will( tallyStatistics( table ) );
              call.execute();
          }
          catch (Exception e)
          {
              reportException( table );
              if (first != null) {
                  first.annotate( Annotations.exception( e ) );
              } else {
                  reject.annotate( Annotations.exception(e) );
              }
          }
      }