ImmutableCharSequence (int start, int end, @NotNull CharSequence seq) { if (start == end) return insert(start, seq); if (seq.length() == 0) return delete(start, end); if (start > end) { throw new IndexOutOfBoundsException(); } return subtext(0, start).concat(valueOf(seq)).concat(subtext(end)); }