[Demonstration 1]

[Buggy Method]
@Bean
public RestTemplate restTemplate() {
    RestTemplate restTemplate = new RestTemplate();
    return restTemplate;
}

[Buggy Hunk]
RestTemplate restTemplate = new RestTemplate();

[Patch]
RestTemplate restTemplate = new RestTemplate(clientHttpRequestFactory());

[Demonstration 2]

[Buggy Method]
public void testEventRequest(View button) {
    mUpdates.setText("");
    //This will result in a success in simple action event.
    PennStation.requestAction(PsSimpleAction.helper());
    //This will result in a failed complicated action event.
    PennStation.requestAction(PsSampleComplicatedAction.helper().sampleParam("sampleParamOneToFail").sampleParamTwo(new ComplicatedAction.SampleParcelable("FailParcelable")).shouldFail(true).buildRequest());
    //This will randomly be either one of the two success events that the action emits.
    PennStation.requestAction(new ComplicatedActionHelper().sampleParam("sampleParamOneToSucceed").sampleParamTwo(new ComplicatedAction.SampleParcelable("SuccessParcelable")).shouldFail(false).buildRequest());
    PennStation.requestAction(new ActionRequest(PsSampleChainedAction.SampleChainedAction));
}

[Buggy Hunk]
PennStation.requestAction(new ActionRequest(PsSampleChainedAction.SampleChainedAction));

[Patch]
PennStation.requestAction(PsSampleChainedAction.helper().sampleParam3("chained!"));

[Demonstration 3]

[Buggy Method]
public void addEntry(ActionRequest request, ActionResponse response) throws Exception {
    ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);
    PermissionChecker permissionChecker = themeDisplay.getPermissionChecker();
    long primaryKey = ParamUtil.getLong(request, "resourcePrimKey", 0);
    SampleSB entry = ActionUtil.SampleSBFromRequest(primaryKey, request);
    List<String> errors = SampleSBValidator.validateSampleSB(request);
    // Permission check
    if (!SampleSBResourcePermissionChecker.contains(permissionChecker, themeDisplay.getScopeGroupId(), ActionKeys.ADD_ENTRY)) {
        errors.add("permission-error");
    }
    if (errors.isEmpty()) {
        // sampleSB = uploadManager.uploadFiles(request, sampleSB);
        try {
            ServiceContext serviceContext = ServiceContextFactory.getInstance(SampleSB.class.getName(), request);
            _sampleSBLocalService.addEntry(entry, serviceContext);
            SessionMessages.add(request, "samplesb-added-successfully");
        } catch (Exception cvex) {
            SessionErrors.add(request, "please-enter-a-unique-code");
            PortalUtil.copyRequestParameters(request, response);
        }
    } else {
        for (String error : errors) {
            SessionErrors.add(request, error);
        }
        PortalUtil.copyRequestParameters(request, response);
        throw new InvalidParameterException();
    }
}

[Buggy Hunk]
SampleSB entry = ActionUtil.SampleSBFromRequest(primaryKey, request);

[Patch]
SampleSB entry = ActionUtil.getSampleSBFromRequest(primaryKey, request);