code: public Message setBuffer(Buffer buf) {
          if(buf != null) {
              this.buf=buf.getBuf();
              this.offset=buf.getOffset();
              this.length=buf.getLength();
          }
          return this;
      }
docs: Sets the buffer<p/>
  Note that the byte[] buffer passed as argument must not be modified. Reason: if we retransmit the
  message, it would still have a ref to the original byte[] buffer passed in as argument, and so we would
  retransmit a changed byte[] buffer !