/// <summary>
        /// TODO: Add Comment
        /// </summary>
        /// <param name="subkey"></param>
        /// <param name="permissionCheck"></param>
        /// <param name="options"></param>
        /// <returns></returns>
        public IRegistryKey CreateSubKey(string subkey, RegistryKeyPermissionCheck permissionCheck, RegistryOptions options)
        {
            RegistryKey key = RegistryKeyInstance.CreateSubKey(subkey, permissionCheck, options);;

            if (null == key)
            {
                return(null);
            }
            else
            {
                return(new RegistryKeyWrap(key));
            }
        }
        /// <summary>
        /// TODO: Add Comment
        /// </summary>
        /// <param name="subkey"></param>
        /// <param name="permissionCheck"></param>
        /// <param name="registryOptions"></param>
        /// <param name="registrySecurity"></param>
        /// <returns></returns>
        public IRegistryKey CreateSubKey(string subkey, RegistryKeyPermissionCheck permissionCheck, RegistryOptions registryOptions, IRegistrySecurity registrySecurity)
        {
            RegistryKey key = RegistryKeyInstance.CreateSubKey(subkey, permissionCheck, registryOptions, registrySecurity.RegistrySecurityInstance);

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

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