public static SNode virtual_getExpectedReturnType_1213877374441(SNode thisNode) {
   SNode referenceMacro =
       SNodeOperations.getAncestor(
           thisNode, "jetbrains.mps.lang.generator.structure.ReferenceMacro", false, false);
   SNode attributedNode = SNodeOperations.getParent(referenceMacro);
   String linkRole = AttributeOperations.getLinkRole(referenceMacro);
   ConceptAndSuperConceptsScope linkSearchScope =
       new ConceptAndSuperConceptsScope(SNodeOperations.getConceptDeclaration(attributedNode));
   SNode link =
       SNodeOperations.cast(
           linkSearchScope.getMostSpecificLinkDeclarationByRole(linkRole),
           "jetbrains.mps.lang.structure.structure.LinkDeclaration");
   SNode targetConcept = SLinkOperations.getTarget(link, "target", false);
   SNode expectedNodeType = _quotation_createNode_mxwyp3_a0g0a(targetConcept);
   // reference may be resolved dynamically?
   if (SConceptOperations.isSubConceptOf(
       targetConcept, "jetbrains.mps.lang.core.structure.IResolveInfo")) {
     return _quotation_createNode_mxwyp3_a0a8a0(targetConcept);
   }
   return expectedNodeType;
 }