private readonly DependencyDefinitionBase _aggregator;   // the outer dependency containing this dependency, if defined indirectly

        public DependencyDefinitionBase(RequirementDefinitionBase requirement, DependencyDefinitionBase aggregator)
        {
            ArgumentUtility.CheckNotNull("requirement", requirement);
            ArgumentUtility.CheckType("aggregator", aggregator, GetType());

            _requirement = requirement;
            _aggregator  = aggregator;

            _aggregatedDependencies = new UniqueDefinitionCollection <Type, DependencyDefinitionBase> (
                delegate(DependencyDefinitionBase d) { return(d.RequiredType.Type); },
                HasSameDepender);
        }
 public CovariantDefinitionCollectionWrapper(UniqueDefinitionCollection <TKey, TValue> items)
 {
     _items = items;
 }