void (@NotNull Map<DebuggerSession, Map<String, HotSwapFile>> modifiedClasses, @NotNull HotSwapProgress reloadClassesProgress) { MultiProcessCommand reloadClassesCommand = new MultiProcessCommand(); reloadClassesProgress.setCancelWorker(() -> reloadClassesCommand.cancel()); for (DebuggerSession debuggerSession : modifiedClasses.keySet()) { reloadClassesCommand.addCommand(debuggerSession.getProcess(), new DebuggerCommandImpl() { @Override protected void action() { reloadClassesProgress.setDebuggerSession(debuggerSession); getInstance(reloadClassesProgress.getProject()).reloadClasses( debuggerSession, modifiedClasses.get(debuggerSession), reloadClassesProgress ); } @Override protected void commandCancelled() { debuggerSession.setModifiedClassesScanRequired(true); } }); } reloadClassesProgress.setTitle(JavaDebuggerBundle.message("progress.hotswap.reloading")); reloadClassesCommand.run(); ActionsCollectorImpl.recordCustomActionInvoked(reloadClassesProgress.getProject(), "Reload Classes", null, HotSwapManager.class); }