/// <inheritdoc />
        public async Task <PermissionStatus> CheckPermissionsAsync <T>()
            where T : BasePermission, new()
        {
            var result = await EssentialsPermissions.CheckStatusAsync <T>().ConfigureAwait(false);

            return(result.ToPermissionStatus());
        }
        /// <inheritdoc />
        public async Task <PermissionStatus> CheckPermissionsAsync <T>()
            where T : BasePermission, new()
        {
            if (typeof(T) == typeof(NotificationsPermission))
            {
                return(await CheckNotificationsPermissionAsync().ConfigureAwait(false));
            }

            var result = await EssentialsPermissions.CheckStatusAsync <T>().ConfigureAwait(false);

            return(result.ToPermissionStatus());
        }