public IEnumerable<ContainerRegistration> PerformRegistrations(IUnityContainer target, IEnumerable<TypeMapping> typeMappings)
		{
			var changeTracker = new UnityRegistrationTracker(target);
			var extensionSetter = new PolicyExtensionSetter(target);
			foreach (var typeMapping in typeMappings)
			{
				mappingValidator.ValidateTypeMapping(typeMapping);

				var injectionMembers = injectionFactory.CreateInjectionMembers(typeMapping);
				var lifetimeManager = lifetimeFactory.CreateLifetimeManager(typeMapping);
				var registrationName = nameFactory.GetRegistrationName(typeMapping);

				target.RegisterType(typeMapping.From, typeMapping.To, registrationName, lifetimeManager, injectionMembers);
				extensionSetter.CheckIfInterceptionExtensionIsRequired(injectionMembers);
			}

			return changeTracker.GetNewRegistrations();
		}
        public IEnumerable <ContainerRegistration> PerformRegistrations(IUnityContainer target, IEnumerable <TypeMapping> typeMappings)
        {
            var changeTracker   = new UnityRegistrationTracker(target);
            var extensionSetter = new PolicyExtensionSetter(target);

            foreach (var typeMapping in typeMappings)
            {
                mappingValidator.ValidateTypeMapping(typeMapping);

                var injectionMembers = injectionFactory.CreateInjectionMembers(typeMapping);
                var lifetimeManager  = lifetimeFactory.CreateLifetimeManager(typeMapping);
                var registrationName = nameFactory.GetRegistrationName(typeMapping);

                target.RegisterType(typeMapping.From, typeMapping.To, registrationName, lifetimeManager, injectionMembers);
                extensionSetter.CheckIfInterceptionExtensionIsRequired(injectionMembers);
            }

            return(changeTracker.GetNewRegistrations());
        }