public bool ShouldAttemptDelivery(IMeshNetworkMessage networkMessage)
            {
                if (networkMessage == null)
                    return false;

                if (!(typeof(TMessage).IsAssignableFrom(networkMessage.GetType())))
                    return false;

                return _MessageFilter.Invoke(networkMessage as TMessage);
            }
            public bool ShouldAttemptDelivery(IMeshNetworkMessage networkMessage)
            {
                if (networkMessage == null)
                    return false;

                if (!(typeof(TMessage).IsAssignableFrom(networkMessage.GetType())))
                    return false;

                if (!_DeliveryAction.IsAlive)
                    return false;

                if (!_MessageFilter.IsAlive)
                    return false;

                return ((Func<TMessage, bool>)_MessageFilter.Target).Invoke(networkMessage as TMessage);
            }