public ObjectId ReadObjectId(byte tag = 255) { _ensureTag(tag, ApplicationTag.ObjectId); _ensureLength(4); uint val = new Union4(_reader.ReadUInt32()).ReverseLE().UInt32; ushort type = (ushort)(val >> 22); uint instance = (val & 0x003FFFFF); return new ObjectId(type, instance); }