/// <summary>
        /// Verifies if a specific model relationship should be excluded or not.
        /// </summary>
        /// <param name="elementLink">Model relationship to verify</param>
        /// <returns>True if the specified relationship should be excluded; False otherwise.</returns>
        public virtual bool ShouldExcludeDomainRelationship(ElementLink elementLink)
        {
            if (bUseExcludedDomainClasses || bUseIncludedDomainClasses || bUseExcludedDomainModels || bUseIncludedDomainModels)
            {
                Guid t = elementLink.GetDomainClass().Id;
                if (bUseExcludedDomainRelationships)
                {
                    if (this.excludedDomainRelationships.Contains(t))
                    {
                        return(true);
                    }
                }

                if (bUseIncludedDomainRelationships)
                {
                    if (!this.includedDomainRelationships.Contains(t))
                    {
                        return(true);
                    }
                }

                if (bUseExcludedDomainModels)
                {
                    IDomainModelOwnable o = elementLink as IDomainModelOwnable;
                    if (this.excludedDomainModels.Contains(o.GetDomainModelTypeId()))
                    {
                        return(true);
                    }
                }

                if (bUseIncludedDomainModels)
                {
                    IDomainModelOwnable o = elementLink as IDomainModelOwnable;
                    if (!this.includedDomainModels.Contains(o.GetDomainModelTypeId()))
                    {
                        return(true);
                    }
                }
            }

            return(false);
        }
        /// <summary>
        /// Verifies if a specific model element should be excluded or not.
        /// </summary>
        /// <param name="modelElement">Model element to verify</param>
        /// <returns>True if the specified element should be excluded; False otherwise.</returns>
        public virtual bool ShouldExcludeDomainClass(ModelElement modelElement)
        {
            if (bUseExcludedDomainClasses || bUseIncludedDomainClasses || bUseExcludedDomainModels || bUseIncludedDomainModels)
            {
                Guid t = modelElement.GetDomainClass().Id;
                if (bUseExcludedDomainClasses)
                {
                    if (this.excludedDomainClasses.Contains(t))
                    {
                        return(true);
                    }
                }

                if (bUseIncludedDomainClasses)
                {
                    if (!this.includedDomainClasses.Contains(t))
                    {
                        return(true);
                    }
                }

                if (bUseExcludedDomainModels)
                {
                    IDomainModelOwnable o = modelElement as IDomainModelOwnable;
                    if (this.excludedDomainModels.Contains(o.GetDomainModelTypeId()))
                    {
                        return(true);
                    }
                }

                if (bUseIncludedDomainModels)
                {
                    IDomainModelOwnable o = modelElement as IDomainModelOwnable;
                    if (!this.includedDomainModels.Contains(o.GetDomainModelTypeId()))
                    {
                        return(true);
                    }
                }
            }

            return(false);
        }