code: public Rule getRule(String url, Date captureDate, Date retrievalDate,
              String who) throws RuleOracleUnavailableException {
          url = ArchiveUtils.addImpliedHttpIfNecessary(url);
          String surt = SURT.fromURI(url);
  //        PublicSuffixes.reduceSurtToAssignmentLevel(surt)
          String publicSuffix = PublicSuffixes
                  .reduceSurtToAssignmentLevel(getSurtAuthority(surt));
  
              RuleSet rules =  ruleDao.getRuleTree(getScheme(surt) + "(" + publicSuffix);
  
          Rule matchingRule = rules.getMatchingRule(surt, captureDate,
                  retrievalDate, who);
          return matchingRule;
      }
docs: Return the most specific matching rule for the requested document.
  
  @param url
  URL of the requested document.
  @param captureDate
  Date the document was archived.
  @param retrievalDate
  Date of retrieval (usually now).
  @param who
  Group name of the user accessing the document.
  @return
  @throws RuleOracleUnavailableException