private void TryBind(IBindConfigurations bindConfigurations)
 {
     if (bindConfigurations == null)
     {
         return;
     }
     bindConfigurations.Bind();
 }
        public void Initialize()
        {
            ConfigureConventions();
            ConfigureDestinations();
            IBindConfigurations configurationContainer = null;

            try
            {
                configurationContainer = kernel.Resolve <IBindConfigurations>();
                TryBind(configurationContainer);
                TryCache(configurationContainer as ICacheable);
                Assert(configurationContainer as IValidatable);
            }
            finally
            {
                if (configurationContainer != null)
                {
                    kernel.ReleaseComponent(configurationContainer);
                }
            }
        }