src/app/n2n/impl/persistence/orm/property/relation/InverseJoinColumnOneToManyRelation.php
public function supplyPersistAction(PersistAction $persistAction, $value, ValueHash $valueHash, 
			?ValueHash $oldValueHash) {
		ArgUtils::assertTrue($oldValueHash === null || $oldValueHash instanceof ToManyValueHash);
		if ($oldValueHash !== null && $oldValueHash->checkForUntouchedProxy($value)) return;
		
		$toManyAnalyzer = new ToManyAnalyzer($persistAction->getActionQueue());
		$toManyAnalyzer->analyze($value);
		
		$hasher = new ToManyValueHasher($this->targetEntityModel->getIdDef()->getEntityProperty());
		
		if ($oldValueHash !== null && !$toManyAnalyzer->hasPendingPersistActions()
				&& $hasher->matches($toManyAnalyzer->getEntityIds(), $oldValueHash)) {
			return;
		}
		
		$this->checkValueHash($toManyAnalyzer, $hasher, $valueHash);
		
		$targetPersistActions = $toManyAnalyzer->getAllPersistActions();
		
		if ($persistAction->hasId()) {
			$this->applyPersistId($persistAction, $targetPersistActions);
			return;
		}
				
		foreach ($targetPersistActions as $targetPersistAction) {
			$targetPersistAction->addDependent($persistAction);
		}
		
		$persistAction->executeAtEnd(function () use ($persistAction, $targetPersistActions) {
			$this->applyPersistId($persistAction, $targetPersistActions);
		});
	}
public function supplyPersistAction(PersistAction $persistAction, $value, ValueHash $valueHash, 
			?ValueHash $oldValueHash) {
		ArgUtils::assertTrue($oldValueHash === null || $oldValueHash instanceof ToManyValueHash);
		if ($oldValueHash !== null && $oldValueHash->checkForUntouchedProxy($value)) return;
		
		$toManyAnalyzer = new ToManyAnalyzer($persistAction->getActionQueue());
		$toManyAnalyzer->analyze($value);
		
		$hasher = new ToManyValueHasher($this->targetEntityModel->getIdDef()->getEntityProperty());
		
		if ($oldValueHash !== null && !$toManyAnalyzer->hasPendingPersistActions()
				&& $hasher->matches($toManyAnalyzer->getEntityIds(), $oldValueHash)) {
			return;
		}
		
		$this->checkValueHash($toManyAnalyzer, $hasher, $valueHash);
		
		$targetPersistActions = $toManyAnalyzer->getAllPersistActions();
		
		if ($persistAction->hasId()) {
			$this->applyPersistId($persistAction, $targetPersistActions);
			return;
		}
				
		foreach ($targetPersistActions as $targetPersistAction) {
			$targetPersistAction->addDependent($persistAction);
		}
		
		$persistAction->executeAtEnd(function () use ($persistAction, $targetPersistActions) {
			$this->applyPersistId($persistAction, $targetPersistActions);
		});
	}
/* (non-PHPdoc)
@see \n2n\impl\persistence\orm\property\relation\Relation::supplyPersistAction()