code: public String getReplaced(String substitute, int start, int end) {
  
      int restLength = this.limit - end;
      StringBuilder builder = builder(null);
      builder.append(this.buffer, this.initialOffset, start);
      builder.append(substitute);
      builder.append(this.buffer, this.initialOffset + end, restLength);
      return builder.toString();
    }
docs: This method gets the {@link #getOriginalString() original string} where the {@link #substring(int, int)
  substring} specified by {@code start} and {@code end} is replaced by {@code substitute}.
  
  @param substitute is the string used as replacement.
  @param start is the inclusive start index of the substring to replace.
  @param end is the exclusive end index of the substring to replace.
  @return the {@link #getOriginalString() original string} with the specified substring replaced by
  {@code substitute}.