@Override
  protected void doImportStagedModel(PortletDataContext portletDataContext, MBThreadFlag threadFlag)
      throws Exception {

    Map<Long, Long> threadIds =
        (Map<Long, Long>) portletDataContext.getNewPrimaryKeysMap(MBThread.class);

    long threadId = MapUtil.getLong(threadIds, threadFlag.getThreadId(), threadFlag.getThreadId());

    if (threadId == threadFlag.getThreadId()) {
      Element element = portletDataContext.getImportDataStagedModelElement(threadFlag);

      long rootMessageId = GetterUtil.getLong(element.attributeValue("root-message-id"));

      String rootMessagePath =
          ExportImportPathUtil.getModelPath(
              portletDataContext, MBMessage.class.getName(), rootMessageId);

      MBMessage rootMessage = (MBMessage) portletDataContext.getZipEntryAsObject(rootMessagePath);

      StagedModelDataHandlerUtil.importStagedModel(portletDataContext, rootMessage);

      threadId = MapUtil.getLong(threadIds, threadFlag.getThreadId(), threadFlag.getThreadId());
    }

    MBThread thread = MBThreadLocalServiceUtil.fetchThread(threadId);

    if (thread == null) {
      return;
    }

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

    ServiceContext serviceContext =
        portletDataContext.createServiceContext(threadFlag, MBPortletDataHandler.NAMESPACE);

    MBThreadFlagLocalServiceUtil.addThreadFlag(userId, thread, serviceContext);
  }