{
RBACObjectAssertions.assertValid( "Remove Permission", permission );
if ( permission.isPermanent() )
{
throw new RbacPermanentException( "Unable to delete permanent permission [" + permission.getName() + "]" );
}
assertPermissionExists( permission.getName() );
fireRbacPermissionRemoved( permission );