docs: public StrBuilder insert(int index, CharSequence csq, int start, int end) {
  		if (csq == null) {
  			csq = "null";
  		}
  		final int csqLen = csq.length();
  		if (start > csqLen) {
  			return this;
  		}
  		if (start < 0) {
  			start = 0;
  		}
  		if (end > csqLen) {
  			end = csqLen;
  		}
  		if (start >= end) {
  			return this;
  		}
  		if (index < 0) {
  			index = 0;
  		}
  
  		final int length = end - start;
  		moveDataAfterIndex(index, length);
  		for (int i = start, j = this.position; i < end; i++, j++) {
  			value[j] = csq.charAt(i);
  		}
  		this.position = Math.max(this.position, index) + length;
  		return this;
  	}