@NotNull
  @Override
  public Collection<AbstractTreeNode<?>> modify(@NotNull AbstractTreeNode<?> parent, @NotNull Collection<AbstractTreeNode<?>> children, ViewSettings settings) {
    if (parent instanceof PsiDirectoryNode &&
        ProjectViewDirectoryHelper.getInstance(myProject).shouldHideProjectConfigurationFilesDirectory()) {
      final VirtualFile vFile = ((PsiDirectoryNode)parent).getVirtualFile();
      if (vFile != null && Comparing.equal(ProjectFileIndex.getInstance(myProject).getContentRootForFile(vFile), vFile)) {
        final Collection<? extends AbstractTreeNode<?>> moduleChildren = parent.getChildren();
        Collection<AbstractTreeNode<?>> result = new ArrayList<>();
        for (AbstractTreeNode<?> moduleChild : moduleChildren) {
          if (moduleChild instanceof PsiDirectoryNode) {
            PsiDirectory directory = ((PsiDirectoryNode)moduleChild).getValue();
            if (directory != null && directory.getName().equals(Project.DIRECTORY_STORE_FOLDER) && Registry.is("projectView.hide.dot.idea")) {
              continue;
            }
          }
          result.add(moduleChild);
        }
        return result;
      }
    }
    return children;
  }
@NotNull
  @Override
  public Collection<AbstractTreeNode<?>> modify(@NotNull AbstractTreeNode<?> parent, @NotNull Collection<AbstractTreeNode<?>> children, ViewSettings settings)