DbColumnWrapper getSuperColumn(DbProjectWrapper project) throws DbException {
    DbORColumn sc = (DbORColumn) m_column.getSuperCopy(); // physical super-column

    // if no physical super-column, look for logical super-column
    if (sc == null) {
      sc = getLogicalSuperColumn();
    }

    // if neither physical nor logical super-column, return null
    if (sc == null) {
      return null;
    }

    DbORTable t = (DbORTable) sc.getCompositeOfType(DbORTable.metaClass);
    DbORDataModel dm = (DbORDataModel) t.getCompositeOfType(DbORDataModel.metaClass);
    DbDataModelWrapper dataModel = project.getDataModel(dm);
    DbTableWrapper table = dataModel.getTable(t);
    DbColumnWrapper superColumn = new DbColumnWrapper(table, sc);
    return superColumn;
  }