@Override
public void processData(String id, IdentifiableMessage<String, UnitConfig, UnitConfig.Builder> entry, ProtoBufMessageMap<String, UnitConfig, UnitConfig.Builder> entryMap, ProtoBufRegistry<String, UnitConfig, UnitConfig.Builder> registry) throws CouldNotPerformException, EntryModification {
UnitConfig userUnitConfig = entry.getMessage();
if (!userUnitConfig.getUserConfig().hasUserName() || userUnitConfig.getUserConfig().getUserName().isEmpty()) {
throw new NotAvailableException("user.userName");
}
ScopeType.Scope newScope = ScopeGenerator.generateUserScope(userUnitConfig);
if (!ScopeGenerator.generateStringRep(userUnitConfig.getScope()).equals(ScopeGenerator.generateStringRep(newScope))) {
throw new EntryModification(entry.setMessage(userUnitConfig.toBuilder().setScope(newScope)), this);
}
}
}