public static TestContext Get(Action <WindsorRegistrationOptions> configure = null, Func <IServiceProvider> serviceProviderFactory = null)
        {
            IServiceProvider serviceProvider = null;

            var serviceCollection = ServiceCollectionBuilder.New();

            var container = WindsorContainerBuilder.New(serviceCollection,
                                                        configure ?? (opts => opts.UseEntryAssembly(typeof(TestContextFactory).Assembly)),
                                                        serviceProviderFactory ?? (() => serviceProvider = ServiceProviderBuilder.New(serviceCollection)));

            var applicationBuilder = ApplicationBuilder.New(serviceProvider);

            return(new TestContext(serviceCollection, serviceProvider, applicationBuilder, container, container.RequireScope()));
        }