@Path("createUser.html")
    @Produces(MediaType.TEXT_HTML)
    @GET
    public Response getCreateUserView(@CookieParam("authUser") String token, @QueryParam("message") String message) {
        try {
            UserToken verifiedUserToken = doVerifyUserToken(token);

            //Make sure they are logged in
            if (verifiedUserToken == null) {
                return Response.seeOther(new URI(LOGIN_HTML.toString() + "?destination=" + URLEncoder.encode(serviceBaseURL + "createUser.html", "utf8"))).cacheControl(NO_CACHE_CONTROL).cookie(newEmptyExpiredCookie()).build();
            }
            //Make sure they have the useradmin role
            if (!verifiedUserToken.userAccount.hasRole("UserAdmin")) {
                return Response.seeOther(PERMISSION_DENIED_HTML).cacheControl(NO_CACHE_CONTROL).cookie(newEmptyExpiredCookie()).build();
            }

            List<Role> assignableRoles = new ArrayList<Role>();
            for (Role role : dataStore.getRoles()) {
                if (isRoleAssignableByUser(role, verifiedUserToken)) {
                    assignableRoles.add(role);
                }
            }
            return Response.ok().cacheControl(NO_CACHE_CONTROL).entity(new CreateUserView(verifiedUserToken, assignableRoles, message)).build();

        } catch (Exception e) {
            throw new WebApplicationException(Response.serverError().cacheControl(NO_CACHE_CONTROL).cookie(newEmptyExpiredCookie()).build());
        }
    }