@Override
    Node computeNode(Object object) {
      Node loaded = new Node(object, LeafState.get(object, model));
      if (loaded.leafState == LeafState.ALWAYS || isObsolete()) return loaded;

      if (model instanceof ChildrenProvider<?> provider) {
        loaded.children = load(provider.getChildren(object));
      }
      else {
        loaded.children = load(model.getChildCount(object), index -> model.getChild(object, index));
      }
      return loaded;
    }
@Override
    Node computeNode(Object object)