static boolean isDescendant(Path root, Path descendant) {
        return descendant.toAbsolutePath().normalize()
                .startsWith(root.toAbsolutePath().normalize());
    }
@Test
    public void testDescendant() throws Exception {

        Path root = Paths.get("/ab/cd/");
        Path descendant = root.resolve("ef/gh/ij.pdf");
        assertTrue(FileSystemFetcher.isDescendant(root, descendant));

        descendant = Paths.get("/cd/ef.pdf");
        assertFalse(FileSystemFetcher.isDescendant(root, descendant));

        descendant = root.resolve("../../ij.pdf");
        assertFalse(FileSystemFetcher.isDescendant(root, descendant));
    }