code: @Override
      public Component newNodeComponent(final String _wicketId,
                                        final IModel<UIStructurBrowser> _model)
      {
          return new Node<UIStructurBrowser>(_wicketId, this, _model)
          {
  
              private static final long serialVersionUID = 1L;
  
              @Override
              protected Component createContent(final String _wicketId,
                                                final IModel<UIStructurBrowser> _model)
              {
                  return newContentComponent(_wicketId, _model);
              }
  
              @Override
              protected MarkupContainer createJunctionComponent(final String _id)
              {
                  final UIStructurBrowser strucBrws = (UIStructurBrowser) getDefaultModelObject();
                  final MarkupContainer ret;
                  if (strucBrws.hasChildren() && strucBrws.isForceExpanded()) {
                      ret = new WebMarkupContainer(_id);
  
                  } else {
                      ret = super.createJunctionComponent(_id);
                  }
  
                  if (strucBrws.getLevel() > 0) {
                      ret.add(AttributeModifier.append("style", "margin-left:" + 15 * (strucBrws.getLevel() - 1) + "px"));
                  }
                  return ret;
              }
          };
      }
docs: Create a new component for a node.
  
  @param _wicketId  the component id
  @param _model     the model containing the node
  @return created component