///////////////////////////////////////////////////////////////////////

        #region Static "Factory" Methods
        public static ShellCallbackBridge Create(
            IShellCallback callback,
            ref Result error
            )
        {
            if (callback == null)
            {
                error = "invalid shell callback";
                return(null);
            }

            return(new ShellCallbackBridge(callback));
        }
        ///////////////////////////////////////////////////////////////////////

        #region Private Constructors
        private ShellCallbackBridge(
            IShellCallback callback
            )
        {
            this.callback = callback;
        }