@Override
  public void onBeforeRefresh(final RepositoryTreeNode node) {
    mySelectionExpander.onBeforeRefresh(node);

    myThirdLevel = new HashMap<>();
    myExpanded = new ArrayList<>();

    final Enumeration<TreeNode> children = node.children();
    while (children.hasMoreElements()) {
      final TreeNode treeNode = children.nextElement();
      if (treeNode instanceof RepositoryTreeNode repositoryNode) {
        final List<TreeNode> thirdLevelChildren = repositoryNode.getAllAlreadyLoadedChildren();

        final String nodeName = repositoryNode.getSVNDirEntry().getName();

        if (! thirdLevelChildren.isEmpty()) {
          final boolean selfExpanded = myBrowser.isExpanded(repositoryNode);
          myThirdLevel.put(nodeName, new ChildrenData(selfExpanded, thirdLevelChildren, repositoryNode.getChildrenLoadState()));
          if (selfExpanded) {
            myExpanded.addAll(myBrowser.getExpandedSubTree(repositoryNode));
          }
        }
      }
    }
  }
@Override
  public void onBeforeRefresh(final RepositoryTreeNode node)