code: public void setReferenceTargetElement(ModelElementInstance referenceSourceElement, T referenceTargetElement) {
      ModelInstance modelInstance = referenceSourceElement.getModelInstance();
      String referenceTargetIdentifier = referenceTargetAttribute.getValue(referenceTargetElement);
      ModelElementInstance existingElement = modelInstance.getModelElementById(referenceTargetIdentifier);
  
      if(existingElement == null || !existingElement.equals(referenceTargetElement)) {
        throw new ModelReferenceException("Cannot create reference to model element " + referenceTargetElement
            +": element is not part of model. Please connect element to the model first.");
      } else {
        setReferenceIdentifier(referenceSourceElement, referenceTargetIdentifier);
      }
    }
docs: Set the reference target model element instance
  
  @param referenceSourceElement the reference source model element instance
  @param referenceTargetElement the reference target model element instance
  @throws ModelReferenceException if element is not already added to the model