[Demonstration 1]

[Buggy Method]
public Place addMountain() {
    Place mountain = new Place(3, "Mountain", "This is the mountain near your school", "MT");
    Collections.addAll(mountain.getAccessTo(), "Home", "River", "Mountain");
    return mountain;
}

[Buggy Hunk]
Collections.addAll(mountain.getAccessTo(), "Home", "River", "Mountain");

[Patch]
Collections.addAll(mountain.getAccessTo(), "Home", "River", "Mountain", "Lab");

[Demonstration 2]

[Buggy Method]
static boolean isOk(HttpResponse resp) {
    return resp.getStatusLine() == null && resp.getEntity() == null;
}

[Buggy Hunk]
return resp.getStatusLine() == null && resp.getEntity() == null;

[Patch]
return (resp.getStatusLine() == null || resp.getStatusLine().getStatusCode() == HttpStatus.SC_OK) && resp.getEntity() == null;

[Demonstration 3]

[Buggy Method]
private void showMapLongClickDialog(final LatLng latLng) {
    final Place tmpPlace = new Place(latLng, Place.Category.UNDEFINED);
    placeMarkers.addMarker(tmpPlace);
    MapLongClickDialog mapLongClickDialog = new MapLongClickDialog(this, new MapLongClickDialog.MapLongClickDialogListener() {

        @Override
        public void onClickNewSinglePlaceButton() {
            startRecordVisitActivityForNewPlace(latLng);
            // DONE: 2017/03/17 record single place action
            placeMarkers.removeByPlace(tmpPlace);
            fadeOutDialogOverlay(normalFadeOutListener);
        }

        @Override
        public void onClickHousingComplexButton() {
            // DONE: 2017/03/17 record complex action
            placeMarkers.removeByPlace(tmpPlace);
            // 同じダイアログを使用するのでアニメータリスナエンド後に表示メソッドを起動する
            fadeOutDialogOverlay(new Animator.AnimatorListener() {

                @Override
                public void onAnimationStart(Animator animation) {
                }

                @Override
                public void onAnimationEnd(Animator animation) {
                    dialogFrame.removeAllViews();
                    showHousingComplexDialog(null, tmpPlace.getLatLng());
                }

                @Override
                public void onAnimationCancel(Animator animation) {
                }

                @Override
                public void onAnimationRepeat(Animator animation) {
                }
            });
        }

        @Override
        public void onClickNotHomeButton() {
            // DONE: 2017/03/17 record not home action
            placeMarkers.removeByPlace(tmpPlace);
            recordNotHome(tmpPlace);
            fadeOutDialogOverlay(normalFadeOutListener);
        }

        @Override
        public void onClickCancelButton() {
            placeMarkers.removeByPlace(tmpPlace);
            fadeOutDialogOverlay(normalFadeOutListener);
        }
    });
    dialogFrame.addView(mapLongClickDialog);
    fadeInDialogOverlay();
    dialogOverlay.setOnTouchListener(new View.OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            placeMarkers.removeByPlace(tmpPlace);
            fadeOutDialogOverlay(normalFadeOutListener);
            return true;
        }
    });
}

[Buggy Hunk]
final Place tmpPlace = new Place(latLng, Place.Category.UNDEFINED);

[Patch]
final Place tmpPlace = new Place(latLng, Place.Category.HOUSE);