Buggy code:
public class TreeItem extends Item { Tree parent ; TreeItem parentItem ; TreeItem [ ] items = new TreeItem [ 0 ] ; int availableIndex = - 1 ; boolean checked ; boolean grayed ; boolean expanded ; String [ ] texts = new String [ 1 ] ; int [ ] textWidths = new int [ 1 ] ; int fontHeight ; int [ ] fontHeights ; Image [ ] images = new Image [ 1 ] ; Color foreground ; Color background ; Color [ ] cellForegrounds ; Color [ ] cellBackgrounds ; Font font ; Font [ ] cellFonts ; static Color LinesColor ; static Color SelectionBackgroundColor ; static Color SelectionForegroundColor ; static Image ExpandedImage ; static Image CollapsedImage ; static Image UncheckedImage ; static Image GrayUncheckedImage ; static Image CheckmarkImage ; static final int INDENT_HIERARCHY = 6 ; static final int MARGIN_TEXT = 3 ; static final ImageData IMAGEDATA_CHECKMARK ; static final ImageData IMAGEDATA_GRAY_UNCHECKED ; static final ImageData IMAGEDATA_UNCHECKED ; static final ImageData IMAGEDATA_COLLAPSED ; static final ImageData IMAGEDATA_EXPANDED ; public TreeItem ( Tree parent , int style ) { } public TreeItem ( Tree parent , int style , int index ) { } public TreeItem ( TreeItem parentItem , int style ) { } public TreeItem ( TreeItem parentItem , int style , int index ) { } void addItem ( TreeItem item , int index ) { } static Tree checkNull ( Tree tree ) { } static TreeItem checkNull ( TreeItem item ) { } void columnAdded ( TreeColumn column ) { } void columnRemoved ( TreeColumn column , int index ) { } TreeItem [ ] computeAllDescendents ( ) { } int computeAvailableDescendentCount ( ) { } TreeItem [ ] computeAvailableDescendents ( ) { } public void dispose ( ) { } void dispose ( boolean notifyParent ) { } void expandAncestors ( ) { } public Color getBackground ( ) { } public Color getBackground ( int columnIndex ) { } public Rectangle getBounds ( ) { } public Rectangle getBounds ( int columnIndex ) { } Rectangle getCheckboxBounds ( ) { } public boolean getChecked ( ) { } int getContentX ( int columnIndex ) { } int getDepth ( ) { } public boolean getExpanded ( ) { } Rectangle getExpanderBounds ( ) { } Rectangle getFocusBounds ( ) { } int getFocusX ( ) { } public Font getFont ( ) { } public Font getFont ( int columnIndex ) { } int getFontHeight ( ) { } int getFontHeight ( int columnIndex ) { } public Color getForeground ( ) { } public Color getForeground ( int columnIndex ) { } public boolean getGrayed ( ) { } Point [ ] getHconnectorEndpoints ( ) { } Rectangle getHitBounds ( ) { } public Image getImage ( ) { } public Image getImage ( int columnIndex ) { } public Rectangle getImageBounds ( int columnIndex ) { } int getIndex ( ) { } public int getItemCount ( ) { } public TreeItem [ ] getItems ( ) { } public Tree getParent ( ) { } public TreeItem getParentItem ( ) { } public String getText ( ) { } public String getText ( int columnIndex ) { } int getTextPaintWidth ( int columnIndex ) { } int getTextX ( int columnIndex ) { } boolean hasAncestor ( TreeItem item ) { } void initialize ( ) { if ( ( TreeItem . ExpandedImage ) == null ) { Display display = getDisplay ( ) ; TreeItem . ExpandedImage = new Image ( display , TreeItem . IMAGEDATA_EXPANDED ) ; TreeItem . CollapsedImage = new Image ( display , TreeItem . IMAGEDATA_COLLAPSED ) ; TreeItem . UncheckedImage = new Image ( display , TreeItem . IMAGEDATA_UNCHECKED ) ; TreeItem . GrayUncheckedImage = new Image ( display , TreeItem . IMAGEDATA_GRAY_UNCHECKED ) ; TreeItem . CheckmarkImage = new Image ( display , TreeItem . IMAGEDATA_CHECKMARK ) ; <START_BUG> TreeItem . LinesColor = display . getSystemColor ( COLOR_GRAY ) ; <END_BUG> TreeItem . SelectionBackgroundColor = display . getSystemColor ( COLOR_LIST_SELECTION ) ; TreeItem . SelectionForegroundColor = display . getSystemColor ( COLOR_LIST_SELECTION_TEXT ) ; } } boolean isAvailable ( ) { } boolean isLastChild ( ) { } boolean isRoot ( ) { } boolean isSelected ( ) { } void paint ( GC gc , TreeColumn column , boolean paintCellContent ) { } void recomputeTextWidths ( GC gc ) { } void redrawItem ( ) { } void removeItem ( TreeItem item , int index ) { } public void setBackground ( Color value ) { } public void setBackground ( int columnIndex , Color value ) { } public void setChecked ( boolean value ) { } public void setExpanded ( boolean value ) { } public void setFont ( Font value ) { } public void setFont ( int columnIndex , Font value ) { } public void setForeground ( Color value ) { } public void setForeground ( int columnIndex , Color value ) { } public void setGrayed ( boolean value ) { } public void setImage ( Image value ) { } public void setImage ( Image [ ] value ) { } public void setImage ( int columnIndex , Image value ) { } public void setText ( String value ) { } public void setText ( String [ ] value ) { } public void setText ( int columnIndex , String value ) { } void updateFont ( GC gc ) { } }

Fix:
TreeItem . LinesColor = new Color ( display , 170 , 170 , 170 ) ;