/// <summary>
        /// TODO: Add Comment
        /// </summary>
        /// <param name="name"></param>
        /// <param name="permissionCheck"></param>
        /// <param name="rights"></param>
        /// <returns></returns>
        public IRegistryKey OpenSubKey(string name, RegistryKeyPermissionCheck permissionCheck, RegistryRights rights)
        {
            RegistryKey key = RegistryKeyInstance.OpenSubKey(name, permissionCheck, rights);

            if (null == key)
            {
                return(null);
            }
            else
            {
                return(new RegistryKeyWrap(key));
            }
        }
        /// <summary>
        /// TODO: Add Comment
        /// </summary>
        /// <param name="name"></param>
        /// <param name="writable"></param>
        /// <returns></returns>
        public IRegistryKey OpenSubKey(string name, bool writable)
        {
            RegistryKey key = RegistryKeyInstance.OpenSubKey(name, writable);

            if (null == key)
            {
                return(null);
            }
            else
            {
                return(new RegistryKeyWrap(key));
            }
        }