void (@NotNull IdeScriptEngine engine, @NotNull RunContentDescriptor descriptor) { ConsoleWriter stdOutWriter = ObjectUtils.tryCast(engine.getStdOut(), ConsoleWriter.class); ConsoleWriter stdErrWriter = ObjectUtils.tryCast(engine.getStdErr(), ConsoleWriter.class); if (stdOutWriter != null && stdOutWriter.getDescriptor() == descriptor && stdErrWriter != null && stdErrWriter.getDescriptor() == descriptor) { return; } WeakReference<RunContentDescriptor> ref = new WeakReference<>(descriptor); engine.setStdOut(new ConsoleWriter(ref, ProcessOutputTypes.STDOUT)); engine.setStdErr(new ConsoleWriter(ref, ProcessOutputTypes.STDERR)); }