public void Read(__BinaryParser input)
{
byte [] headerBytes = input.ReadBytes(17);
// Throw if we couldnt read header bytes
if (headerBytes.Length < 17)
__Error.EndOfFile();
majorVersion = GetInt32(headerBytes, 9);
if (majorVersion > binaryFormatterMajorVersion)
throw new SerializationException(String.Format(CultureInfo.CurrentCulture, Environment.GetResourceString("Serialization_InvalidFormat"), BitConverter.ToString(headerBytes)));
// binaryHeaderEnum has already been read
binaryHeaderEnum = (BinaryHeaderEnum)headerBytes[0];
topId = GetInt32(headerBytes, 1);
headerId = GetInt32(headerBytes, 5);
minorVersion = GetInt32(headerBytes, 13);
}