Levels are used by headers. Within a header prefix, bytes 2 through 5 specify the AtomPrefixTypes.Level
of the header,
while the final two bits specify the AtomPrefixTypes.HeaderType
.
Since four bits are used for a level, there are 16 possible valid levels. Levels
l
is encoded as
15 - l
to ensure that, lexicographically, lower levels come last. Specifically:
level 0 is 1111
level 1 is 1110
level 2 is 1101
level 3 is 1100
level 4 is 1011
level 5 is 1010
level 6 is 1001
level 7 is 1000
level 8 is 0111
level 9 is 0110
level 10 is 0101
level 11 is 0100
level 12 is 0011
level 13 is 0010
level 14 is 0001
level 15 is 0000