public void Unsubscribe(JvmEventType eventType)
        {
            if (!_subscribedEvents.Remove(eventType))
            {
                return;
            }

            if (_subscribedEvents.Count >= 1)
            {
                return;
            }

            JvmEnvironment environment = JvmEnvironment.GetCurrentInstance();

            environment.EventManager.RemoveProcessor(this);
        }
        public void Subscribe(JvmEventType eventType)
        {
            if (!_subscribedEvents.Add(eventType))
            {
                return;
            }

            if (_subscribedEvents.Count > 1)
            {
                return;
            }

            _subscriber = OperationContext.Current.GetCallbackChannel <IJvmEvents>();
            JvmEnvironment environment = JvmEnvironment.GetCurrentInstance();

            environment.EventManager.AddProcessor(this);
        }