Object (@NotNull String dataId, @NotNull Editor e, @NotNull Caret caret) { if (e.isDisposed() || !(e instanceof EditorEx)) { return null; } VirtualFile file = e.getVirtualFile(); if (file == null || !file.isValid()) return null; if (HOST_EDITOR.is(dataId)) { return e instanceof EditorWindow ? ((EditorWindow)e).getDelegate() : e; } if (CARET.is(dataId)) { return caret; } if (IDE_VIEW.is(dataId)) { return getIdeView(e, file); } if (PlatformCoreDataKeys.BGT_DATA_PROVIDER.is(dataId)) { return (DataProvider)slowId -> getSlowData(slowId, e, caret); } return null; }