void (XValueNodeImpl node, @NotNull String nodeName, AnActionEvent e) { node.calculateEvaluationExpression() .thenAsync(expr -> { if (expr == null && node != myValueNode) { return myValueNode.calculateEvaluationExpression(); } else { return Promises.resolvedPromise(expr); } }).onSuccess(expr -> { AppUIUtil.invokeOnEdt(() -> { XDebuggerWatchesManager manager = ((XDebuggerManagerImpl)XDebuggerManager.getInstance(mySession.getProject())).getWatchesManager(); manager.showInplaceEditor(myPresentationPosition, myEditor, mySession, expr); }); }); }