@Override
  @NotNull
  public Collection<? extends AbstractTreeNode<?>> getChildren() {
    if (myCachedChildren == null) {
      myCachedChildren = new ArrayList<>();
      if (myPreviewUsages) {
        for (Pair<TypeMigrationUsageInfo, PsiType> root : myLabeler.getMigrationRoots()) {
          addRoot(root.getFirst(), root.getSecond());
        }
      }
      else {
        for (PsiElement root : myRoots) {
          addRoot(new TypeMigrationUsageInfo(root), myLabeler.getMigrationRootTypeFunction().fun(root));
        }
      }
    }
    return myCachedChildren;
  }
@Override
  @NotNull
  public Collection<? extends AbstractTreeNode<?>> getChildren()