text: public CharBlockArray append(String s) {int remain = s.length();int offset = 0;while (remain > 0) {if (this.current.length == this.blockSize) {addBlock();}int toCopy = remain;int remainingInBlock = this.blockSize - this.current.length;if (remainingInBlock < toCopy) {toCopy = remainingInBlock;}s.getChars(offset, offset + toCopy, this.current.chars, this.current.length);offset += toCopy;remain -= toCopy;this.current.length += toCopy;}this.length += s.length();return this;}