DirectoryStream con PathMatcher no devuelve ninguna ruta

Aunque he visto muchas respuestas para preguntas similares, no puedo hacer que el siguiente código funcione como creo que debería:

File dataDir = new File("C:\\User\\user_id");
PathMatcher pathMatcher = FileSystems.getDefault()
    .getPathMatcher("glob:" + "**\\somefile.xml");
try (DirectoryStream<Path> dirStream = Files.newDirectoryStream(
    dataDir.toPath(), pathMatcher::matches)) {
    Iterator<Path> itStream = dirStream.iterator();
    while(itStream.hasNext()) {
        Path resultPath = itStream.next();
    }
} catch (IOException e) {...

Esperaba obtener una lista de rutas a todos los "somefile.xml" en C: \ User \ user_id y todos los subdirectorios debajo de eso. Sin embargo, el método hasNext () devuelve falso cada vez.

Respuestas a la pregunta(1)

Su respuesta a la pregunta