class FilterManagerStateController extends AbstractModuleStateController {

    static void combineQueryEntries(List<QueryEntryType> queryEntries)
    {
        for (int i = queryEntries.size() - 1; i >= 0; i--)
        {
            QueryEntryType entry1 = queryEntries.get(i);

            boolean didCombine = false;
            for (int j = i - 1; j >= 0; j--)
            {
                QueryEntryType entry2 = queryEntries.get(j);
                if (canCombine(entry1, entry2))
                {
                    QueryEntryType combined = combine(entry1, entry2);
                    queryEntries.set(j, combined);
                    didCombine = true;
                }
            }

            if (didCombine)
            {
                queryEntries.remove(i);
            }
        }
    }

    public  FilterManagerStateController(FilterBuilderController fbController, DataGroupController dataTypeController,
            DataFilterRegistry filterRegistry, QueryRegionManager queryRegionManager, GeometryRegistry geometryRegistry);

}