public string FetchResult(FutureReceipt receipt) { if(receipt == null) { throw new ArgumentNullException("receipt"); } string result; if(!_resultCache.TryRemove(receipt.ToKey(), out result)) { result = string.Empty; } return result; }