public List<CaseInsensitiveString> pathIncludingAncestor() {
        if (cachedPathIncludingAncestor == null) {
            cachedPathIncludingAncestor = Collections.unmodifiableList(pathToAncestor(-1));
        }
        return cachedPathIncludingAncestor;
    }
@Test
    public void shouldReturnPath_includingActualAncestorNode() {
        PathFromAncestor path = new PathFromAncestor(new CaseInsensitiveString("grand-parent/parent/child"));
        assertThat(path.pathIncludingAncestor(), is(List.of(new CaseInsensitiveString("child"), new CaseInsensitiveString("parent"), new CaseInsensitiveString("grand-parent"))));
    }