Repository: jenkinsci/jenkins
File: core/src/main/java/hudson/slaves/JNLPLauncher.java (Java)

Code before:
    public void setWebSocket(boolean webSocket) {
        this.webSocket = webSocket;
    }

    /**
     * Deprecated (only used with deprecated {@code -jnlpUrl} mode), but cannot mark it as such without breaking CasC.
     */
    public String getTunnel() {
        return tunnel;
    }

    /**
     * Deprecated (only used with deprecated {@code -jnlpUrl} mode), but cannot mark it as such without breaking CasC.
     */
    @DataBoundSetter
    public void setTunnel(String tunnel) {
        this.tunnel = Util.fixEmptyAndTrim(tunnel);
    }

    @Override
    public void launch(SlaveComputer computer, TaskListener listener) {
        // do nothing as we cannot self start
    }

    /**
     * @deprecated as of 2.0
     *      Use {@link Jenkins#getDescriptor(Class)}
     */
    @Deprecated
    @Restricted(NoExternalUse.class)
    public static /*almost final*/ Descriptor<ComputerLauncher> DESCRIPTOR;

    @NonNull
    @Restricted(NoExternalUse.class)
    public String getRemotingOptionsUnix(@NonNull Computer computer) {
        return getRemotingOptions(escapeUnix(computer.getName()));
    }

    @NonNull
    @Restricted(NoExternalUse.class)
    public String getRemotingOptionsWindows(@NonNull Computer computer) {
        return getRemotingOptions(escapeWindows(computer.getName()));
    }

    @Restricted(DoNotUse.class)
    public boolean isConfigured() {
        return webSocket || tunnel != null || workDirSettings.isConfigured();
    }

    private String getRemotingOptions(String computerName) {
        StringBuilder sb = new StringBuilder();

Review comment (suggestion):
The Javadoc comment was added in commit 3e842b69996c3a354d376ee3e1e6ab3fc46311e3 and delivered in Jenkins 2.2.  The matching annotation was added in commit d88ad04fe8adff517e1d1d769268e4286991be2f and delivered in Jenkins 2.203.
```suggestion
     * @deprecated as of 2.2
```

Code after:
    public void setWebSocket(boolean webSocket) {
        this.webSocket = webSocket;
    }

    /**
     * Deprecated (only used with deprecated {@code -jnlpUrl} mode), but cannot mark it as such without breaking CasC.
     */
    public String getTunnel() {
        return tunnel;
    }

    /**
     * Deprecated (only used with deprecated {@code -jnlpUrl} mode), but cannot mark it as such without breaking CasC.
     */
    @DataBoundSetter
    public void setTunnel(String tunnel) {
        this.tunnel = Util.fixEmptyAndTrim(tunnel);
    }

    @Override
    public void launch(SlaveComputer computer, TaskListener listener) {
        // do nothing as we cannot self start
    }

    /**
     * @deprecated as of 2.2
     *      Use {@link Jenkins#getDescriptor(Class)}
     */
    @Deprecated
    @Restricted(NoExternalUse.class)
    public static /*almost final*/ Descriptor<ComputerLauncher> DESCRIPTOR;

    @NonNull
    @Restricted(NoExternalUse.class)
    public String getRemotingOptionsUnix(@NonNull Computer computer) {
        return getRemotingOptions(escapeUnix(computer.getName()));
    }

    @NonNull
    @Restricted(NoExternalUse.class)
    public String getRemotingOptionsWindows(@NonNull Computer computer) {
        return getRemotingOptions(escapeWindows(computer.getName()));
    }

    @Restricted(DoNotUse.class)
    public boolean isConfigured() {
        return webSocket || tunnel != null || workDirSettings.isConfigured();
    }

    private String getRemotingOptions(String computerName) {
        StringBuilder sb = new StringBuilder();