private void CheckPermission(IInvocation invocation)
        {
            var attrs = invocation.GetAttributes <AuthorizationAttribute>();

            if (attrs.Length == 0)  // permission undefined
            {
                return;
            }

            var permissions = attrs[0].Permissions;

            if (!AuthorizationProvider.IsGranted(this.Application, permissions))
            {
                throw new AuthorizationException();
            }
        }