protected void ForEachInfo(Action <CompositeAssemblyInfo> action) { ListQuery <CompositeAssemblyInfo> list = this._composites .Where(kvp => this._affectedTypes.Contains(kvp.Key)) .Select(kvp => kvp.Value) .FirstOrDefault(); if (list != null) { list .Where(info => info.Types.IsSupersetOf(this._affectedTypes)) .Distinct(ReferenceEqualityComparer <CompositeAssemblyInfo> .ReferenceBasedComparer) .All(info => { action(info); return(true); }); } }