public static IEnumerable <TOut> ResolveMany <TIn, TOut>(this ITransformationTrace trace, IEnumerable <TIn> list) where TIn : class where TOut : class { if (trace == null) { throw new ArgumentNullException("trace"); } if (list == null) { return(Enumerable.Empty <TOut>()); } return(from ITraceEntry c in trace.TraceMany(new Type[] { typeof(TIn) }, typeof(TOut), list.Select(input => new object[] { input })) select c.Output as TOut); }