ExternalJavacProcessHandler (UUID processId, @NotNull Process process, @NotNull String commandLine, boolean keepProcessAlive) { return new ExternalJavacProcessHandler(processId, process, commandLine, keepProcessAlive) { @Override public @NotNull Future<?> executeTask(@NotNull Runnable task) { return SharedThreadPool.getInstance().submit(task); } @Override protected @NotNull BaseOutputReader.Options readerOptions() { return BaseOutputReader.Options.NON_BLOCKING; } }; }