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
}
    /* (non-Javadoc)
     * Method declared on AbstractTreeViewer.
     */
    protected Item[] getChildren(Widget o) {
        if (o instanceof TableTreeItem)
            return ((TableTreeItem) o).getItems();
        if (o instanceof TableTree)
            return ((TableTree) o).getItems();
        return null;
    }
   
    
    /* (non-Javadoc)
     * @see org.eclipse.jface.viewers.AbstractTreeViewer#getChild(org.eclipse.swt.widgets.Widget, int)
     */
    protected Item getChild (Widget widget, int index) {
      if (widget instanceof TableTreeItem)
        return ((TableTreeItem) widget).getItem (index);
      if (widget instanceof TableTree)
        return ((TableTree) widget).getItem (index);
      return null;
    }
    /**
     * Returns the column properties of this viewer.
     * The properties must correspond with the columns of the table control.
     * They are used to identify the column in a cell modifier.
     *
     * @return the list of column properties
     */