protected virtual async Task <IGetOperationResult> PerformGetAndTouchCore(string key, Expiration expiration, ulong cas)
        {
            try
            {
                var op = opFactory.GetAndTouch(keyTransformer.Transform(key), expiration.Value, cas);
                await cluster.Execute(op).ConfigureAwait(false);

                return(op.Result);
            }
            catch (IOException e)
            {
                return(new GetOperationResult().FailWith(e));
            }
        }