@Override
    public Collection<AbstractTreeNode<?>> getChildrenImpl() {
      List<AbstractTreeNode<?>> result = new ArrayList<>(myNestedFileNodes);
      PsiFile value = getValue();
      if (value instanceof PsiClassOwner) {
        ViewSettings settings = getSettings();
        PsiImplicitClass implicitClass = JavaImplicitClassUtil.getImplicitClassFor(value);
        if (implicitClass != null) {
          result.addAll(ClassTreeNode.computeChildren(implicitClass, settings, myProject, true));
        } else {
          for (PsiClass aClass : ((PsiClassOwner)value).getClasses()) {
            if (!(aClass instanceof SyntheticElement)) {
              result.add(new ClassTreeNode(myProject, aClass, settings));
            }
          }
        }
      }
      return result;
    }
@Override
    public Collection<AbstractTreeNode<?>> getChildrenImpl()