public ServiceConfigurationSet GetConfigurationSet(Type type)
            {
                ServiceConfigurationSet result;

                if (!configurations.TryGetValue(type, out result))
                {
                    configurations.Add(type, result = new ServiceConfigurationSet());
                }
                return(result);
            }
            private void ApplyDynamicConfigurators(TypesList typesList)
            {
                var configurationSet = new ServiceConfigurationSet();
                var builder          = new ServiceConfigurationBuilder <object>(configurationSet);

                foreach (var c in dynamicConfigurators)
                {
                    var targetTypes = c.BaseType == null?typesList.Types.ToList() : typesList.InheritorsOf(c.BaseType);

                    foreach (var t in targetTypes)
                    {
                        if (configurations.ContainsKey(t))
                        {
                            continue;
                        }
                        try
                        {
                            c.ConfigureAction(t, builder);
                        }
                        catch (Exception e)
                        {
                            const string messageFormat = "exception invoking [{0}] for [{1}]";
                            throw new SimpleContainerException(string.Format(messageFormat, c.Description, t.FormatName()), e);
                        }
                        if (configurationSet.IsEmpty())
                        {
                            continue;
                        }
                        if (!string.IsNullOrEmpty(c.Description))
                        {
                            configurationSet.SetDefaultComment(c.Description);
                        }
                        configurations.Add(t, configurationSet);
                        configurationSet = new ServiceConfigurationSet();
                        builder          = new ServiceConfigurationBuilder <object>(configurationSet);
                    }
                }
            }
 internal AbstractServiceConfigurationBuilder(ServiceConfigurationSet configurationSet, List <string> contracts)
 {
     this.configurationSet = configurationSet;
     this.contracts        = contracts;
 }
 internal ServiceConfigurationBuilder(ServiceConfigurationSet configurationSet)
     : base(configurationSet, new List <string>())
 {
 }
 internal ServiceContractConfigurationBuilder(ServiceConfigurationSet configurationSet, List <string> contracts)
     : base(configurationSet, contracts)
 {
 }