public async Task <bool> RemoveAsync(TKey key, TValue value)
        {
            var(keyData, valueData) = ToSafeData(key, value);
            var requestMessage  = TransactionalMapRemoveIfSameCodec.EncodeRequest(Name, TransactionId, ContextId, keyData, valueData);
            var responseMessage = await Cluster.Messaging.SendToMemberAsync(requestMessage, TransactionClientConnection).CAF();

            return(TransactionalMapRemoveIfSameCodec.DecodeResponse(responseMessage).Response);
        }
        public virtual bool Remove(object key, object value)
        {
            var keyData   = ToData(key);
            var valueData = ToData(value);
            var request   = TransactionalMapRemoveIfSameCodec.EncodeRequest(GetName(), GetTransactionId(),
                                                                            GetThreadId(), keyData, valueData);

            return(Invoke(request, m => TransactionalMapRemoveIfSameCodec.DecodeResponse(m).response));
        }