/// <summary>
        ///     Calls SatisfyStaticImportsOnce on every static property found in the current AppDomain.
        /// </summary>
        /// <param name="container"> The container. </param>
        public static void SatisfyStaticImportsInAppDomain(this CompositionContainer container)
        {
            if (container == null)
            {
                throw new ArgumentNullException("container");
            }

            var types = AppDomain.CurrentDomain
                        .GetAssemblies()
                        .SelectMany(GetTypes)
                        .Where(t => t.StaticImportingMembers().Any());

            foreach (var type in types)
            {
                container.SatisfyStaticImportsOnce(type);
            }
        }