@Override
  public int importIdentifiers(
      @NotNull IdentifiersMapping idMapping, @NotNull IdentifierGenerator pIdentifier) {
    IdentifierGenerator localParticipantIdentifier =
        pIdentifier == null ? participantIdentifier : pIdentifier;

    ValueTable identifiersTable =
        identifiersTableService.ensureIdentifiersTable(idMapping.getEntityType());
    Variable variable = identifiersTableService.ensureIdentifiersMapping(idMapping);
    PrivateVariableEntityMap entityMap =
        new OpalPrivateVariableEntityMap(identifiersTable, variable, localParticipantIdentifier);

    List<VariableEntity> systemEntities =
        StreamSupport.stream(
                new IdentifiersMaps(identifiersTable, idMapping.getName()).spliterator(), true) //
            .filter(unitId -> !unitId.hasPrivateIdentifier()) //
            .map(IdentifiersMaps.IdentifiersMap::getSystemEntity) //
            .collect(Collectors.toList());

    entityMap.createPrivateEntities(systemEntities);

    return systemEntities.size();
  }