Bug 92851 [Viewers] [api] protected field StructuredViewer.colorAndFontCollector
3.1 HEAD colorAndFontCollector protected ColorAndFontCollector colorAndFontCollector This read-write field was added as API in the 3.1 cycle. Exposing fields as API (other than public static final ones) is bad practice because a client can change the field and there's nothing the class can do to prevent or even track that change. All access to read-write field should be through accessor methods, including access from subclasses. Also, this field is missing an @since 3.1 tag.
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TableTreeViewer.java
public TableTree getTableTree() {
        return tableTree;
    }
    /* (non-Javadoc)
     * Method declared on AbstractTreeViewer.
     */
    protected void hookControl(Control control) {
        super.hookControl(control);
        tableTree.getTable().addMouseListener(new MouseAdapter() {
            public void mouseDown(MouseEvent e) {
                
                
                 
                
                org.eclipse.swt.widgets.TableItem[] items = tableTree
                        .getTable().getItems();
                for (int i = 0; i < items.length; i++) {
                    Rectangle rect = items[i].getImageBounds(0);
                    if (rect.contains(e.x, e.y))
                        return;
                }
                tableViewerImpl.handleMouseDown(e);
            }
        });
    }
    /**
     * Returns whether there is an active cell editor.
     *
     * @return <code>true</code> if there is an active cell editor, and 
     *   <code>false</code> otherwise