private static void accumulateChildren(final @NotNull TreeNode node, final @NotNull List<? super TreeNode> list, final boolean showRoot) {
      if (showRoot || node.getParent() != null) list.add(node);

      final int count = node.getChildCount();
      for (int i = 0; i < count; i++) {
        accumulateChildren(node.getChildAt(i), list, showRoot);
      }
    }
private static void accumulateChildren(final @NotNull TreeNode node, final @NotNull List<? super TreeNode> list, final boolean showRoot)