code: protected String transform(String word, List<Rule> rules) {
          String wordLower = lower(word);
          for (Rule r: rules) {
              String s = r.apply(word, wordLower);
              if (s != null) return s;
          }
          return noMatch(word);
      }
docs: Converts a word.
  <p/>
  The first rule that matches is applied to the word.
  If no rule matches, returns result of {@link #noMatch(java.lang.String)}.
  <p/>
  Is used by {@code pluralOf} and {@code singularOf}
  @param word
  @param rules
  @return tranformed word
  @see RegexPluralizer#pluralOf(java.lang.String)
  @see RegexPluralizer#singularOf(java.lang.String)