class WorkArea {

    public ByteBuffer createBuffer(Map<String, Object> parameters)
    {
        ByteBuffer buffer = createByteBuffer();
        for (Field field : fields)
        {
            log.trace("Before write ByteBuffer.position={}", buffer.position());
            field.write(resolveInputValue(parameters, field), buffer);
            log.trace("After write ByteBuffer.position={}", buffer.position());
        }
        buffer.flip();
        return buffer;
    }

    public  WorkArea(String id, SortedSet<Field> fields);
    public  WorkArea(String id, SortedSet<Field> fields, List<Filter> outputFilters);

}