void (final List<? extends CommittedChangeList> receivedChanges) { final boolean hasEmptyCaches = CommittedChangesCache.getInstance(myProject).hasEmptyCaches(); ApplicationManager.getApplication().invokeLater(() -> { if (Disposer.isDisposed(this)) return; if (myLoadingChangeListsLabel != null) { remove(myLoadingChangeListsLabel); myLoadingChangeListsLabel = null; } myCommittedChangeLists = receivedChanges; myTreeBrowser.setItems(myCommittedChangeLists, CommittedChangesBrowserUseCase.UPDATE); if (hasEmptyCaches) { final StatusText statusText = myTreeBrowser.getEmptyText(); statusText.clear(); //noinspection DialogTitleCapitalization statusText.appendText(VcsBundle.message("update.info.click.status.text.prefix")).appendText(" ") .appendText(VcsBundle.message("update.info.refresh.link.status.text"), SimpleTextAttributes.LINK_ATTRIBUTES, new ActionListener() { @Override public void actionPerformed(final ActionEvent e) { RefreshIncomingChangesAction.doRefresh(myProject); } }) .appendText(" ").appendText(VcsBundle.message("update.info.to.initialize.status.text.suffix")); } }, myProject.getDisposed()); }