public void WriteEnumerated(uint value, byte tag = 255)
{
int length = 0;
if (value < (1 << 8))
length = 1;
else if (value < (1 << 16))
length = 2;
else if (value < (1 << 24))
length = 3;
else
length = 4;
_writeLengthHeader(tag, ApplicationTag.Enumerated, length);
for(int i = 0; i < length; i++)
{
_writer.Write((byte)value);
value >>= 8;
}
}