Bug 319509 [Viewers] Empty rows in CheckboxTableViewer with virtual table
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/CheckboxTableViewer.java
if (data != null) {
                fireCheckStateChanged(new CheckStateChangedEvent(this, data,
                        item.getChecked()));
            }
        } else {
			super.handleSelect(event);
		}
    }
    /* (non-Javadoc)
     * Method declared on Viewer.
     */
    protected void preservingSelection(Runnable updateCode) {
		if (!getPreserveSelection()) {
			return;
		}
    	
    	
    	if(checkStateProvider != null) {
    		 
    		
    		super.preservingSelection(updateCode);
    		return;
    	}
    	
    	
        TableItem[] children = getTable().getItems();
        CustomHashtable checked = newHashtable(children.length * 2 + 1);
        CustomHashtable grayed = newHashtable(children.length * 2 + 1);
        for (int i = 0; i < children.length; i++) {
            TableItem item = children[i];