code: private void processOsRegex(String useragent, UserAgentInfo retObj) {
          try {
              lock.lock();
  
              for (Map.Entry<Pattern, Long> entry : osRegMap.entrySet()) {
                  Matcher matcher = entry.getKey().matcher(useragent);
                  if (matcher.find()) {
                      // simply copy the OS data into the result object
                      Long idOs = entry.getValue();
                      OsEntry os = osMap.get(idOs);
                      if (os != null) {
                          os.copyTo(retObj);
                      }
                      break;
                  }
              }
          } finally {
              lock.unlock();
          }
      }
docs: Searches in the os regex table. if found a match copies the os data
  
  @param useragent
  @param retObj