Object (@Nullable Project project, @NotNull JTree tree, @NotNull String dataId, @Nullable Object superProviderData) { if (PlatformCoreDataKeys.BGT_DATA_PROVIDER.is(dataId)) { VcsTreeModelData treeSelection = selected(tree); VcsTreeModelData exactSelection = exactlySelected(tree); return CompositeDataProvider.compose(slowId -> getSlowData(project, treeSelection, exactSelection, slowId), (DataProvider)superProviderData); } Object data = getFastData(project, tree, dataId); if (data != null) { return data; } return superProviderData; }