public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus)
   {
     if ((value instanceof Group)) {
       String groupName = ((Group)value).getName();
       this.separatorLabel.setText(groupName);
       this.separatorRender.setToolTipText(groupName);
 
       if ((list.getParent() instanceof FreeListPane)) {
         FreeListPane pane = (FreeListPane)list.getParent();
         if (pane.isShrinked()) {
           this.separatorLabel.setText(" ");
           this.separatorLabel.setOpaque(false);
         } else {
           this.separatorLabel.setOpaque(true);
         }
       }
 
       return this.separatorRender;
     }
     super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
 
     setToolTipText(getText());
     if ((value instanceof Node)) {
       Node node = (Node)value;
       if (node.getToolTipText() != null) {
         String tooltip = "<html>" + getText() + "<br>" + node.getToolTipText() + "</html>";
         this.itemRender.setToolTipText(tooltip);
       }
     }
 
     if ((list.getParent() instanceof FreeListPane)) {
       FreeListPane pane = (FreeListPane)list.getParent();
       if (pane.isShrinked()) {
         setBorder(BorderFactory.createEmptyBorder(2, 7, 1, 2));
         setText("");
       } else {
         setBorder(BorderFactory.createEmptyBorder(2, 20, 1, 2));
       }
     }
     if (isSelected) {
       setBackground(this.itemSelectedBackground);
       this.itemRender.setBorder(BorderFactory.createLineBorder(this.itemSelectedBorder));
     } else {
       this.itemRender.setBorder(BorderFactory.createEmptyBorder(1, 1, 1, 1));
     }
     setForeground(this.itemTextColor);
 
     if (((Element)value).getIconURL().equals("-")) {
       setIcon(FreeUtil.BLANK_ICON);
     }
     return this.itemRender;
   }