def copy(status_code = STATUS_SUCCESS)

      # use Marshal dump and load to make a deep object copy
      copied_header = Marshal.load( Marshal.dump(header))
      copied_body   = Marshal.load( Marshal.dump(body))

      copied_header.set("message_id",UUIDTools::UUID.timestamp_create.to_s)
      copied_header.set("created_at",now_stamp)
      copied_header.set("status.code",status_code)

      Message.new(copied_header, copied_body)
    end
def copy(status_code = STATUS_SUCCESS)

      # use Marshal dump and load to make a deep object copy
      copied_header = Marshal.load( Marshal.dump(header))
      copied_body   = Marshal.load( Marshal.dump(body))

      copied_header.set("message_id",UUIDTools::UUID.timestamp_create.to_s)
      copied_header.set("created_at",now_stamp)
      copied_header.set("status.code",status_code)

      Message.new(copied_header, copied_body)
    end
copies the message and set's provided status code (default: success), actual stamp, and a new message id