@Override
  public @NotNull ImmutableCharSequence replace(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));
  }
@Override
  public @NotNull ImmutableCharSequence replace(int start, int end, @NotNull CharSequence seq)