private void updateColors() {
		// [srk] bug -- we got a null pointer exception here
		// make sure node is not null
		if (node == null) {
			return ;
		} // end if
		
		if (node.isAncestorSelected()) {
			if (pApplyFontStyleForComments && node.isComment()) {
				setForeground(pCommentColor);
			} else {
				setForeground(pBackgroundColor);
			}
			
			lineNumber.setForeground(pSelectedChildColor);
			
			if (node.isSelected()) {
				setBackground(pForegroundColor);
				lineNumber.setBackground(pLineNumberSelectedColor);
				button.setBackground(pForegroundColor);
				iComment.setBackground(pLineNumberSelectedColor);
				iEditable.setBackground(pLineNumberSelectedColor);
				iMoveable.setBackground(pLineNumberSelectedColor);
				
			} else {
				setBackground(pSelectedChildColor);
				lineNumber.setBackground(pLineNumberSelectedChildColor);
				button.setBackground(pSelectedChildColor);
				iComment.setBackground(pLineNumberSelectedChildColor);
				iEditable.setBackground(pLineNumberSelectedChildColor);
				iMoveable.setBackground(pLineNumberSelectedChildColor);
			}
			
		} else {
			if (pApplyFontStyleForComments && node.isComment()) {
				setForeground(pCommentColor);
			} else {
				setForeground(pForegroundColor);
			}
			
			setBackground(pBackgroundColor);
			lineNumber.setForeground(pForegroundColor);
			lineNumber.setBackground(pLineNumberColor);
			button.setBackground(pBackgroundColor);
			iComment.setBackground(pLineNumberColor);
			iEditable.setBackground(pLineNumberColor);
			iMoveable.setBackground(pLineNumberColor);
		}
	}