docs: public void interpret( Specification table )
      {
          Example row = table.nextExample();
  
          Example check = row.firstChild();
          Example expectedCell = check.lastSibling();
          Action action = Action.parse( actionCells(row));
  
          Example first = CollectionUtil.first(keywordCells(row));
          try
          {
              Call call = action.checkAgainst( fixture );
              call.expect( expectedCell.getContent() );
              call.will( Annotate.right( expectedCell ) ).when( ResultIs.right() );
              call.will( Annotate.wrongWithDetails( expectedCell ) ).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 {
                  check.annotate(Annotations.exception(e));
              }
          }
      }