code: public Rule longestString(final String first, final String second,
          final String... others)
      {
          return trie(first, second, others);
      }
docs: Match the longest possible string among a series of strings (case
  sensitive)
  
  <p>As its name says, this rule will always try and match the longest
  possible string among its arguments. It means that, for instance, if you
  write:</p>
  
  <pre>
  longestString("do", "double")
  </pre>
  
  <p>then with an input of {@code doubles}, then {@code double} will be
  matched; but if the input is {@code doubling} then {@code do} is matched.
  </p>
  
  <p>This method builds a {@link Collection} and delegates to {@link
  #longestString(Collection)}.</p>
  
  @param first the first string to match
  @param second the second string to match
  @param others the other strings to match, if any
  @return a rule