@Override
    public void render(final Context context, final V value, final SafeHtmlBuilder sb) {
        // Get the view data.
        final Object key = context.getKey();
        V viewData = getViewData(key);
        if (viewData != null && viewData.equals(value)) {
            clearViewData(key);
            viewData = null;
        }

        final int selectedIndex = getSelectedIndex(viewData == null
                ? value
                : viewData);
        sb.appendHtmlConstant("<select tabindex=\"-1\">");
        int index = 0;
        for (final V option : options) {
            if (index++ == selectedIndex) {
                sb.append(template.selected(option.getDisplayValue()));
            } else {
                sb.append(template.deselected(option.getDisplayValue()));
            }
        }
        sb.appendHtmlConstant("</select>");
    }
Construct a new {@link SelectionCell} with the specified options.

@param options the options in the cell
stroom-core-client-widget/src/main/java/stroom/cell/item/client/ItemCell.java