Represents a single field in an {@code UnknownFieldSet}.
A {@code Field} consists of five lists of values. The lists correspondto the five "wire types" used in the protocol buffer binary format. The wire type of each field can be determined from the encoded form alone, without knowing the field's declared type. So, we are able to parse unknown values at least this far and separate them. Normally, only one of the five lists will contain any values, since it is impossible to define a valid message type that declares two different types for the same field number. However, the code is designed to allow for the case where the same unknown field number is encountered using multiple different wire types.
{@code Field} is an immutable class. To construct one, you must use a{@link Field.Builder}.
@see UnknownFieldSet