class WorkAreaConfig {

    public WorkArea createWorkArea()
    {
        if(Registry.containsWorkArea(this.id))
        {
            return Registry.getWorkArea(this.id);
        }
        SortedSet<Field> uniqueSet = new TreeSet<Field>();
        validate(this.fields, uniqueSet);
        List<Filter> oFilters = this.outputFilters != null ? this.outputFilters : Collections.<Filter>emptyList();
        WorkArea workArea = new WorkArea(this.id, uniqueSet, oFilters);
        validate(workArea);
        Registry.addWorkArea(workArea);
        return workArea;
    }

    public  WorkAreaConfig();
    public  WorkAreaConfig(String id, int length, boolean isWorkAreaOne, List<Field> fields, List<Filter> outputFilters);

}