void (@NotNull final SMTestProxy newTestOrSuite) { final SMTestProxy parentSuite = newTestOrSuite.getParent(); final Update update = new Update(ObjectUtils.notNull(parentSuite, getRoot())) { @Override public void run() { if (parentSuite == null || parentSuite.getParent() == null) { myUpdateTreeRequests.cancelAllRequests(); myRequests.clear(); myTreeBuilder.updateFromRoot(); } else { myRequests.remove(this); myTreeBuilder.updateTestsSubtree(parentSuite); } } }; if (ApplicationManager.getApplication().isUnitTestMode()) { update.run(); } else if (!isDisposed() && myRequests.add(update)) { myUpdateTreeRequests.addRequest(update, 50); } if (TestConsoleProperties.TRACK_RUNNING_TEST.value(myProperties)) { if (myLastSelected == null || myLastSelected == newTestOrSuite || isFiltered(myLastSelected)) { setLastSelected(null); selectAndNotify(newTestOrSuite); } } }