private Request Replace(Request request, IDictionary<String, String> arguments) { return request != null ? new Request( this.Replace(request.StorageName, arguments), this.Replace(request.FlowName, arguments), this.Replace(request.Selector, arguments), request.Arguments .Select(p => Create.KeyValuePair( this.Replace(p.Key, arguments), this.Replace(p.Value, arguments)) ).ToDictionary(), this.Replace(request.ElementAtOrDefault(1), arguments) ) : null; }