code: public ColumnSpec[] getColumnSpecs() {
          Set<ColumnSpec> results = new HashSet<>();
          addTo(results, this.baseSpec);
          addTo(results, this.codeSpec);
          addTo(results, this.constraintSpecs);
          addTo(results, this.finishTimeSpec);
          addTo(results, this.startTimeOrTimestampSpec);
          addTo(results, this.uniqueIdSpecs);
          addTo(results, this.valueSpec);
          addTo(results, this.createDateSpec);
          addTo(results, this.updateDateSpec);
          addTo(results, this.deleteDateSpec);
          for (PropertySpec propertySpec : this.propertySpecs) {
              addTo(results, propertySpec.getCodeSpec());
          }
          return results.toArray(new ColumnSpec[results.size()]);
      }
docs: Returns the distinct tables specified in this entity spec, not including
  references to other entity specs.
  
  @return an array of {@link TableSpec}s. Guaranteed not <code>null</code>.