[Demonstration 1]

[Buggy Method]
private void setDriverPath() {
    if (PlatformUtil.isMac()) {
        System.setProperty("webdriver.chrome.driver", "chromedriver");
    }
    if (PlatformUtil.isWindows()) {
        System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
    }
    if (PlatformUtil.isLinux()) {
        System.setProperty("webdriver.chrome.driver", "chromedriver_linux");
    }
}

[Buggy Hunk]
private void setDriverPath() {

[Patch]
private static void setDriverPath() {

[Demonstration 2]

[Buggy Method]
private Optional<String> loginStep1(ReadableByteStream input) throws IOException {
    byte[] array = new byte[input.getInt()];
    input.get(array);
    int keyLength = input.getInt();
    keyLength = FastMath.min(keyLength, AES_MAX_KEY_LENGTH);
    if (keyLength < AES_MIN_KEY_LENGTH) {
        throw new IOException("Key length too short: " + keyLength);
    }
    byte[] keyServer = new byte[keyLength];
    byte[] keyClient = new byte[keyLength];
    Random random = new SecureRandom();
    random.nextBytes(keyServer);
    random.nextBytes(keyClient);
    WritableByteStream output = channel.getOutputStream();
    output.putInt(keyLength);
    try {
        PublicKey rsaKey = KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec(array));
        Cipher cipher = Cipher.getInstance("RSA");
        cipher.init(Cipher.ENCRYPT_MODE, rsaKey);
        byte[] pair = new byte[keyLength << 1];
        System.arraycopy(keyServer, 0, pair, 0, keyLength);
        System.arraycopy(keyClient, 0, pair, keyLength, keyLength);
        byte[] cipherText = cipher.doFinal(pair);
        output.put(cipherText);
    } catch (NoSuchAlgorithmException | NoSuchPaddingException | IllegalBlockSizeException | BadPaddingException | InvalidKeyException | InvalidKeySpecException e) {
        throw new IOException(e);
    }
    channel.queueBundle();
    channel.setKey(keyClient, keyServer);
    KeyPair keyPair = account.keyPair();
    array = keyPair.getPublic().getEncoded();
    output.put(array);
    channel.queueBundle();
    state = this::loginStep2;
    return Optional.of("Logging in...");
}

[Buggy Hunk]
output.put(cipherText);

[Patch]
output.putByteArrayLong(cipherText);

[Demonstration 3]

[Buggy Method]
public final void emitVPUSH64(int cond, int Vd) {
    int mi = cond | b110100101101 << 16 | encodeVd64(Vd) | b1011 << 8 | 1;
    mIP++;
    mc.addInstruction(mi);
}

[Buggy Hunk]
int mi = cond | b110100101101 << 16 | encodeVd64(Vd) | b1011 << 8 | 1;

[Patch]
int mi = cond | b110100101101 << 16 | encodeVd64(Vd) | b1011 << 8 | 2;