code: protected void dumpExprColumns(String header){
          System.out.println("\n\n*********************************************");
          System.out.println(header);
          try {
              System.out.println(getSQL());
          } catch (Exception e) {
          }
          for (int i = 0; i < exprColumns.length; ++i) {
              if (i == 0)
                  System.out.println("Visible columns:");
              if (i == indexStartOrderBy)
                  System.out.println("start order by:");
              if (i == indexStartAggregates)
                  System.out.println("start aggregates:");
              if (i == indexLimitVisible)
                  System.out.println("After limit of visible columns:");
  
              System.out.println(i + ": " + exprColumns[i]);
          }
  
          System.out.println("\n\n");
      }
docs: Dumps the exprColumns list for this query specification.
  Writes to stdout.
  
  This method is useful to understand how the HSQL parser
  transforms its data structures during parsing.  For example,
  place call to this method at the beginning and end of
  resolveGroups() to see what it does.
  Since it has no callers in the production code, declaring
  it private causes a warning, so it is arbitrarily declared
  protected.
  
  @param header    A string to be prepended to output