static public AvtRegCoreClient Get(string regCoreSrv, string productCode, AvtActivationDataSource src, bool clearCache)
        {
            AvtRegCoreClient regCoreClient;
            if (clearCache == false && HttpRuntime.Cache["avt.RegCoreClient." + productCode] != null) {
                regCoreClient = (AvtRegCoreClient)HttpRuntime.Cache["avt.RegCoreClient." + productCode];
            } else {

                // clear cache, in case it's ignored
                HttpRuntime.Cache.Remove("avt.RegCoreClient." + productCode);

                // create new client
                regCoreClient = new AvtRegCoreClient(regCoreSrv, src);
                HttpRuntime.Cache.Insert("avt.RegCoreClient." + productCode, regCoreClient);
            }

            return regCoreClient;
        }
 private AvtRegCoreClient(string regCoreSrv, AvtActivationDataSource src)
 {
     // fill activations
     _initActivations = src.GetActivations();
     _validActivations = new Dictionary<string, AvtActivation>();
     _src = src;
     _regCoreSrv = regCoreSrv;
 }