code: public Parser<?> phrase(String... tokenNames) {
      Parser<?>[] wordParsers = new Parser<?>[tokenNames.length];
      for (int i = 0; i < tokenNames.length; i++) {
        wordParsers[i] = token(tokenNames[i]);
      }
      String phrase = Strings.join(" ", tokenNames);
      return Parsers.sequence(wordParsers).atomic().retn(phrase).label(phrase);
    }
docs: A {@link Parser} that recognizes a sequence of tokens identified by {@code tokenNames}, as an
  atomic step.