void (final Map<HotfixData, List<VcsException>> exceptionGroups, @NotNull String tabDisplayName) { showErrorsImpl(exceptionGroups.isEmpty(), () -> { final List<VcsException> exceptionList = exceptionGroups.values().iterator().next(); return exceptionList == null ? null : (exceptionList.isEmpty() ? null : exceptionList.get(0)); }, tabDisplayName, vcsErrorViewPanel -> { for (Map.Entry<HotfixData, List<VcsException>> entry : exceptionGroups.entrySet()) { if (entry.getKey() == null) { addDirectMessages(vcsErrorViewPanel, entry.getValue()); } else { final List<VcsException> exceptionList = entry.getValue(); final List<SimpleErrorData> list = new ArrayList<>(exceptionList.size()); for (VcsException exception : exceptionList) { final String[] messages = getExceptionMessages(exception); list.add(new SimpleErrorData( ErrorTreeElementKind.convertMessageFromCompilerErrorType(getErrorCategory(exception)), messages, exception.getVirtualFile())); } vcsErrorViewPanel.addHotfixGroup(entry.getKey(), list); } } }); }