public static PathMatcherPredicate matches(final List<String> patterns) {
        return new PathMatcherPredicate(null, patterns);
    }
@Test
    void shouldMatchAllGivenRecursiveGlobExpressionAndNoBasePath() {
        // Given
        List<Path> paths = Stream.of("/base/test.txt", "/base/sub/dir/test.txt").map(Path::of).toList();
        PathMatcherPredicate predicate = PathMatcherPredicate.matches(List.of("**/*.txt"));
        // When
        List<Path> filtered = paths.stream().filter(predicate).toList();
        // Then
        assertEquals(paths, filtered);
    }