code: private static List<String> tokens(final Request req) throws IOException {
          final List<String> tokens = new LinkedList<>();
          final Iterable<String> headers =
              new RqHeaders.Base(req).header("User-Agent");
          for (final String header : headers) {
              final Matcher matcher = PATTERN.matcher(header);
              if (matcher.matches()) {
                  tokens.add(matcher.group());
              }
          }
          return tokens;
      }
docs: Extract tokens from request.
  @param req Request.
  @return List of user agent tokens.
  @throws IOException If some problems inside.