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