[Demonstration 1]

[Buggy Method]
public boolean isButtonPressed(Button button) {
    if (button == buttonHovering) {
        return true;
    }
    if (isRecordingFromFile() && button == Button.RECORD_FILE) {
        return true;
    }
    switch(state) {
        case FORWARDING:
            return button == Button.FAST_FORWARD;
        case PLAYING:
            return button == Button.PLAY;
        case REWINDING:
            return button == Button.REWIND;
        case RECORDING:
            return button == Button.RECORD_AUDIO;
        case STOPPED:
        default:
            return false;
    }
}

[Buggy Hunk]
if (isRecordingFromFile() && button == Button.RECORD_FILE) {

[Patch]
if (isRecordingFromFile(false) && button == Button.RECORD_FILE) {

[Demonstration 2]

[Buggy Method]
public boolean primitive(Object value) throws ParseException, IOException {
    String stringValue = "";
    int intValue = 0;
    String className = value.getClass().getSimpleName();
    if (className.equals("String")) {
        stringValue = (String) value;
        logger.debug("got primitive value: " + className + " as \"" + stringValue + "\"");
    } else if (className.equals("Long")) {
        intValue = ((Long) value).intValue();
        logger.debug("got primitive value: " + className + " as \"" + intValue + "\"");
    } else {
        logger.debug("got primitive value of " + className + "(unknown, unexpected)");
    }
    switch(stage) {
        case RCI_DATE:
            currentCaseItem.setDate(stringValue);
            break;
        case RCI_TYPE:
            currentCaseItem.setType(stringValue);
            break;
        case RCI_NUMBER:
            currentCaseItem.setNumber(stringValue);
            break;
        case RCI_INVOLVED:
            currentCaseItem.setNumber(stringValue);
            break;
        case RCI_DESC:
            currentCaseItem.setDescription(stringValue);
            break;
        case RCI_JUDGE_N:
            currentJudgeN = intValue;
            break;
        case RCI_ADDR_N:
            currentAddrN = intValue;
            break;
        case READING_JUDGES:
            judges.add(stringValue);
            break;
        case READING_ADDRESSES:
            addresses.add(stringValue);
            break;
    }
    return true;
}

[Buggy Hunk]
currentCaseItem.setNumber(stringValue);

[Patch]
currentCaseItem.setInvolved(stringValue);

[Demonstration 3]

[Buggy Method]
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    username = (EditText) findViewById(R.id.username);
    password = (EditText) findViewById(R.id.psw);
    sign_in = (Button) findViewById(R.id.sign_in);
    register = (Button) findViewById(R.id.register);
    tip = (TextView) findViewById(R.id.tip);
    button = (Button) findViewById(R.id.button);
    button.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            startActivity(new Intent(MainActivity.this, Main2Activity.class));
        }
    });
    SharedPreferences sharedata = getSharedPreferences("groupData", 0);
    String data = sharedata.getString("username", null);
    register.setOnClickListener(v -> startActivity(new Intent(MainActivity.this, Registerfortest.class)));
    sign_in.setOnClickListener(v -> {
        username_string = username.getText().toString();
        password_string = password.getText().toString();
        new login().execute();
    });
}

[Buggy Hunk]
button = (Button) findViewById(R.id.button);

[Patch]
button = (Button) findViewById(R.id.nologin);