private void propagateCommonItemValues(DbORCommonItem item, int options) throws DbException {

    // get mandatory properties
    DbORTypeClassifier type = item.getType();
    Integer len = item.getLength();
    Integer dec = item.getNbDecimal();
    boolean isNull = item.getNull();

    // get optional properties
    String name = item.getName();
    String physicalName = item.getPhysicalName();
    String alias = item.getAlias();
    String desc = item.getDescription();
    DbSMSStereotype stereotype = item.getUmlStereotype();

    // for each column
    DbRelationN relN = item.getColumns();
    DbEnumeration dbEnum = relN.elements(DbORColumn.metaClass);
    while (dbEnum.hasMoreElements()) {

      m_changesmade = true;

      // set mandatory properties
      DbORColumn column = (DbORColumn) dbEnum.nextElement();
      column.setType(type);
      column.setLength(len);
      column.setNbDecimal(dec);
      column.setNull(Boolean.valueOf(isNull));

      // set optional properties
      if ((options & NAME) != 0) {
        column.setName(name);
      }

      if ((options & PHYSICAL_NAME) != 0) {
        column.setPhysicalName(physicalName);
      }

      if ((options & ALIAS) != 0) {
        column.setAlias(alias);
      }

      if ((options & DESCRIPTION) != 0) {
        column.setDescription(desc);
      }

      if ((options & STEREOTYPE) != 0) {
        column.setUmlStereotype(stereotype);
      }
    } // end while
    dbEnum.close();

    // get object properties
    DbOOAdt ooType = item.getOoType();
    String typeUse = item.getTypeUse();
    OOTypeUseStyle style = item.getTypeUseStyle();
    JVVisibility visib = (JVVisibility) item.getVisibility();
    boolean isStatic = item.isStatic();
    boolean isFinal = item.isFinal();
    boolean isTransient = item.isTransient();
    boolean isVolatile = item.isVolatile();

    // for each field
    relN = item.getFields();
    dbEnum = relN.elements(DbJVDataMember.metaClass);
    while (dbEnum.hasMoreElements()) {

      m_changesmade = true;

      // set mandatory oo properties
      DbJVDataMember field = (DbJVDataMember) dbEnum.nextElement();
      field.setType(ooType);
      field.setTypeUse(typeUse);
      field.setTypeUseStyle(style);
      field.setVisibility(visib);
      field.setStatic(Boolean.valueOf(isStatic));
      field.setFinal(new Boolean(isFinal));
      field.setTransient(new Boolean(isTransient));
      field.setVolatile(new Boolean(isVolatile));

      // set optional properties
      if ((options & NAME) != 0) {
        field.setName(name);
      }

      if ((options & ALIAS) != 0) {
        field.setAlias(alias);
      }

      if ((options & DESCRIPTION) != 0) {
        field.setDescription(desc);
      }

      if ((options & STEREOTYPE) != 0) {
        field.setUmlStereotype(stereotype);
      }
    } // end while
    dbEnum.close();
  } // end propagateCommonItemValues()
  private void propagateCommonItemValues(
      DbORCommonItem item, DbObject concept, boolean isObjectOriented, int options)
      throws DbException {

    m_changesmade = true;

    // get mandatory properties
    DbORTypeClassifier type = item.getType();
    Integer len = item.getLength();
    Integer dec = item.getNbDecimal();
    boolean isNull = item.getNull();

    // get optional properties
    String name = item.getName();
    String physicalName = item.getPhysicalName();
    String alias = item.getAlias();
    String desc = item.getDescription();
    DbSMSStereotype stereotype = item.getUmlStereotype();

    if (!isObjectOriented) {
      DbORColumn column = (DbORColumn) concept;
      column.setType(type);
      column.setLength(len);
      column.setNbDecimal(dec);
      column.setNull(Boolean.valueOf(isNull));

      // set optional properties
      if ((options & NAME) != 0) {
        column.setName(name);
      }

      if ((options & PHYSICAL_NAME) != 0) {
        column.setPhysicalName(physicalName);
      }

      if ((options & ALIAS) != 0) {
        column.setAlias(alias);
      }

      if ((options & DESCRIPTION) != 0) {
        column.setDescription(desc);
      }

      if ((options & STEREOTYPE) != 0) {
        column.setUmlStereotype(stereotype);
      }
    } // end while
    else {

      // get object properties
      DbOOAdt ooType = item.getOoType();
      String typeUse = item.getTypeUse();
      OOTypeUseStyle style = item.getTypeUseStyle();
      JVVisibility visib = (JVVisibility) item.getVisibility();
      boolean isStatic = item.isStatic();
      boolean isFinal = item.isFinal();
      boolean isTransient = item.isTransient();
      boolean isVolatile = item.isVolatile();

      // set mandatory oo properties
      DbJVDataMember field = (DbJVDataMember) concept;
      field.setType(ooType);
      field.setTypeUse(typeUse);
      field.setTypeUseStyle(style);
      field.setVisibility(visib);
      field.setStatic(Boolean.valueOf(isStatic));
      field.setFinal(new Boolean(isFinal));
      field.setTransient(new Boolean(isTransient));
      field.setVolatile(new Boolean(isVolatile));

      // set optional properties
      if ((options & NAME) != 0) {
        field.setName(name);
      }

      if ((options & ALIAS) != 0) {
        field.setAlias(alias);
      }

      if ((options & DESCRIPTION) != 0) {
        field.setDescription(desc);
      }

      if ((options & STEREOTYPE) != 0) {
        field.setUmlStereotype(stereotype);
      }
    } // end while
  }