@ApiStatus.Internal
  public static @NotNull List<AbstractTreeNode<?>> computeChildren(PsiClass parent,
                                                                   ViewSettings settings,
                                                                   Project project,
                                                                   boolean showInnerClasses) {
    List<AbstractTreeNode<?>> treeNodes = new ArrayList<>();
    if (parent != null) {
      try {
        boolean showMembers = settings.isShowMembers();
        if (showMembers || showInnerClasses) {
          for (PsiClass psi : parent.getInnerClasses()) {
            if (psi.isPhysical()) {
              treeNodes.add(new ClassTreeNode(project, psi, settings));
            }
          }
        }
        if (showMembers) {
          for (PsiMethod psi : parent.getMethods()) {
            if (psi.isPhysical()) {
              treeNodes.add(new PsiMethodNode(project, psi, settings));
            }
          }
          for (PsiField psi : parent.getFields()) {
            if (psi.isPhysical()) {
              treeNodes.add(new PsiFieldNode(project, psi, settings));
            }
          }
        }
      }
      catch (IndexNotReadyException ignore) {
      }
    }
    return treeNodes;
  }
@ApiStatus.Internal
  public static @NotNull List<AbstractTreeNode<?>> computeChildren(PsiClass parent,
                                                                   ViewSettings settings,
                                                                   Project project,
                                                                   boolean showInnerClasses)