This event is raised before a user or group's permission is modified. This event is synchronous,
allowing listeners to perform operations in the same database transaction where the permission is modified.
This event is
cancelable. A listener may prevent the permission
from being modified by
canceling this event.
Throwing an exception will not prevent the permission from being modified;
the exception will be logged and ignored.
- the new permission replacing the previous value
- the old permission being replaced