code: public List<ParserToken> consumeUntil(ParserTokenType... types) {
        List<ParserToken> tokens = new ArrayList<>();
        while (lookAheadType(0) != null && !isOfType(lookAheadType(0), types)) {
           tokens.add(consume());
        }
        return tokens;
     }
docs: Consumes all tokens until the token at the front of the stream is of one of the given types.
  
  @param types The types to cause the stream to stop consuming
  @return The list of tokens that were consumed.