void (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)); } } } } }