internal Module FindModule(LayeredCompositeAssemblerImpl assembler) { return(this._allLayers #if !SILVERLIGHT .AsParallel() // TODO - is this really necessary? #endif .SelectMany(layer => layer.Key.ModuleModels.Select(muudel => Tuple.Create(muudel, layer.Value.GetInstanceForModel(muudel)))) .Where(tuple => ((ModuleModelImmutable)tuple.Item1).AssemblerMatches(assembler)) .Select(tuple => tuple.Item2) .FirstOrDefault()); }
internal Boolean AssemblerMatches(LayeredCompositeAssemblerImpl assembler) { return(Object.ReferenceEquals(this._state.Assembler, assembler)); }