void (@NotNull final ProgressIndicator indicator) { indicator.setIndeterminate(true); final Map<String, SvnMergeInfoRootPanelManual> panels = new HashMap<>(); final Map<String, MergeInfoHolder> holders = new HashMap<>(); final List<WCInfoWithBranches> roots = myDataLoader.loadRoots(); SwingUtilities.invokeLater(() -> { if (myDisposed) return; final JPanel mainPanel = prepareData(panels, holders, roots); myMergePanels.clear(); myHolders.clear(); myMergePanels.putAll(panels); myHolders.putAll(holders); if (myPanelWrapper != null) { myPanelWrapper.removeAll(); if (myMergePanels.isEmpty()) { final JPanel emptyPanel = new JPanel(new GridBagLayout()); final GridBagConstraints gb = new GridBagConstraints(0, 0, 1, 1, 1, 1, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(5, 5, 0, 5), 0, 0); final JBLabel label = new JBLabel(message("label.no.subversion.1.5.working.copies")); label.setUI(new MultiLineLabelUI()); emptyPanel.add(label, gb); gb.fill = GridBagConstraints.HORIZONTAL; myPanelWrapper.add(emptyPanel, gb); } else { for (MergeInfoHolder holder : myHolders.values()) { holder.updateMixedRevisionsForPanel(); } myPanelWrapper.add(mainPanel, new GridBagConstraints(0, 0, 1, 1, 1, 1, GridBagConstraints.NORTHWEST, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0)); } myPanelWrapper.repaint(); } else { myPanel = mainPanel; } if (afterRefresh != null) { afterRefresh.run(); } }); }