/// <summary> /// Returns the factory that is used to create shells. /// The factory is created the first time it's required. /// </summary> /// <seealso cref="IShell"/> /// <returns>Factory for creating shells</returns> public IShellFactory GetShellFactory() { return(_shellFactory ?? (_shellFactory = _uiProvider.GetShellFactory())); }