Integer (@NotNull JavaCommandLineState javaCommandLineState, @NotNull TargetEnvironmentRequest request) { // TODO Checking for a specific target is a gap in the idea of API. This check was introduced because the Java debugger // runs in the server mode for local targets and in the client mode for other targets. But why? // Anyway, the server mode requires a remote TCP forwarding that can't always be acquired for the Docker target. // Maybe replace this method with something like `if (!request.isLocalPortForwardingSupported())`? if (DefaultDebugExecutor.EXECUTOR_ID.equalsIgnoreCase(javaCommandLineState.getEnvironment().getExecutor().getId()) && !(request instanceof LocalTargetEnvironmentRequest)) { return 12345; } else { return null; } }