code: public void append(byte[] contents, int length) {
  		if (contents == null || length <= 0) {
  			return;
  		}
  		
  		int len = Math.min(contents.length, length);
  		if (pos + len > body.length) {
  			byte[] newBody = new byte[pos + len];
  			System.arraycopy(body, 0, newBody, 0, pos);
  			body = newBody;
  		}
  		System.arraycopy(contents, 0, body, pos, len);
  		pos += len;
  		
          cachedString = null;
  	}
docs: Appends the given {@code contents} to the body, up to a certain length.
  <p>
  If the {@code contents} are {@code null} or the {@code length} negative or zero, the call to this method has no effect.
  
  @param contents the contents to append, might be {@code null}
  @param length the length of contents to append