Because AuthenticatedClientUser#getClientUser() can throw AccessControlException, in which case the user is null. Theoretically the system should not reach this state while processing user requests. If it occurs, we throw AccessControlException to denote that something has gone wrong.