@Override
  public void remove(
      PersistencePackage persistencePackage, DynamicEntityDao dynamicEntityDao, RecordHelper helper)
      throws ServiceException {
    Entity entity = persistencePackage.getEntity();
    String userLoginToRemove = entity.findProperty("login").getValue();

    AdminUser persistentAdminUser = adminRemoteSecurityService.getPersistentAdminUser();

    if (persistentAdminUser != null && persistentAdminUser.getLogin() != null) {
      if (persistentAdminUser.getLogin().equals(userLoginToRemove)) {
        throw new ValidationException(entity, "admin.cantDeleteCurrentUserError");
      }
    }

    OperationType removeType =
        persistencePackage.getPersistencePerspective().getOperationTypes().getRemoveType();
    helper.getCompatibleModule(removeType).remove(persistencePackage);
  }