class IconTreeCellRenderer extends DefaultTreeCellRenderer {

    /**
     * a serial version UID.
     */
    private static final long serialVersionUID = 6513462839504342074L;

    /**
     * @see javax.swing.tree.DefaultTreeCellRenderer#getTreeCellRendererComponent(javax.swing.JTree, java.lang.Object,
     * boolean, boolean, boolean, int, boolean)
     */
    public Component getTreeCellRendererComponent(JTree tree, Object value,
            boolean selected, boolean expanded, boolean leaf, int row,
            boolean hasFocus) {<FILL_FUNCTION_BODY>}
}

        super.getTreeCellRendererComponent(tree, value, selected, expanded, leaf, row, hasFocus);
        if (value instanceof IconTreeNode) {
            IconTreeNode node = (IconTreeNode) value;
            setIcon(node.getIcon());
        }
        return this;
    
<methods>public void <init>() ,public void firePropertyChange(java.lang.String, byte, byte) ,public void firePropertyChange(java.lang.String, char, char) ,public void firePropertyChange(java.lang.String, short, short) ,public void firePropertyChange(java.lang.String, int, int) ,public void firePropertyChange(java.lang.String, long, long) ,public void firePropertyChange(java.lang.String, float, float) ,public void firePropertyChange(java.lang.String, double, double) ,public void firePropertyChange(java.lang.String, boolean, boolean) ,public java.awt.Color getBackgroundNonSelectionColor() ,public java.awt.Color getBackgroundSelectionColor() ,public java.awt.Color getBorderSelectionColor() ,public javax.swing.Icon getClosedIcon() ,public javax.swing.Icon getDefaultClosedIcon() ,public javax.swing.Icon getDefaultLeafIcon() ,public javax.swing.Icon getDefaultOpenIcon() ,public java.awt.Font getFont() ,public javax.swing.Icon getLeafIcon() ,public javax.swing.Icon getOpenIcon() ,public java.awt.Dimension getPreferredSize() ,public java.awt.Color getTextNonSelectionColor() ,public java.awt.Color getTextSelectionColor() ,public java.awt.Component getTreeCellRendererComponent(javax.swing.JTree, java.lang.Object, boolean, boolean, boolean, int, boolean) ,public void invalidate() ,public void paint(java.awt.Graphics) ,public void repaint() ,public void repaint(java.awt.Rectangle) ,public void repaint(long, int, int, int, int) ,public void revalidate() ,public void setBackground(java.awt.Color) ,public void setBackgroundNonSelectionColor(java.awt.Color) ,public void setBackgroundSelectionColor(java.awt.Color) ,public void setBorderSelectionColor(java.awt.Color) ,public void setClosedIcon(javax.swing.Icon) ,public void setFont(java.awt.Font) ,public void setLeafIcon(javax.swing.Icon) ,public void setOpenIcon(javax.swing.Icon) ,public void setTextNonSelectionColor(java.awt.Color) ,public void setTextSelectionColor(java.awt.Color) ,public void updateUI() ,public void validate() <variables>protected java.awt.Color backgroundNonSelectionColor,protected java.awt.Color backgroundSelectionColor,protected java.awt.Color borderSelectionColor,protected transient javax.swing.Icon closedIcon,private boolean drawDashedFocusIndicator,private boolean drawsFocusBorderAroundIcon,private boolean fillBackground,private java.awt.Color focusBGColor,protected boolean hasFocus,private boolean inited,private boolean isDropCell,protected transient javax.swing.Icon leafIcon,protected transient javax.swing.Icon openIcon,protected boolean selected,protected java.awt.Color textNonSelectionColor,protected java.awt.Color textSelectionColor,private javax.swing.JTree tree,private java.awt.Color treeBGColor