/// <summary> Initializes the class members</summary>
        private void InitClassMembers()
        {
            _policy = new policyDB.CollectionClasses.PolicyCollection(new PolicyEntityFactory());
            _policy.SetContainingEntityInfo(this, "CombineMode");
            _alwaysFetchPolicy = false;
            _alreadyFetchedPolicy = false;
            _libraryCollectionViaPolicy = new policyDB.CollectionClasses.LibraryCollection(new LibraryEntityFactory());
            _alwaysFetchLibraryCollectionViaPolicy = false;
            _alreadyFetchedLibraryCollectionViaPolicy = false;
            _targetCollectionViaPolicy = new policyDB.CollectionClasses.TargetCollection(new TargetEntityFactory());
            _alwaysFetchTargetCollectionViaPolicy = false;
            _alreadyFetchedTargetCollectionViaPolicy = false;

            PerformDependencyInjection();

            // __LLBLGENPRO_USER_CODE_REGION_START InitClassMembers
            // __LLBLGENPRO_USER_CODE_REGION_END
            OnInitClassMembersComplete();
        }
        /// <summary> Initializes the class members</summary>
        private void InitClassMembers()
        {
            _policyDocument = new policyDB.CollectionClasses.PolicyDocumentCollection(new PolicyDocumentEntityFactory());
            _policyDocument.SetContainingEntityInfo(this, "PolicyLink");
            _alwaysFetchPolicyDocument = false;
            _alreadyFetchedPolicyDocument = false;
            _children = new policyDB.CollectionClasses.PolicyLinkCollection(new PolicyLinkEntityFactory());
            _children.SetContainingEntityInfo(this, "Parent");
            _alwaysFetchChildren = false;
            _alreadyFetchedChildren = false;
            _libraryCollectionViaPolicyDocument = new policyDB.CollectionClasses.LibraryCollection(new LibraryEntityFactory());
            _alwaysFetchLibraryCollectionViaPolicyDocument = false;
            _alreadyFetchedLibraryCollectionViaPolicyDocument = false;
            _policyCollectionViaPolicyLink = new policyDB.CollectionClasses.PolicyCollection(new PolicyEntityFactory());
            _alwaysFetchPolicyCollectionViaPolicyLink = false;
            _alreadyFetchedPolicyCollectionViaPolicyLink = false;
            _policy = null;
            _policyReturnsNewIfNotFound = true;
            _alwaysFetchPolicy = false;
            _alreadyFetchedPolicy = false;
            _parent = null;
            _parentReturnsNewIfNotFound = true;
            _alwaysFetchParent = false;
            _alreadyFetchedParent = false;

            PerformDependencyInjection();

            // __LLBLGENPRO_USER_CODE_REGION_START InitClassMembers
            // __LLBLGENPRO_USER_CODE_REGION_END
            OnInitClassMembersComplete();
        }
        /// <summary>Private CTor for deserialization</summary>
        /// <param name="info"></param>
        /// <param name="context"></param>
        protected CombineModeEntity(SerializationInfo info, StreamingContext context)
            : base(info, context)
        {
            _policy = (policyDB.CollectionClasses.PolicyCollection)info.GetValue("_policy", typeof(policyDB.CollectionClasses.PolicyCollection));
            _alwaysFetchPolicy = info.GetBoolean("_alwaysFetchPolicy");
            _alreadyFetchedPolicy = info.GetBoolean("_alreadyFetchedPolicy");
            _libraryCollectionViaPolicy = (policyDB.CollectionClasses.LibraryCollection)info.GetValue("_libraryCollectionViaPolicy", typeof(policyDB.CollectionClasses.LibraryCollection));
            _alwaysFetchLibraryCollectionViaPolicy = info.GetBoolean("_alwaysFetchLibraryCollectionViaPolicy");
            _alreadyFetchedLibraryCollectionViaPolicy = info.GetBoolean("_alreadyFetchedLibraryCollectionViaPolicy");
            _targetCollectionViaPolicy = (policyDB.CollectionClasses.TargetCollection)info.GetValue("_targetCollectionViaPolicy", typeof(policyDB.CollectionClasses.TargetCollection));
            _alwaysFetchTargetCollectionViaPolicy = info.GetBoolean("_alwaysFetchTargetCollectionViaPolicy");
            _alreadyFetchedTargetCollectionViaPolicy = info.GetBoolean("_alreadyFetchedTargetCollectionViaPolicy");

            base.FixupDeserialization(FieldInfoProviderSingleton.GetInstance(), PersistenceInfoProviderSingleton.GetInstance());

            // __LLBLGENPRO_USER_CODE_REGION_START DeserializationConstructor
            // __LLBLGENPRO_USER_CODE_REGION_END
        }
        /// <summary>Private CTor for deserialization</summary>
        /// <param name="info"></param>
        /// <param name="context"></param>
        protected PolicyLinkEntity(SerializationInfo info, StreamingContext context)
            : base(info, context)
        {
            _policyDocument = (policyDB.CollectionClasses.PolicyDocumentCollection)info.GetValue("_policyDocument", typeof(policyDB.CollectionClasses.PolicyDocumentCollection));
            _alwaysFetchPolicyDocument = info.GetBoolean("_alwaysFetchPolicyDocument");
            _alreadyFetchedPolicyDocument = info.GetBoolean("_alreadyFetchedPolicyDocument");
            _children = (policyDB.CollectionClasses.PolicyLinkCollection)info.GetValue("_children", typeof(policyDB.CollectionClasses.PolicyLinkCollection));
            _alwaysFetchChildren = info.GetBoolean("_alwaysFetchChildren");
            _alreadyFetchedChildren = info.GetBoolean("_alreadyFetchedChildren");
            _libraryCollectionViaPolicyDocument = (policyDB.CollectionClasses.LibraryCollection)info.GetValue("_libraryCollectionViaPolicyDocument", typeof(policyDB.CollectionClasses.LibraryCollection));
            _alwaysFetchLibraryCollectionViaPolicyDocument = info.GetBoolean("_alwaysFetchLibraryCollectionViaPolicyDocument");
            _alreadyFetchedLibraryCollectionViaPolicyDocument = info.GetBoolean("_alreadyFetchedLibraryCollectionViaPolicyDocument");
            _policyCollectionViaPolicyLink = (policyDB.CollectionClasses.PolicyCollection)info.GetValue("_policyCollectionViaPolicyLink", typeof(policyDB.CollectionClasses.PolicyCollection));
            _alwaysFetchPolicyCollectionViaPolicyLink = info.GetBoolean("_alwaysFetchPolicyCollectionViaPolicyLink");
            _alreadyFetchedPolicyCollectionViaPolicyLink = info.GetBoolean("_alreadyFetchedPolicyCollectionViaPolicyLink");
            _policy = (PolicyEntity)info.GetValue("_policy", typeof(PolicyEntity));
            if(_policy!=null)
            {
                _policy.AfterSave+=new EventHandler(OnEntityAfterSave);
            }
            _policyReturnsNewIfNotFound = info.GetBoolean("_policyReturnsNewIfNotFound");
            _alwaysFetchPolicy = info.GetBoolean("_alwaysFetchPolicy");
            _alreadyFetchedPolicy = info.GetBoolean("_alreadyFetchedPolicy");
            _parent = (PolicyLinkEntity)info.GetValue("_parent", typeof(PolicyLinkEntity));
            if(_parent!=null)
            {
                _parent.AfterSave+=new EventHandler(OnEntityAfterSave);
            }
            _parentReturnsNewIfNotFound = info.GetBoolean("_parentReturnsNewIfNotFound");
            _alwaysFetchParent = info.GetBoolean("_alwaysFetchParent");
            _alreadyFetchedParent = info.GetBoolean("_alreadyFetchedParent");

            base.FixupDeserialization(FieldInfoProviderSingleton.GetInstance(), PersistenceInfoProviderSingleton.GetInstance());

            // __LLBLGENPRO_USER_CODE_REGION_START DeserializationConstructor
            // __LLBLGENPRO_USER_CODE_REGION_END
        }