[Demonstration 1]

[Buggy Method]
public static void main(String[] args) {
    String playerOne;
    String playerTwo;
    Scanner input = new Scanner(System.in);
    System.out.println("** Welcome to The Dark Arts game **\n");
    System.out.print("Enter player's One Name: ");
    playerOne = input.next();
    System.out.println("");
    System.out.print("Enter player's Two Name: ");
    playerTwo = input.next();
    Game game = new Game(new Player(playerOne), new Player(playerTwo));
    //game.announceGame();
    game.startGame(game.getPlayerOne(), game.getPlayerTwo());
}

[Buggy Hunk]
Game game = new Game(new Player(playerOne), new Player(playerTwo));

[Patch]
Game game = new Game(new Player(playerOne, 100), new Player(playerTwo, 100));

[Demonstration 2]

[Buggy Method]
private void stateUpdate() {
    if (this.scoreLogic.getPointsFriendTeam() >= Defaults.POINTS_TO_WIN) {
        this.dispose();
        this.game.setScreen(new WinScreen(this.game));
        return;
    }
    if (this.scoreLogic.getPointsEnemyTeam() >= Defaults.POINTS_TO_WIN) {
        this.dispose();
        this.game.setScreen(new WinScreen(this.game));
        return;
    }
}

[Buggy Hunk]
this.game.setScreen(new WinScreen(this.game));

[Patch]
this.game.setScreen(new LoseScreen(this.game));

[Demonstration 3]

[Buggy Method]
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    this.requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.activity_settings);
    service = new MicSpotService();
    Bundle b = this.getIntent().getExtras();
    if (b != null) {
        mic = b.getParcelable("MicSpotService.Mic");
    }
    // Set the status bar to the same color as our Micspot Orange
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        Window window = getWindow();
        window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
        window.setStatusBarColor(Color.parseColor("#FF5920"));
    }
    // Get fields
    dateField = (EditText) findViewById(R.id.mic_date_field);
    timeField = (EditText) findViewById(R.id.mic_time_field);
    signupDateField = (EditText) findViewById(R.id.mic_signup_date_field);
    signupTimeField = (EditText) findViewById(R.id.mic_signup_time_field);
    eventStatusSpinner = (Spinner) findViewById(R.id.mic_event_status_spinner);
    durationField = (EditText) findViewById(R.id.mic_duration_field);
    setTimeField = (EditText) findViewById(R.id.mic_set_time_field);
    numSlotsField = (EditText) findViewById(R.id.mic_num_slots_field);
    meetingBasisSpinner = (Spinner) findViewById(R.id.mic_meeting_basis_spinner);
    // Configure date/time fields to be non-clickable
    dateField.setKeyListener(null);
    timeField.setKeyListener(null);
    signupDateField.setKeyListener(null);
    signupTimeField.setKeyListener(null);
    // Configure spinners
    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.meeting_basis_options, android.R.layout.simple_spinner_dropdown_item);
    meetingBasisSpinner.setAdapter(adapter);
    adapter = ArrayAdapter.createFromResource(this, R.array.event_status_options, android.R.layout.simple_spinner_dropdown_item);
    eventStatusSpinner.setAdapter(adapter);
    // Setup fields based on current mic values.
    SimpleDateFormat dateFormat = new SimpleDateFormat("MM-dd-YYYY");
    SimpleDateFormat timeFormat = new SimpleDateFormat("hh:mm a");
    dateField.setText(dateFormat.format(mic.startDate));
    timeField.setText(timeFormat.format(mic.startDate));
    chosenDate = mic.startDate;
    chosenTime = mic.startDate;
    if (mic.nextInstance.signupsOpenDate != null) {
        chosenSignupDate = mic.nextInstance.signupsOpenDate;
        chosenSignupTime = mic.nextInstance.signupsOpenDate;
        signupDateField.setText(dateFormat.format(mic.nextInstance.signupsOpenDate));
        timeField.setText(timeFormat.format(mic.nextInstance.signupsOpenDate));
    }
    if (mic.nextInstance.cancelled == 1) {
        eventStatusSpinner.setSelection(1);
    } else {
        eventStatusSpinner.setSelection(0);
    }
    durationField.setText(Integer.toString(mic.duration));
    setTimeField.setText(Integer.toString(mic.setTime));
    numSlotsField.setText(Integer.toString(mic.numSlots));
    switch(mic.meetingBasis.toLowerCase()) {
        case "none":
            meetingBasisSpinner.setSelection(0);
            break;
        case "daily":
            meetingBasisSpinner.setSelection(1);
            break;
        case "weekly":
            meetingBasisSpinner.setSelection(2);
            break;
        case "biweekly":
            meetingBasisSpinner.setSelection(3);
            break;
        case "monthly":
            meetingBasisSpinner.setSelection(4);
            break;
    }
}

[Buggy Hunk]
timeField.setText(timeFormat.format(mic.nextInstance.signupsOpenDate));

[Patch]
signupTimeField.setText(timeFormat.format(mic.nextInstance.signupsOpenDate));