docs: @Nonnull
    public static IUserAgent getUserAgent (@Nonnull final HttpServletRequest aHttpRequest)
    {
      IUserAgent aUserAgent = (IUserAgent) aHttpRequest.getAttribute (IUserAgent.class.getName ());
      if (aUserAgent == null)
      {
        // Extract HTTP header from request
        final String sUserAgent = getHttpUserAgentStringFromRequest (aHttpRequest);
        aUserAgent = UserAgentDatabase.getParsedUserAgent (sUserAgent);
        if (aUserAgent == null)
        {
          LOGGER.warn ("No user agent was passed in the request!");
          aUserAgent = new UserAgent ("", new UserAgentElementList ());
        }
        ServletHelper.setRequestAttribute (aHttpRequest, IUserAgent.class.getName (), aUserAgent);
      }
      return aUserAgent;
    }