@SuppressWarnings("unchecked")
 public static Authentication getAuthenticationToken(Message message) {
   Map<String, List<String>> headers =
       (Map<String, List<String>>) message.get(Message.PROTOCOL_HEADERS);
   String token = null;
   for (Cookie c : extractCookies(headers.get("cookie"))) {
     if (AUTH_TOKEN.equalsIgnoreCase(c.getName())) {
       token = c.getValue();
       break;
     }
   }
   if (token == null) {
     return null;
   }
   try {
     return (Authentication) Base64.decodeToObject(token);
   } catch (Exception e) {
     return null;
   }
 }