public boolean isAbsolute() {
        final int start = hasWindowsDrive(uri.getPath(), true) ? 3 : 0;
        return uri.getPath().startsWith(SEPARATOR, start);
    }
@Test
    void testIsAbsolute() {

        // UNIX

        Path p = new Path("/my/abs/path");
        assertThat(p.isAbsolute()).isTrue();

        p = new Path("/");
        assertThat(p.isAbsolute()).isTrue();

        p = new Path("./my/rel/path");
        assertThat(p.isAbsolute()).isFalse();

        p = new Path("my/rel/path");
        assertThat(p.isAbsolute()).isFalse();

        // WINDOWS

        p = new Path("C:/my/abs/windows/path");
        assertThat(p.isAbsolute()).isTrue();

        p = new Path("y:/my/abs/windows/path");
        assertThat(p.isAbsolute()).isTrue();

        p = new Path("/y:/my/abs/windows/path");
        assertThat(p.isAbsolute()).isTrue();

        p = new Path("b:\\my\\abs\\windows\\path");
        assertThat(p.isAbsolute()).isTrue();

        p = new Path("/c:/my/dir");
        assertThat(p.isAbsolute()).isTrue();

        p = new Path("/C:/");
        assertThat(p.isAbsolute()).isTrue();

        p = new Path("C:");
        assertThat(p.isAbsolute()).isFalse();

        p = new Path("C:/");
        assertThat(p.isAbsolute()).isTrue();

        p = new Path("C:my\\relative\\path");
        assertThat(p.isAbsolute()).isFalse();

        p = new Path("\\my\\dir");
        assertThat(p.isAbsolute()).isTrue();

        p = new Path("\\");
        assertThat(p.isAbsolute()).isTrue();

        p = new Path(".\\my\\relative\\path");
        assertThat(p.isAbsolute()).isFalse();

        p = new Path("my\\relative\\path");
        assertThat(p.isAbsolute()).isFalse();

        p = new Path("\\\\myServer\\myDir");
        assertThat(p.isAbsolute()).isTrue();
    }