# File lib/mongo/protocol/serializers.rb, line 189
        def self.deserialize(buffer)
          end_length = (@flag_bits & Msg::FLAGS.index(:checksum_present)) == 1 ? 32 : 0
          sections = []
          until buffer.length == end_length
            case byte = buffer.get_byte
            when PayloadZero::TYPE_BYTE
              sections << PayloadZero.deserialize(buffer)
            when PayloadOne::TYPE_BYTE
              sections += PayloadOne.deserialize(buffer)
            else
              raise Error::UnknownPayloadType.new(byte)
            end
          end
          sections
        end