The
org.eclipse.sirius.common.tools.api.util.SiriusCrossReferenceAdapter interface is designed to disable the proxy resolution of the InverseCrossReferencer.
This capability is typically used to prevent loading a resource during its unloading.
Furthermore, it is not recommended to add other ECrossReferenceAdapter additionally to those created by Sirius. Note that you can get the semantic CrossReferencer with
org.eclipse.sirius.business.api.session.Session.getSemanticCrossReferencer().
However, in the case where an additional custom ECrossReferenceAdapter is needed, it should extend
org.eclipse.sirius.common.tools.api.util.SiriusCrossReferenceAdapterImpl or at least implement
SiriusCrossReferenceAdapter with the same implementation as
SiriusCrossReferenceAdapterImpl.
Otherwise, there is no guarantee that load during unload won’t come up.