code: protected boolean parseColumnNameList( DdlTokenStream tokens,
                                             AstNode parentNode,
                                             String referenceType ) {
          boolean parsedColumns = false;
          // CONSUME COLUMNS
          List<String> columnNameList = new ArrayList<String>();
          if (tokens.matches(L_PAREN)) {
              tokens.consume(L_PAREN);
              columnNameList = parseNameList(tokens);
  
              if (!columnNameList.isEmpty()) {
                  parsedColumns = true;
              }
  
              tokens.consume(R_PAREN);
          }
  
          for (String columnName : columnNameList) {
              nodeFactory().node(columnName, parentNode, referenceType);
          }
  
          return parsedColumns;
      }
docs: Adds column reference nodes to a parent node. Returns true if column references added, false if not.
  
  @param tokens the {@link DdlTokenStream} representing the tokenized DDL content; may not be null
  @param parentNode the parent node
  @param referenceType the type of the reference node to create
  @return true if the column references were found and added to the node, or false if there were no column references found
  in the stream