class WorkArea {

    public Map<String, Object> parseResults(ByteBuffer buffer)
    {
        Map<String, Object> results = new TreeMap<String, Object>();
        for (Field field : fields)
        {
            String fieldValue = field.read(buffer);
            if (!fieldValue.isEmpty() && !isFiltered(field))
            {
                results.put(field.getId(), fieldValue);
            }
        }
        return results;
    }

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

}