Bug 319509 [Viewers] Empty rows in CheckboxTableViewer with virtual table
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/CheckboxTableViewer.java
/**
     * Returns a list of elements corresponding to grayed nodes in this
     * viewer.
     * <p>
     * This method is typically used when preserving the interesting
     * state of a viewer; <code>setGrayedElements</code> is used during the restore.
     * </p>
     *
     * @return the array of grayed elements
     * @see #setGrayedElements
     */
    public Object[] getGrayedElements() {
        TableItem[] children = getTable().getItems();
        List v = new ArrayList(children.length);
        for (int i = 0; i < children.length; i++) {
            TableItem item = children[i];
            if (item.getGrayed()) {
				v.add(item.getData());
			}
        }
        return v.toArray();
    }
    /* (non-Javadoc)
     * Method declared on StructuredViewer.
     */
    public void handleSelect(SelectionEvent event) {
        if (event.detail == SWT.CHECK) {
            super.handleSelect(event); 
            TableItem item = (TableItem) event.item;
            Object data = item.getData();