public static List <ProductVariant> Restore(this IEnumerable <ProductVariantSnapshot> items, Action <object> applier) { return(items.Select(x => { var variant = new ProductVariant(applier); variant.Route( new Events.V1.VariantAddedToProduct( x.ProductId, x.ProductContentId, x.ProductVariantId, x.Barcode, x.VariantValue.VariantTypeValueId, x.VariantValue.VariantType) ); return variant; }).ToList()); }