code: @Override
      public int join(final OneSelect _oneSelect,
                      final SQLSelect _select,
                      final int _relIndex)
      {
          this.tableIdx = _oneSelect.getTableIndex(GeneralInstance.TABLENAME,
                          GeneralInstance.ISIDCOLUMN + "_" + GeneralInstance.ISTYPECOLUMN, _relIndex, null);
          if (this.tableIdx == null) {
              this.tableIdx = _oneSelect.getNewTableIndex(GeneralInstance.TABLENAME,
                              GeneralInstance.ISIDCOLUMN + "_" + GeneralInstance.ISTYPECOLUMN, _relIndex, null);
              if (getType().getMainTable().getSqlColType() != null) {
                  _select.leftJoin(GeneralInstance.TABLENAME, this.tableIdx,
                                  new String[] {GeneralInstance.ISIDCOLUMN, GeneralInstance.ISTYPECOLUMN},
                                  _relIndex, new String[] {"ID", getType().getMainTable().getSqlColType()});
              } else {
                  _select.leftJoin(GeneralInstance.TABLENAME, this.tableIdx, GeneralInstance.ISIDCOLUMN, _relIndex, "ID");
                  this.addTypeClause = true;
              }
          }
          _select.column(this.tableIdx, "ID");
          return this.tableIdx;
      }
docs: {@inheritDoc}