/** {@inheritDoc} */
    @Override
    public Component getTreeCellRendererComponent(
        final JTree aTree,
        final Object aValue,
        final boolean aSelected,
        final boolean aExpanded,
        final boolean aLeaf,
        final int aRow,
        final boolean aHasFocus) {
      Object value = aValue;

      if (value instanceof DefaultMutableTreeNode) {
        value = ((DefaultMutableTreeNode) value).getUserObject();
      }

      if (value instanceof ElementGroup) {
        ElementGroup elementGroup = (ElementGroup) value;
        value = elementGroup.getName();
      } else if (value instanceof SignalElement) {
        SignalElement signalElement = (SignalElement) value;
        value = signalElement.getLabel();
      }

      JLabel delegate =
          (JLabel)
              super.getTreeCellRendererComponent(
                  aTree, value, aSelected, aExpanded, aLeaf, aRow, aHasFocus);
      return delegate;
    }