docs: @Override
      public String getProfileFname(IPerson person, HttpServletRequest request) {
          final String userAgent = request.getHeader(this.userAgentHeader);
          if (userAgent == null) {
              this.logger.debug(
                      "No {} header for {} returning default profile",
                      this.userAgentHeader,
                      person.getUserName());
              return this.defaultProfileName;
          }
  
          for (final Mapping mapping : this.mappings) {
              final Matcher matcher = mapping.pattern.matcher(userAgent);
              if (matcher.matches()) {
                  this.logger.debug(
                          "Matched {} header {} for {} returning profile {}",
                          new Object[] {
                              this.userAgentHeader, person.getUserName(), mapping.profileName
                          });
                  return mapping.profileName;
              }
          }
  
          this.logger.debug(
                  "No matching Mapping for {} header for {} returning default profile",
                  this.userAgentHeader,
                  person.getUserName());
          return defaultProfileName;
      }