public Subscription(MobileServiceEventManager service, IObserver <T> observer, Type targetMessageType = null)
            {
                Arguments.IsNotNull(service, nameof(service));
                Arguments.IsNotNull(observer, nameof(observer));

                this.service  = service;
                this.observer = observer;

                this.targetMessageType = targetMessageType ?? typeof(T);
            }
            public Subscription(MobileServiceEventManager service, IObserver <T> observer, Type targetMessageType = null)
            {
                if (service == null)
                {
                    throw new ArgumentNullException("service");
                }

                if (observer == null)
                {
                    throw new ArgumentNullException("observer");
                }

                this.service  = service;
                this.observer = observer;

                this.targetMessageType = targetMessageType ?? typeof(T);
            }