docs: public Message copy(boolean copy_buffer, boolean copy_headers) {
          Message retval=new Message(false);
          retval.dest=dest;
          retval.sender=sender;
          short tmp_flags=this.flags;
          byte tmp_tflags=this.transient_flags;
          retval.flags=tmp_flags;
          retval.transient_flags=tmp_tflags;
  
          if(copy_buffer && buf != null)
              retval.setBuffer(buf, offset, length);
  
          retval.headers=copy_headers && headers != null? Headers.copy(this.headers) : createHeaders(Util.DEFAULT_HEADERS);
          return retval;
      }