@Override
  protected void doImportStagedModel(PortletDataContext portletDataContext, DDLRecord record)
      throws Exception {

    long userId = portletDataContext.getUserId(record.getUserUuid());

    StagedModelDataHandlerUtil.importReferenceStagedModel(
        portletDataContext, record, DDLRecordSet.class, record.getRecordSetId());

    Map<Long, Long> recordSetIds =
        (Map<Long, Long>) portletDataContext.getNewPrimaryKeysMap(DDLRecordSet.class);

    long recordSetId =
        MapUtil.getLong(recordSetIds, record.getRecordSetId(), record.getRecordSetId());

    ServiceContext serviceContext = portletDataContext.createServiceContext(record);

    Element recordElement = portletDataContext.getImportDataElement(record);

    Fields fields =
        (Fields)
            portletDataContext.getZipEntryAsObject(recordElement.attributeValue("fields-path"));

    DDLRecord importedRecord = null;

    if (portletDataContext.isDataStrategyMirror()) {
      DDLRecord existingRecord =
          DDLRecordLocalServiceUtil.fetchDDLRecordByUuidAndGroupId(
              record.getUuid(), portletDataContext.getScopeGroupId());

      if (existingRecord == null) {
        serviceContext.setUuid(record.getUuid());

        importedRecord =
            DDLRecordLocalServiceUtil.addRecord(
                userId,
                portletDataContext.getScopeGroupId(),
                recordSetId,
                record.getDisplayIndex(),
                fields,
                serviceContext);
      } else {
        importedRecord =
            DDLRecordLocalServiceUtil.updateRecord(
                userId,
                existingRecord.getRecordId(),
                false,
                record.getDisplayIndex(),
                fields,
                true,
                serviceContext);
      }
    } else {
      importedRecord =
          DDLRecordLocalServiceUtil.addRecord(
              userId,
              portletDataContext.getScopeGroupId(),
              recordSetId,
              record.getDisplayIndex(),
              fields,
              serviceContext);
    }

    portletDataContext.importClassedModel(record, importedRecord);
  }