# File lib/amq/protocol/client.rb, line 1389
      def self.encode_properties(body_size, properties)
        pieces, flags = [], 0

        properties.each do |key, value|
          i, f, result = self.send("encode_#{key}""encode_#{key}", value)
          flags |= f
          pieces[i] = result
        end

        # result = [60, 0, body_size, flags].pack("n2Qn")
        result = [60, 0].pack(PACK_UINT16_X2)
        result += AMQ::Hacks.pack_64_big_endian(body_size)
        result += [flags].pack(PACK_UINT16)
        result + pieces.join(EMPTY_STRING)
      end