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/StructuredViewer.java
if(font == null)
					font = fontProvider.getFont(element);	
			}
			
			if(colorProvider == null)
				return;			
			
			if(background == null)
				background = colorProvider.getBackground(element);
			
			if(foreground == null)
				foreground = colorProvider.getForeground(element);			
		}
		
		/**
		 * Apply the fonts and colors to the control if
		 * required.
		 * @param control
		 */
		public void applyFontsAndColors(TableItem control) {
			
			if(colorProvider == null){
				if(usedDecorators){
					
					if(background != null)
						control.setBackground(background);
				
					if(foreground != null)
						control.setForeground(foreground);
				}