public void interpret(Specification table) 
    {
        Example row = table.nextExample();
        Action action = Action.parse(actionCells(row));
        Date start = new Date();
        try 
        {
            Call call = action.checkAgainst(fitFixture != null ? fitFixture : fixture);
            call.will(Do.both(Annotate.right(Group.composedOf(keywordCells(row)))).and(countRowOf(table).right())).when(ResultIs.equalTo(true));
            call.will(Do.both(Annotate.wrong(Group.composedOf(keywordCells(row)))).and(countRowOf(table).wrong())).when(ResultIs.equalTo(false));
            call.will(Do.both(Annotate.exception(CollectionUtil.first(keywordCells(row)))).and(countRowOf(table).exception())).when(ResultIs.exception());
            call.execute();
        }
        catch (Exception e)
        {
            CollectionUtil.first(keywordCells(row)).annotate(Annotations.exception(e));
            reportException(table);
        }
        finally
        {
            if(timed)
            {
                long split = new Date().getTime() - start.getTime();
            	row.addChild().setContent(Fit.format.format(start));
            	row.addChild().setContent(split<1000 ? "&nbsp;" : Double.toString((split)/1000.0));
            }
        }
    }
public void interpret ( Specification table ) { Example row = table . nextExample ( ) ; Action action = Action . parse ( actionCells ( row ) ) ; Date start = new Date ( ) ; try { Call call = action . checkAgainst ( fitFixture != null ? fitFixture : fixture ) ; call . will ( Do . both ( Annotate . right ( Group . composedOf ( keywordCells ( row ) ) ) ) . and ( countRowOf ( table ) . right ( ) ) ) . when ( ResultIs . equalTo ( true ) ) ; call . will ( Do . both ( Annotate . wrong ( Group . composedOf ( keywordCells ( row ) ) ) ) . and ( countRowOf ( table ) . wrong ( ) ) ) . when ( ResultIs . equalTo ( false ) ) ; call . will ( Do . both ( Annotate . exception ( CollectionUtil . first ( keywordCells ( row ) ) ) ) . and ( countRowOf ( table ) . exception ( ) ) ) . when ( ResultIs . exception ( ) ) ; call . execute ( ) ; } catch ( Exception e ) { CollectionUtil . first ( keywordCells ( row ) ) . annotate ( Annotations . exception ( e ) ) ; reportException ( table ) ; } finally { if ( timed ) { long split = new Date ( ) . getTime ( ) - start . getTime ( ) ; row . addChild ( ) . setContent ( Fit . format . format ( start ) ) ; row . addChild ( ) . setContent ( split < 1000 ? "&nbsp;" : Double . toString ( ( split ) / 1000.0 ) ) ; } } }
{@inheritDoc}