AlignedString implements Iterable<AlignedString.DataSegment> { public String get() { if (_stringDirty) { final StringBuilder sb = new StringBuilder(); for (final DataSegment s : this) { sb.append(s.get()); } _content = sb.toString(); _stringDirty = false; } return _content; } private  AlignedString();  AlignedString(final String base);  AlignedString(final AlignedString underlying); void fireChange(); Interval resolve(final Interval i); ImmutableInterval inverseResolve(final ImmutableInterval i); AbstractDataSegment getSegmentAt(final int position); AbstractDataSegment getFirst(); AbstractDataSegment getLast(); @Override Iterator<DataSegment> iterator(); int length(); String get(); void updateCaches(); String get(final int start, final int end); void insert(final int pos, final String s); void delete(final int start, final int end); void replace(final int start, final int end, final String d); Anchor getAnchor(final int pos); Collection<Anchor> getAnchors(); Collection<DataSegment> getSegments(); String dataSegmentsToString(); @Override String toString();  }
@Test public void testGet() { assertEquals(baseString, top.get()); }