CObjectHookGuardBase::CObjectHookGuardBase(const CObjectTypeInfo& info, const string& id, CSkipChoiceVariantHook& hook, CObjectIStream* stream) : m_Hook(&hook), m_HookMode(eHook_Skip), m_HookType(eHook_Variant), m_Id(id) { m_Stream.m_IStream = stream; CObjectTypeInfoVI variant = info.FindVariant(id); if ( stream ) { variant.SetLocalSkipHook(*stream, &hook); } }