/// <summary>Private CTor for deserialization</summary>
        /// <param name="info"></param>
        /// <param name="context"></param>
        protected TargetEntity(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");
            _targetCondition = (policyDB.CollectionClasses.TargetConditionCollection)info.GetValue("_targetCondition", typeof(policyDB.CollectionClasses.TargetConditionCollection));
            _alwaysFetchTargetCondition = info.GetBoolean("_alwaysFetchTargetCondition");
            _alreadyFetchedTargetCondition = info.GetBoolean("_alreadyFetchedTargetCondition");
            _combineModeCollectionViaPolicy = (policyDB.CollectionClasses.CombineModeCollection)info.GetValue("_combineModeCollectionViaPolicy", typeof(policyDB.CollectionClasses.CombineModeCollection));
            _alwaysFetchCombineModeCollectionViaPolicy = info.GetBoolean("_alwaysFetchCombineModeCollectionViaPolicy");
            _alreadyFetchedCombineModeCollectionViaPolicy = info.GetBoolean("_alreadyFetchedCombineModeCollectionViaPolicy");
            _conditionCollectionViaTargetCondition = (policyDB.CollectionClasses.DecisionNodeCollection)info.GetValue("_conditionCollectionViaTargetCondition", typeof(policyDB.CollectionClasses.DecisionNodeCollection));
            _alwaysFetchConditionCollectionViaTargetCondition = info.GetBoolean("_alwaysFetchConditionCollectionViaTargetCondition");
            _alreadyFetchedConditionCollectionViaTargetCondition = info.GetBoolean("_alreadyFetchedConditionCollectionViaTargetCondition");
            _libraryCollectionViaPolicy = (policyDB.CollectionClasses.LibraryCollection)info.GetValue("_libraryCollectionViaPolicy", typeof(policyDB.CollectionClasses.LibraryCollection));
            _alwaysFetchLibraryCollectionViaPolicy = info.GetBoolean("_alwaysFetchLibraryCollectionViaPolicy");
            _alreadyFetchedLibraryCollectionViaPolicy = info.GetBoolean("_alreadyFetchedLibraryCollectionViaPolicy");

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

            // __LLBLGENPRO_USER_CODE_REGION_START DeserializationConstructor
            // __LLBLGENPRO_USER_CODE_REGION_END
        }
        /// <summary> Initializes the class members</summary>
        private void InitClassMembers()
        {
            _policy = new policyDB.CollectionClasses.PolicyCollection(new PolicyEntityFactory());
            _policy.SetContainingEntityInfo(this, "Target");
            _alwaysFetchPolicy = false;
            _alreadyFetchedPolicy = false;
            _targetCondition = new policyDB.CollectionClasses.TargetConditionCollection(new TargetConditionEntityFactory());
            _targetCondition.SetContainingEntityInfo(this, "Target");
            _alwaysFetchTargetCondition = false;
            _alreadyFetchedTargetCondition = false;
            _combineModeCollectionViaPolicy = new policyDB.CollectionClasses.CombineModeCollection(new CombineModeEntityFactory());
            _alwaysFetchCombineModeCollectionViaPolicy = false;
            _alreadyFetchedCombineModeCollectionViaPolicy = false;
            _conditionCollectionViaTargetCondition = new policyDB.CollectionClasses.DecisionNodeCollection(new DecisionNodeEntityFactory());
            _alwaysFetchConditionCollectionViaTargetCondition = false;
            _alreadyFetchedConditionCollectionViaTargetCondition = false;
            _libraryCollectionViaPolicy = new policyDB.CollectionClasses.LibraryCollection(new LibraryEntityFactory());
            _alwaysFetchLibraryCollectionViaPolicy = false;
            _alreadyFetchedLibraryCollectionViaPolicy = false;

            PerformDependencyInjection();

            // __LLBLGENPRO_USER_CODE_REGION_START InitClassMembers
            // __LLBLGENPRO_USER_CODE_REGION_END
            OnInitClassMembersComplete();
        }
        /// <summary> Initializes the class members</summary>
        private void InitClassMembers()
        {
            _policy = new policyDB.CollectionClasses.PolicyCollection(new PolicyEntityFactory());
            _policy.SetContainingEntityInfo(this, "Library");
            _alwaysFetchPolicy = false;
            _alreadyFetchedPolicy = false;
            _policyDocument = new policyDB.CollectionClasses.PolicyDocumentCollection(new PolicyDocumentEntityFactory());
            _policyDocument.SetContainingEntityInfo(this, "Library");
            _alwaysFetchPolicyDocument = false;
            _alreadyFetchedPolicyDocument = false;
            _query = new policyDB.CollectionClasses.QueryCollection(new QueryEntityFactory());
            _query.SetContainingEntityInfo(this, "Library");
            _alwaysFetchQuery = false;
            _alreadyFetchedQuery = false;
            _combineModeCollectionViaPolicy = new policyDB.CollectionClasses.CombineModeCollection(new CombineModeEntityFactory());
            _alwaysFetchCombineModeCollectionViaPolicy = false;
            _alreadyFetchedCombineModeCollectionViaPolicy = false;
            _policyLinkCollectionViaPolicyDocument = new policyDB.CollectionClasses.PolicyLinkCollection(new PolicyLinkEntityFactory());
            _alwaysFetchPolicyLinkCollectionViaPolicyDocument = false;
            _alreadyFetchedPolicyLinkCollectionViaPolicyDocument = 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();
        }