ChildPath extends AbstractPath { @Override public Path getParent() { return parent; } ChildPath( Path parent,
                      Path.Segment child ); @Override Path getAncestor( int degree ); @Override Segment getLastSegment(); @Override Path getParent(); @Override Segment getSegment( int index ); @Override List<Segment> getSegmentsList(); @Override boolean hasSameAncestor( Path that ); @Override boolean isAbsolute(); @Override boolean isAtOrBelow( Path other ); @Override boolean isDescendantOf( Path ancestor ); @Override boolean isNormalized(); @Override boolean isRoot(); @Override @SuppressWarnings( "synthetic-access" ) Iterator<Segment> iterator(); @Override int size(); @Override Path subpath( int beginIndex,
                         int endIndex );  }
@Test public void shouldReturnParentInstanceFromGetParent() { assertThat(path.getParent(), is(sameInstance(parent))); }