void (@NotNull GrReturnStatement returnStatement) { boolean isNodeNeeded = myHead == null || myHead.getElement() != returnStatement; final GrExpression value = returnStatement.getReturnValue(); if (value != null) value.accept(this); GroovyPsiElement scopeElement = myFunctionalScopeStack.isEmpty() ? null : returnStatement; if (isNodeNeeded) { InstructionImpl returnInstruction = startNode(returnStatement); addPendingEdge(scopeElement, myHead); finishNode(returnInstruction); } else { addPendingEdge(scopeElement, myHead); } interruptFlow(); }