@Override
  protected void doImportStagedModel(
      PortletDataContext portletDataContext, LayoutSetPrototype layoutSetPrototype)
      throws Exception {

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

    UnicodeProperties settingsProperties = layoutSetPrototype.getSettingsProperties();

    boolean layoutsUpdateable =
        GetterUtil.getBoolean(settingsProperties.getProperty("layoutsUpdateable"), true);

    ServiceContext serviceContext = portletDataContext.createServiceContext(layoutSetPrototype);

    serviceContext.setAttribute("addDefaultLayout", Boolean.FALSE);

    LayoutSetPrototype importedLayoutSetPrototype = null;

    if (portletDataContext.isDataStrategyMirror()) {
      LayoutSetPrototype existingLayoutSetPrototype =
          _layoutSetPrototypeLocalService.fetchLayoutSetPrototypeByUuidAndCompanyId(
              layoutSetPrototype.getUuid(), portletDataContext.getCompanyId());

      if (existingLayoutSetPrototype == null) {
        serviceContext.setUuid(layoutSetPrototype.getUuid());

        importedLayoutSetPrototype =
            _layoutSetPrototypeLocalService.addLayoutSetPrototype(
                userId,
                portletDataContext.getCompanyId(),
                layoutSetPrototype.getNameMap(),
                layoutSetPrototype.getDescriptionMap(),
                layoutSetPrototype.isActive(),
                layoutsUpdateable,
                serviceContext);
      } else {
        importedLayoutSetPrototype =
            _layoutSetPrototypeLocalService.updateLayoutSetPrototype(
                existingLayoutSetPrototype.getLayoutSetPrototypeId(),
                layoutSetPrototype.getNameMap(),
                layoutSetPrototype.getDescriptionMap(),
                layoutSetPrototype.isActive(),
                layoutsUpdateable,
                serviceContext);
      }
    } else {
      importedLayoutSetPrototype =
          _layoutSetPrototypeLocalService.addLayoutSetPrototype(
              userId,
              portletDataContext.getCompanyId(),
              layoutSetPrototype.getNameMap(),
              layoutSetPrototype.getDescriptionMap(),
              layoutSetPrototype.isActive(),
              layoutsUpdateable,
              serviceContext);
    }

    importLayoutPrototypes(portletDataContext, layoutSetPrototype);
    importLayouts(
        portletDataContext, layoutSetPrototype, importedLayoutSetPrototype, serviceContext);

    portletDataContext.importClassedModel(layoutSetPrototype, importedLayoutSetPrototype);
  }