[Demonstration 1]

[Buggy Method]
public double getAngle(int turnAxis) {
    return Math.atan(joystick.getRawAxis(2) / (joystick.getRawAxis(turnAxis)));
}

[Buggy Hunk]
public double getAngle(int turnAxis) {

[Patch]
protected double getAngle(int turnAxis) {

[Demonstration 2]

[Buggy Method]
@Override
public void deleteSubmission(Submission submission) {
    SubmissionMap submissionMap = getSubmissionMap();
    ArrayList<Submission> submissionList = submissionMap.get(submission.getUserId());
    // if the user has a previous record, update his/her submission list.
    if (submissionList != null) {
        // remove the submission from the list
        submissionList.remove(submission);
        // put the list into the submission map
        submissionMap.put(submission.getUserId(), submissionList);
        persistSubmissionMap(submissionMap);
    } else // else, there is nothing to remove
    {
        System.out.println("This user does not exist");
    }
}

[Buggy Hunk]
submissionList.remove(submission);

[Patch]
submissionList.remove(submission.getWeekNo()- 1);

[Demonstration 3]

[Buggy Method]
private void initNormalizedPoints() {
    mNormalizedOriginPoint = new YANVector2(0, 0);
    mNormalizedLeftBasis = new YANVector2(1, 1);
    mNormalizedRightBasis = new YANVector2(-1, 1);
    //calculate the angle between 2 basis meridians
    float opposite = Math.abs(mNormalizedLeftBasis.getX() - mNormalizedRightBasis.getX()) / 2;
    float adjacent = Math.abs(mNormalizedOriginPoint.getY() - mNormalizedLeftBasis.getY());
    mNormalizedFanAngle = (float) Math.toDegrees(Math.atan(opposite / adjacent) * 2);
}

[Buggy Hunk]
mNormalizedFanAngle = (float) Math.toDegrees(Math.atan(opposite / adjacent) * 2);

[Patch]
mSourceFanAngle = (float) Math.toDegrees(Math.atan(opposite / adjacent) * 2);