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);
        }