public StreamObjectHeader TryParse(Stream s)
{
base.Parse(s);
byte temp = ReadByte();
s.Position -= 1;
StreamObjectHeader streamObjectHeader = new StreamObjectHeader();
if ((temp & 0x03) == 0x0)
{
streamObjectHeader = new bit16StreamObjectHeaderStart();
streamObjectHeader.Parse(s);
}
else if ((temp & 0x03) == 0x02)
{
streamObjectHeader = new bit32StreamObjectHeaderStart();
streamObjectHeader.Parse(s);
}
else if ((temp & 0x03) == 0x01)
{
streamObjectHeader = new bit8StreamObjectHeaderEnd();
streamObjectHeader.Parse(s);
}
else if ((temp & 0x03) == 0x03)
{
streamObjectHeader = new bit16StreamObjectHeaderEnd();
streamObjectHeader.Parse(s);
}
return streamObjectHeader;
}