code: List<ColumnSpec> asList() {
          List<ColumnSpec> columnSpecs = new ArrayList<>();
          ColumnSpec spec = this;
          columnSpecs.add(spec);
          while (spec.getJoin() != null) {
              spec = spec.getJoin().getNextColumnSpec();
              columnSpecs.add(spec);
          }
          return columnSpecs;
      }
docs: Returns a list of column specs that are chained to this one via joins
  (including this column spec). This is a convenience method for use with
  collections.
  
  @return a {@link List<ColumnSpec>}.