public virtual IList <T> SubList(int fromIndex, int toIndex)
        {
            var request  = ListSubCodec.EncodeRequest(GetName(), fromIndex, toIndex);
            var response = Invoke(request);
            ICollection <IData> collection = ListSubCodec.DecodeResponse(response).response;

            return(ToList <T>(collection));
        }
        /// <inheritdoc />
        public async Task <IReadOnlyList <T> > GetRangeAsync(int fromIndex, int toIndex)
        {
            var requestMessage  = ListSubCodec.EncodeRequest(Name, fromIndex, toIndex);
            var responseMessage = await Cluster.Messaging.SendToPartitionOwnerAsync(requestMessage, PartitionId).CAF();

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

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