docs: @Override
  	public EObjectInComment computeEObjectReferencedInComment(XtextResource resource, int offset) {
  		IParseResult parseResult = resource.getParseResult();
  		if(parseResult != null) {
  			INode rootNode = parseResult.getRootNode();
  			INode node = NodeModelUtils.findLeafNodeAtOffset(rootNode, offset);
  			EObject semanticObject = NodeModelUtils.findActualSemanticObjectFor(node);
  			if(semanticObject != null) {
  				EReference reference = getEReference(semanticObject, node, offset);
  				if(reference != null) {
  					IScope scope = getScope(semanticObject, reference, node, offset);
  					List<ReplaceRegion> eObjectReferences = computeTypeRefRegions(node);
  					for(ReplaceRegion eObjectReference : eObjectReferences) {
  						if(eObjectReference.getOffset() <= offset && offset <= eObjectReference.getEndOffset()) {
  							String eObjectReferenceText = eObjectReference.getText();
  							if(!Strings.isNullOrEmpty(eObjectReferenceText)) {
  								ITextRegion region = new TextRegion(eObjectReference.getOffset(), eObjectReference.getLength());
  								IEObjectDescription candidate = getElementFromScope(scope, node, region, eObjectReferenceText);
  								if(candidate != null) {
  									EObject eObject = candidate.getEObjectOrProxy();
  									if(eObject != null) {
  										return new EObjectInComment(eObject, region);
  									}
  								}
  							}
  						}
  					}
  				}
  			}
  		}
  		return null;
  	}