code: public Message setBuffer(byte[] b) {
          buf=b;
          if(buf != null) {
              offset=0;
              length=buf.length;
          }
          else
              offset=length=0;
          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 !