public Component getTreeCellRendererComponent(JTree tree, Object object, boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus) {
		JLabel label = (JLabel) super.getTreeCellRendererComponent(tree, object, sel, expanded, leaf, row, hasFocus);
		
		if (object instanceof AbstractTreeNode) {
			AbstractTreeNode node = (AbstractTreeNode)object;
			label.setIcon(node.getIcon());
			label.setForeground(node.getColor());
		} else {
			label.setIcon(null);
			label.setForeground(Color.black);
		}
		
		if (leaf) {
			label.setFont(new Font(this.getFont().getName(), Font.PLAIN, this.getFont().getSize()));
		} else {
			label.setFont(new Font(this.getFont().getName(), Font.BOLD, this.getFont().getSize()));
		}
				
		return label;
	}