public virtual ICollection <TKey> KeySet()
        {
            var request    = TransactionalMapKeySetCodec.EncodeRequest(GetName(), GetTransactionId(), GetThreadId());
            var dataKeySet = Invoke(request, m => TransactionalMapKeySetCodec.DecodeResponse(m).set);

            return(ToSet <TKey>(dataKeySet));
        }
        public async Task <IReadOnlyList <TKey> > GetKeysAsync()
        {
            var requestMessage  = TransactionalMapKeySetCodec.EncodeRequest(Name, TransactionId, ContextId);
            var responseMessage = await Cluster.Messaging.SendToMemberAsync(requestMessage, TransactionClientConnection).CAF();

            var response = TransactionalMapKeySetCodec.DecodeResponse(responseMessage).Response;

            return(new ReadOnlyLazyList <TKey>(response, SerializationService));
        }