//
  // PRIVATE METHODS
  //
  private void propagateCommonItems() {
    g_options = getOptions();

    m_changesmade = false;

    try {
      m_semObjs[0].getDb().beginWriteTrans(m_title);
      int nb = m_semObjs.length;
      for (int i = 0; i < nb; i++) {
        DbObject semObj = m_semObjs[i];
        if (semObj instanceof DbORCommonItemModel) {
          DbORCommonItemModel model = (DbORCommonItemModel) semObj;
          propagateCommonItemValues(model, g_options);
        } else if (semObj instanceof DbORCommonItem) {
          DbORCommonItem item = (DbORCommonItem) semObj;
          propagateCommonItemValues(item, g_options);
        } // end if
        else if (semObj instanceof DbORDataModel) {
          DbObject tableOrView = null;
          DbEnumeration orTableEnum = semObj.getComponents().elements(DbORAbsTable.metaClass);
          while (orTableEnum.hasMoreElements()) {
            tableOrView = orTableEnum.nextElement();
            DbEnumeration orColumnEnum = tableOrView.getComponents().elements(DbORColumn.metaClass);
            DbORCommonItem item = null;
            while (orColumnEnum.hasMoreElements()) {
              DbORColumn parm = (DbORColumn) orColumnEnum.nextElement();
              item = (DbORCommonItem) parm.get(DbORColumn.fCommonItem);
              if (item != null) propagateCommonItemValues(item, parm, false, g_options);
            }
            orColumnEnum.close();
          }
          orTableEnum.close();
        } else if (semObj instanceof DbORColumn) {
          DbORCommonItem item = (DbORCommonItem) semObj.get(DbORColumn.fCommonItem);
          if (item != null) propagateCommonItemValues(item, semObj, false, g_options);
        } else if (semObj instanceof DbORAbsTable) {
          DbEnumeration orColumnEnum = semObj.getComponents().elements(DbORColumn.metaClass);
          DbORCommonItem item = null;
          while (orColumnEnum.hasMoreElements()) {
            DbORColumn parm = (DbORColumn) orColumnEnum.nextElement();
            item = (DbORCommonItem) parm.get(DbORColumn.fCommonItem);
            if (item != null) propagateCommonItemValues(item, parm, false, g_options);
          }
          orColumnEnum.close();
        } else if (semObj instanceof DbOOClassModel) {
          DbObject tableOrView = null;
          DbEnumeration orTableEnum = semObj.getComponents().elements(DbOOClass.metaClass);
          while (orTableEnum.hasMoreElements()) {
            tableOrView = orTableEnum.nextElement();
            DbEnumeration orColumnEnum =
                tableOrView.getComponents().elements(DbJVDataMember.metaClass);
            DbORCommonItem item = null;
            while (orColumnEnum.hasMoreElements()) {
              DbJVDataMember parm = (DbJVDataMember) orColumnEnum.nextElement();
              item = (DbORCommonItem) parm.get(DbJVDataMember.fCommonItem);
              if (item != null) propagateCommonItemValues(item, parm, true, g_options);
            }
            orColumnEnum.close();
          }
          orTableEnum.close();
        } else if (semObj instanceof DbOOClass) {
          DbEnumeration orColumnEnum = semObj.getComponents().elements(DbJVDataMember.metaClass);
          DbORCommonItem item = null;
          while (orColumnEnum.hasMoreElements()) {
            DbJVDataMember parm = (DbJVDataMember) orColumnEnum.nextElement();
            item = (DbORCommonItem) parm.get(DbJVDataMember.fCommonItem);
            if (item != null) propagateCommonItemValues(item, parm, true, g_options);
          }
          orColumnEnum.close();
        } else if (semObj instanceof DbJVDataMember) {
          DbORCommonItem item = (DbORCommonItem) semObj.get(DbJVDataMember.fCommonItem);
          if (item != null) propagateCommonItemValues(item, semObj, true, g_options);
        }
      } // end for
      m_semObjs[0].getDb().commitTrans();

      if (m_changesmade == false)
        JOptionPane.showMessageDialog(
            this,
            LocaleMgr.screen.getString("NoCommonItemToPropagate"),
            ApplicationContext.getApplicationName(),
            JOptionPane.INFORMATION_MESSAGE);

    } catch (Exception e) {
      org.modelsphere.jack.util.ExceptionHandler.processUncatchedException(
          ApplicationContext.getDefaultMainFrame(), e);
    }
  } // end propagateCommonItems()