public IServices Get(IExtensionCollection parameter) { var result = new Services(new ServiceContainer(_options) { ConstructorSelector = _selector }); var services = result.RegisterInstance(parameter) .RegisterInstance <IServiceProvider>(new Provider(result.GetService)); var extensions = parameter.OrderBy(x => x, SortComparer <ISerializerExtension> .Default) .Fixed(); extensions.Alter(services); foreach (var extension in extensions) { extension.Execute(result); } return(result); }