/// <summary>
        /// Returns a license for the instance of the component, if one is available.
        /// </summary>
        /// <param name="type"></param>
        /// <param name="allowExceptions"></param>
        /// <param name="resourceType"></param>
        /// <param name="typeAssembly"></param>
        /// <returns></returns>
        public override License GetLicense(Type type, Assembly typeAssembly, LicenseResourceType resourceType, bool allowExceptions)
        {
            this.typeAssembly    = typeAssembly;
            this.allowExceptions = allowExceptions;
            this.resourceType    = resourceType;
            PublicKeyLicense license = new PublicKeyLicense(this, type);

            return(license);
        }
        protected virtual bool IsKeyValid(Type type)
        {
            PublicKeyLicense license = new PublicKeyLicense(this, type);

            return(license.IsValid);
        }