/// <summary>
        /// Serializes the field, including the field number, and writes it to
        /// <paramref name="output"/>.
        /// </summary>
        public void WriteTo(int fieldNumber, ICodedOutputStream output)
        {
            foreach (ulong value in varintList)
            {
                output.WriteUnknownField(fieldNumber, WireFormat.WireType.Varint, value);
            }
            foreach (uint value in fixed32List)
            {
                output.WriteUnknownField(fieldNumber, WireFormat.WireType.Fixed32, value);
            }
            foreach (ulong value in fixed64List)
            {
                output.WriteUnknownField(fieldNumber, WireFormat.WireType.Fixed64, value);
            }
            foreach (ByteString value in lengthDelimitedList)
            {
                output.WriteUnknownBytes(fieldNumber, value);
            }
            foreach (UnknownFieldSet value in groupList)
            {
#pragma warning disable 0612
                output.WriteUnknownGroup(fieldNumber, value);
#pragma warning restore 0612
            }
        }