boolean shouldExclude(boolean isDir,
                          @NotNull String filename,
                          @NotNull BooleanSupplier isRoot,
                          @NotNull BooleanSupplier isStrictRootChild,
                          @NotNull BooleanSupplier hasParentNotGrandparent);
boolean shouldExclude(boolean isDir,
                          @NotNull String filename,
                          @NotNull BooleanSupplier isRoot,
                          @NotNull BooleanSupplier isStrictRootChild,
                          @NotNull BooleanSupplier hasParentNotGrandparent)