private void setState(final ExplorerNode item, final TickBoxState state) {
        final TickBoxState currentState = getState(item);
        if (currentState != state) {
            modifyState(item, state);

            // Change the parent's state.
            changeParent(item);

            if (TickBoxState.TICK.equals(state)) {
                addDescendants(getParent(item), item);
                selectChildren(item);
            } else {
                removeDescendants(item);
            }

            fireSelectionChangeEvent();
        }
    }
Get the set of selected items.

@return the set of selected items
stroom-core-client/src/main/java/stroom/explorer/client/presenter/TickBoxSelectionModel.java