[Demonstration 1]

[Buggy Method]
private String sendLoginPost() {
    final String validJSessionID = getValidJSessionID();
    String csrfToken = null;
    try {
        csrfToken = getCSrfToken(validJSessionID);
    } catch (final IOException e) {
        e.printStackTrace();
    }
    final List<BasicNameValuePair> params = Arrays.asList(new BasicNameValuePair[] { new BasicNameValuePair("j_username", "admin"), new BasicNameValuePair("j_password", "nimda"), new BasicNameValuePair("_csrf", csrfToken) });
    HttpResponse response = null;
    String jsessionIDToken = null;
    try {
        response = makeHttpPostRequest(hostName + "/j_spring_security_check", validJSessionID, params);
        for (final Header header : response.getAllHeaders()) {
            if ("Set-Cookie".equals(header.getName())) {
                final String[] sessionIdcookies = header.getValue().split(";");
                if (sessionIdcookies.length > 0) {
                    jsessionIDToken = sessionIdcookies[1];
                    break;
                }
            }
        }
        if (jsessionIDToken != null && jsessionIDToken.split("=").length > 0) {
            jsessionIDToken = jsessionIDToken.split("=")[1];
        }
        return jsessionIDToken;
    } catch (final IOException e) {
    }
    return null;
}

[Buggy Hunk]
jsessionIDToken =sessionIdcookies[1];

[Patch]
jsessionIDToken =sessionIdcookies[0];

[Demonstration 2]

[Buggy Method]
public void addCertificateToKeystore(File file) throws KeyStoreException, CertificateException, NoSuchAlgorithmException, IOException, HeadlessException, InvalidNameException {
    if (file == null) {
        throw new IllegalArgumentException();
    }
    try (InputStream inputStream = new FileInputStream(file)) {
        CertificateFactory cf = CertificateFactory.getInstance("X509");
        X509Certificate addedCert = (X509Certificate) cf.generateCertificate(inputStream);
        if (checkForSameCertificate(addedCert) == false) {
            showCertificate(new CertificateModel(addedCert), true);
        }
        // value of addToKeyStore is changed by setter in CertificateDialog
        if (addToKeystore == true) {
            addToKeystore = false;
            String alias = useCommonNameAsAlias(addedCert);
            trustStore.setCertificateEntry(alias, addedCert);
            try (FileOutputStream outputStream = new FileOutputStream(localPreferences.getTrustStorePath())) {
                trustStore.store(outputStream, localPreferences.getTrustStorePassword().toCharArray());
                JOptionPane.showMessageDialog(null, Res.getString("dialog.certificate.has.been.added"));
            }
        }
    }
}

[Buggy Hunk]
showCertificate(new CertificateModel(addedCert), true);

[Patch]
showCertificate(new CertificateModel(addedCert), CertificateDialogReason.ADD_CERTIFICATE);

[Demonstration 3]

[Buggy Method]
@Override
public boolean isConnected() {
    if (socket != null && mBufferOut != null && mBufferIn != null) {
        return true;
    } else {
        return false;
    }
}

[Buggy Hunk]
if (socket != null && mBufferOut != null && mBufferIn != null) {

[Patch]
if (socket != null && socket.isConnected() && mBufferOut != null && mBufferIn != null) {