/// <summary>Append a source buffer to the end of the internal buffer, resizing the internal buffer as required.</summary>
 /// <param name="srcBuffer">from which to copy.</param>
 /// <param name="srcOffset">in the source buffer from which to copy.</param>
 /// <param name="length">in bytes to copy from the source buffer.</param>
 /// <returns>the builder for fluent API usage.</returns>
 public virtual BufferBuilder Append(IClientProtocolBuffer srcBuffer, int srcOffset, int length)
 {
     EnsureCapacity(length);
     srcBuffer.GetBytes(srcOffset, _protocolBuffer.ByteArray(), _position, length);
     _position += length;
     return this;
 }