@Override public BasedSequence subSequence(int start, int end) { if (start < 0 || start > length) { throw new StringIndexOutOfBoundsException("String index out of range: " + start); } if (end < 0 || end > length) { throw new StringIndexOutOfBoundsException("String index out of range: " + end); } if (start == 0 && end == length) { return this; } else { return new SegmentedSequence(baseSeq, baseOffsets, baseStartOffset + start, nonBaseChars, end - start); } }
return mergedSequences.get(0); } else if (mergedSequences.size() != 0) { return new SegmentedSequence(mergedSequences, startOffset, endOffset);
@Override public BasedSequence subSequence(int start, int end) { if (start < 0 || start > length) { throw new StringIndexOutOfBoundsException("String index out of range: " + start); } if (end < 0 || end > length) { throw new StringIndexOutOfBoundsException("String index out of range: " + end); } if (start == 0 && end == length) { return this; } else { return new SegmentedSequence(baseSeq, baseOffsets, baseStartOffset + start, nonBaseChars, end - start); } }
return mergedSequences.get(0); } else if (mergedSequences.size() != 0) { return new SegmentedSequence(mergedSequences, startOffset, endOffset);