public IModule[] Build()
        {
            List <IModule> modules = new ();

            if (ConfigureDelegate != null)
            {
                if (!IsBuilt)
                {
                    modules.Add(ConfigureDelegate.Invoke(this));
                    IsBuilt = true;
                }

                foreach (var builder in Builders)
                {
                    modules.AddRange(builder.Build());
                }
            }
            return(modules.ToArray());
        }
 public IWebHost Build()
 {
     ConfigureDelegate?.Invoke(new WebHostBuilderContext(), new ConfigurationBuilder());
     return(new FakeWebHost());
 }