@Nullable CachingTreePath getPath(@Nullable TreeModelEvent event) {
    if (event == null) return null;
    var path = event.getTreePath();
    var model = getModel();
    // mimic sun.swing.SwingUtilities2.getTreePath
    if ((path == null) && (model != null)) {
      Object root = model.getRoot();
      if (root != null) {
        return new CachingTreePath(root);
      }
    }
    return CachingTreePath.ensureCaching(path);
  }
@Nullable CachingTreePath getPath(@Nullable TreeModelEvent event)