@Override
    public TickBoxState getState(final DocumentType type) {
        if (type.equals(SELECT_ALL_OR_NONE_DOCUMENT_TYPE)) {
            if (selected.size() == 0) {
                return TickBoxState.UNTICK;
            } else if (selected.size() == visibleTypes.size()) {
                return TickBoxState.TICK;
            } else {
                return TickBoxState.HALF_TICK;
            }
        } else if (selected.contains(type.getType())) {
            return TickBoxState.TICK;
        }
        return TickBoxState.UNTICK;
    }
@return A set of types to include, or empty if the type filter is not active
stroom-core-client/src/main/java/stroom/explorer/client/presenter/TypeFilterPresenter.java