public void fill(TLVAmqp value)
        {
            TLVList list = (TLVList)value;

            if (list.getList().Count > 0)
            {
                TLVAmqp element = list.getList()[0];
                if (!element.isNull())
                {
                    switch (element.Code)
                    {
                    case AMQPType.ULONG_0:
                    case AMQPType.SMALL_ULONG:
                    case AMQPType.ULONG:
                        _messageId = new LongID(AMQPUnwrapper <AMQPSymbol> .unwrapULong(element));
                        break;

                    case AMQPType.STRING_8:
                    case AMQPType.STRING_32:
                        _messageId = new StringID(AMQPUnwrapper <AMQPSymbol> .unwrapString(element));
                        break;

                    case AMQPType.BINARY_8:
                    case AMQPType.BINARY_32:
                        _messageId = new BinaryID(AMQPUnwrapper <AMQPSymbol> .unwrapBinary(element));
                        break;

                    case AMQPType.UUID:
                        _messageId = new UuidID(AMQPUnwrapper <AMQPSymbol> .unwrapUuid(element));
                        break;

                    default:
                        throw new ArgumentException("Expected type 'MessageID' - received: " + element.Code);
                    }
                }
            }
            if (list.getList().Count > 1)
            {
                TLVAmqp element = list.getList()[1];
                if (!element.isNull())
                {
                    _userId = AMQPUnwrapper <AMQPSymbol> .unwrapBinary(element);
                }
            }
            if (list.getList().Count > 2)
            {
                TLVAmqp element = list.getList()[2];
                if (!element.isNull())
                {
                    _to = AMQPUnwrapper <AMQPSymbol> .unwrapString(element);
                }
            }
            if (list.getList().Count > 3)
            {
                TLVAmqp element = list.getList()[3];
                if (!element.isNull())
                {
                    _subject = AMQPUnwrapper <AMQPSymbol> .unwrapString(element);
                }
            }
            if (list.getList().Count > 4)
            {
                TLVAmqp element = list.getList()[4];
                if (!element.isNull())
                {
                    _replyTo = AMQPUnwrapper <AMQPSymbol> .unwrapString(element);
                }
            }
            if (list.getList().Count > 5)
            {
                TLVAmqp element = list.getList()[5];
                if (!element.isNull())
                {
                    _correlationId = AMQPUnwrapper <AMQPSymbol> .unwrapBinary(element);
                }
            }
            if (list.getList().Count > 6)
            {
                TLVAmqp element = list.getList()[6];
                if (!element.isNull())
                {
                    _contentType = AMQPUnwrapper <AMQPSymbol> .unwrapString(element);
                }
            }
            if (list.getList().Count > 7)
            {
                TLVAmqp element = list.getList()[7];
                if (!element.isNull())
                {
                    _contentEncoding = AMQPUnwrapper <AMQPSymbol> .unwrapString(element);
                }
            }
            if (list.getList().Count > 8)
            {
                TLVAmqp element = list.getList()[8];
                if (!element.isNull())
                {
                    _absoluteExpiryTime = AMQPUnwrapper <AMQPSymbol> .unwrapTimestamp(element);
                }
            }
            if (list.getList().Count > 9)
            {
                TLVAmqp element = list.getList()[9];
                if (!element.isNull())
                {
                    _creationTime = AMQPUnwrapper <AMQPSymbol> .unwrapTimestamp(element);
                }
            }
            if (list.getList().Count > 10)
            {
                TLVAmqp element = list.getList()[10];
                if (!element.isNull())
                {
                    _groupId = AMQPUnwrapper <AMQPSymbol> .unwrapString(element);
                }
            }
            if (list.getList().Count > 11)
            {
                TLVAmqp element = list.getList()[11];
                if (!element.isNull())
                {
                    _groupSequence = AMQPUnwrapper <AMQPSymbol> .unwrapUInt(element);
                }
            }
            if (list.getList().Count > 12)
            {
                TLVAmqp element = list.getList()[12];
                if (!element.isNull())
                {
                    _replyToGroupId = AMQPUnwrapper <AMQPSymbol> .unwrapString(element);
                }
            }
        }