docs: private void init() {
          // Add this node to parents children
          if (null != parent) { parent.getChildren().add(this); }
  
          children.addListener((ListChangeListener<TreeNode>) c -> {
              while (c.next()) {
                  if (c.wasRemoved()) { c.getRemoved().forEach(removedItem -> removedItem.removeAllTreeNodeEventListeners()); }
              }
              getTreeRoot().fireTreeNodeEvent(CHILDREN_CHANGED);
          });
      }