[Demonstration 1]

[Buggy Method]
public void onSplashPageClick(View view) {
    Intent intent = new Intent(this, questions.class);
    startActivity(intent);
    finish();
}

[Buggy Hunk]
Intent intent = new Intent(this, questions.class);

[Patch]
Intent intent = new Intent(this, GameActivity.class);

[Demonstration 2]

[Buggy Method]
public Message sendVoice(SendVoice sendVoice) throws TelegramApiException {
    String responseContent;
    try {
        String url = getBaseUrl() + SendVoice.PATH;
        HttpPost httppost = new HttpPost(url);
        httppost.setConfig(requestConfig);
        if (sendVoice.isNewVoice()) {
            MultipartEntityBuilder builder = MultipartEntityBuilder.create();
            builder.addTextBody(SendVoice.CHATID_FIELD, sendVoice.getChatId());
            builder.addBinaryBody(SendVoice.AUDIO_FIELD, new java.io.File(sendVoice.getAudio()), ContentType.create("audio/ogg"), sendVoice.getVoiceName());
            if (sendVoice.getReplayMarkup() != null) {
                builder.addTextBody(SendVoice.REPLYMARKUP_FIELD, sendVoice.getReplayMarkup().toJson().toString());
            }
            if (sendVoice.getReplayToMessageId() != null) {
                builder.addTextBody(SendVoice.REPLYTOMESSAGEID_FIELD, sendVoice.getReplayToMessageId().toString());
            }
            if (sendVoice.getDisableNotification() != null) {
                builder.addTextBody(SendVoice.DISABLENOTIFICATION_FIELD, sendVoice.getDisableNotification().toString());
            }
            if (sendVoice.getDuration() != null) {
                builder.addTextBody(SendVoice.DURATION_FIELD, sendVoice.getDuration().toString());
            }
            HttpEntity multipart = builder.build();
            httppost.setEntity(multipart);
        } else {
            List<NameValuePair> nameValuePairs = new ArrayList<>();
            nameValuePairs.add(new BasicNameValuePair(SendVoice.CHATID_FIELD, sendVoice.getChatId()));
            nameValuePairs.add(new BasicNameValuePair(SendVoice.AUDIO_FIELD, sendVoice.getAudio()));
            if (sendVoice.getReplayMarkup() != null) {
                nameValuePairs.add(new BasicNameValuePair(SendVoice.REPLYMARKUP_FIELD, sendVoice.getReplayMarkup().toJson().toString()));
            }
            if (sendVoice.getReplayToMessageId() != null) {
                nameValuePairs.add(new BasicNameValuePair(SendVoice.REPLYTOMESSAGEID_FIELD, sendVoice.getReplayToMessageId().toString()));
            }
            if (sendVoice.getDisableNotification() != null) {
                nameValuePairs.add(new BasicNameValuePair(SendVoice.DISABLENOTIFICATION_FIELD, sendVoice.getDisableNotification().toString()));
            }
            if (sendVoice.getDuration() != null) {
                nameValuePairs.add(new BasicNameValuePair(SendVoice.DURATION_FIELD, sendVoice.getDuration().toString()));
            }
            httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs, StandardCharsets.UTF_8));
        }
        try (CloseableHttpResponse response = httpclient.execute(httppost)) {
            HttpEntity ht = response.getEntity();
            BufferedHttpEntity buf = new BufferedHttpEntity(ht);
            responseContent = EntityUtils.toString(buf, StandardCharsets.UTF_8);
        }
    } catch (IOException e) {
        throw new TelegramApiException("Unable to send sticker", e);
    }
    JSONObject jsonObject = new JSONObject(responseContent);
    if (!jsonObject.getBoolean(Constants.RESPONSEFIELDOK)) {
        throw new TelegramApiException("Error at sendVoice", jsonObject.getString(ERRORDESCRIPTIONFIELD), jsonObject.getInt(ERRORCODEFIELD));
    }
    return new Message(jsonObject.getJSONObject(Constants.RESPONSEFIELDRESULT));
}

[Buggy Hunk]
builder.addTextBody(SendVoice.REPLYMARKUP_FIELD, sendVoice.getReplayMarkup().toJson().toString());

[Patch]
builder.addTextBody(SendVoice.REPLYMARKUP_FIELD, sendVoice.getReplayMarkup().toJson().toString(), ContentType.create("text/plain", StandardCharsets.UTF_8));

[Demonstration 3]

[Buggy Method]
private void proceedToNewActivity() {
    if (roundNum != Constants.MAX_ROUND_NUM) {
        Intent intent = new Intent(RoundActivity.this, BetweenRoundActivity.class);
        intent.putExtra(ExtraNames.ROUND, roundNum);
        intent.putExtra(ExtraNames.SCORE, scoreNum);
        intent.putExtra(ExtraNames.GOT_RIGHT_ANSWER, gotRightAnswer);
        intent.putExtra(ExtraNames.HELP_STATUS, helpStatus);
        intent.putExtra(ExtraNames.CUR_QUESTION, question.getQuestion());
        startActivity(intent);
    } else {
        updateScoreOnSharedPreferences(scoreNum);
        incLevelOnSharedPreferences();
        Intent intent = new Intent(RoundActivity.this, WinActivity.class);
        intent.putExtra(ExtraNames.ROUND, roundNum);
        intent.putExtra(ExtraNames.SCORE, scoreNum);
        startActivity(intent);
    }
}

[Buggy Hunk]
if( roundNum != Constants.MAX_ROUND_NUM) {

[Patch]
if( roundNum != curMaxRound) {