Promise<String> (@Nullable XDebuggerEvaluator evaluator, @Nullable Project project, @NotNull Editor editor) { if (project == null || evaluator == null) { return Promises.resolvedPromise(null); } Document document = editor.getDocument(); Promise<ExpressionInfo> expressionInfoPromise = evaluator.getExpressionInfoAtOffsetAsync(project, document, editor.getCaretModel().getOffset(), true); return expressionInfoPromise.then(expressionInfo -> getExpressionText(expressionInfo, document)); }