internal virtual void ProcessEvents(ILicenseContextData data, Type type, ILicenseKey key)
 {
     this.EnsureTracking();
     if (!this.TryEnsureSessionManager(data.Context))
     {
         return;
     }
     this.RegisteredTypes.TryAdd(type.FullName);
     if (!this.CurrentSession.GetProductUsageLogged())
     {
         this.RaiseProductUsed(type, this.CurrentSession.Id);
         this.CurrentSession.SetProductUsageLogged();
     }
     if (!this.CurrentSession.GetHasPendingChange())
     {
         return;
     }
     this.RaiseComponentUsed(type, this.CurrentSession.Id);
     this.CurrentSession.SetPendingChangeResolved();
 }
 public LicenseContextManager(ILicenseContextData data)
 {
     this._contextData      = data;
     this._licensingEnabled = false;
 }