/// <summary>
        /// Initializes a new instance of the <see cref="ShellFolderImpl"/> class.
        /// This class must be initialised with a reference to the Shell Namespace Extension
        /// that is being used and the target object (which will be an <see cref="IShellNamespaceFolder" />.
        /// </summary>
        /// <param name="namespaceExtension">The namespace extension.</param>
        /// <param name="proxyFolder">The folder that we are acting as an implementation for.</param>
        public ShellFolderImpl(SharpNamespaceExtension namespaceExtension, IShellNamespaceFolder proxyFolder)
        {
            //  Store the namespace extension and folder.
            this.namespaceExtension = namespaceExtension;
            this.proxyFolder        = proxyFolder;

            //  Create the lazy folder view.
            lazyFolderView = new Lazy <ShellNamespaceFolderView>(proxyFolder.GetView);
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="ShellFolderImpl"/> class.
        /// This class must be initialised with a reference to the Shell Namespace Extension
        /// that is being used and the target object (which will be an <see cref="IShellNamespaceFolder" />.
        /// </summary>
        /// <param name="namespaceExtension">The namespace extension.</param>
        /// <param name="proxyFolder">The folder that we are acting as an implementation for.</param>
        public ShellFolderImpl(SharpNamespaceExtension namespaceExtension, IShellNamespaceFolder proxyFolder)
        {
            //  Store the namespace extension and folder.
            this.namespaceExtension = namespaceExtension;
            this.proxyFolder = proxyFolder;

            //  Create the lazy folder view.
            lazyFolderView = new Lazy<ShellNamespaceFolderView>(proxyFolder.GetView);
        }