public void setSelectedItems(final Set<T> selectedItems) {
        if (items.isEmpty()) {
            itemsToSelectOncePopulated = selectedItems;
        } else {
            for (final T tickBox : items) {
                tickBox.setBooleanValue(false);
                for (final T t : selectedItems) {
                    if (tickBox.equals(t)) {
                        tickBox.setBooleanValue(true);
                    }
                }
            }
        }
    }
Handle the case when the list gets populated after the selected items
have been set.
stroom-core-client-widget/src/main/java/stroom/widget/tickbox/client/view/TickList.java