@Override
  public void onAfterRefresh(final RepositoryTreeNode node) {
    myKeepingExpander.onAfterRefresh(node);

    if (node.isLeaf()) {
      return;
    }

    final ExpandVariants expandVariant = expandNode(node.getURL());

    if (ExpandVariants.DO_NOTHING.equals(expandVariant)) {
      return;
    }

    // then expanded
    myBrowser.expandNode(node);

    if (!ExpandVariants.EXPAND_AND_EXIT.equals(expandVariant)) {
      final Enumeration children = node.children();
      while (children.hasMoreElements()) {
        final TreeNode treeNode = (TreeNode)children.nextElement();
        if (treeNode instanceof RepositoryTreeNode repositoryTreeNode) {
          Url childUrl = repositoryTreeNode.getURL();
          if (checkChild(childUrl)) {
            if (mySelectionPath.equals(childUrl)) {
              myBrowser.setSelectedNode(repositoryTreeNode);
            }
            repositoryTreeNode.reload(this, false);
            return;
          }
        }
      }
    }
    removeSelf();
  }
@Override
  public void onAfterRefresh(final RepositoryTreeNode node)