/// <summary>
 /// TODO: Add Comment
 /// </summary>
 /// <param name="registrySecurity"></param>
 public void SetAccessControl(IRegistrySecurity registrySecurity)
 {
     RegistryKeyInstance.SetAccessControl(registrySecurity.RegistrySecurityInstance);
 }
 /// <summary>
 /// TODO: Add Comment
 /// </summary>
 /// <param name="registrySecurity"></param>
 public void SetAccessControl(IRegistrySecurity registrySecurity)
 {
     RegistryKeyInstance.SetAccessControl(registrySecurity.RegistrySecurityInstance);
 }
        /// <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>
 /// <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);
 }