private DbORColumn getLogicalSuperColumn() throws DbException {
    DbORColumn logicalSuperColumn = null;
    DbORTable t1 = (DbORTable) m_column.getCompositeOfType(DbORTable.metaClass);
    boolean rubrique = isRubrique(t1);

    if (rubrique) {
      DbORTable t2 = findParentTable(t1);
      DbORTable t0 = (t2 == null) ? null : (DbORTable) t2.getSuperCopy();
      logicalSuperColumn = (t0 == null) ? null : findColumn(t0, t1.getName());
    }

    return logicalSuperColumn;
  }
  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;
  }
 public String getModelName() throws DbException {
   DbORDataModel model = (DbORDataModel) m_column.getCompositeOfType(DbORDataModel.metaClass);
   String name = model.getName();
   return name;
 }