@SuppressWarnings( "unchecked" )
    @Override
    public List<String> formatRow( Object object ) {
        List<Object> allFieldValues = ReflectionUtil.getAllFieldValues( object, fields, "" );

        List<String> res = Lists.newArrayList();

        for( int i = 0; i < allFieldValues.size(); i++ ) {
            Object v = allFieldValues.get( i );
            Field field = fields.get( i );

            if( v != null ) {
                nonNullColumns[i] = true;
            }

            @SuppressWarnings( "rawtypes" )
            ObjectFormatter formatter = formattersByFieldName.get( field.getName() );
            if( formatter != null ) {
                res.add( formatter.format( v ) );
            } else {
                formatter = DefaultFormatter.INSTANCE;
                res.add( formatter.format( v ) );
            }
        }

        return res;

    }
Default implementation of the {@link RowFormatter} that uses the fields of an
object as columns of the table

@See {@link com.tngtech.jgiven.annotation.Table} for details<br>
     {@link NamedFormats} annotation<br>
jgiven-core/src/main/java/com/tngtech/jgiven/format/table/FieldBasedRowFormatter.java