I don't want to make any queries unless I know the user is an admin (should be cached).  The code you are proposing does the work anyway before checking.  I will keep my code as is.