Почему по трём пунктам не проходит? Почему проходит по maxSize? Логика простая - если параметр поиска задан и не подходит - устанавливаем флаг на "ложь", файл не добавляем. Если параметр не задан или соответствует критиериям - флаг на true.Собрали все true - добавили файл. Вообще никаких параметров нет - добавляем все подряд. Почему не работает?
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {

        byte[] content = Files.readAllBytes(file); // размер файла: content.length

        boolean partOfNameBool = partOfName != null;
        boolean partOfContentBool = partOfContent != null;
        boolean minSizeBool = false;
        boolean maxSizeBool = false;

        if (minSize>-1) {
            minSizeBool = true;
        }else System.out.println("Минимальный размер файла не может быть меньше нуля.");
        if (maxSize>-1) {
            maxSizeBool = true;
        }else System.out.println("Максимальный размер файла не может быть меньше нуля.");

        boolean flag = true;



            if (partOfNameBool && !file.getFileName().toString().contains(partOfName)) {
                flag = false;
            }

            if (partOfContentBool && !content.toString().contains(partOfContent)) {
                flag = false;
            }

            if (minSizeBool && content.length <= minSize) {
                flag = false;
            }

            if (maxSizeBool && content.length >= maxSize) {
//                if (!foundFiles.contains(file)) foundFiles.add(file);
                flag = false;
            }

            if (flag && !foundFiles.contains(file)) foundFiles.add(file);

        return FileVisitResult.CONTINUE;
    }