[Demonstration 1]

[Buggy Method]
@GET
@Override
public Response getPolicies(@HeaderParam("If-Modified-Since") String ifModifiedSince, @QueryParam("offset") int offset, @QueryParam("limit") int limit) {
    PolicyManagerService policyManagementService = DeviceMgtAPIUtils.getPolicyManagementService();
    List<Policy> policies;
    try {
        PolicyAdministratorPoint policyAdministratorPoint = policyManagementService.getPAP();
        policies = policyAdministratorPoint.getPolicies();
        if (policies == null || policies.size() == 0) {
            return Response.status(Response.Status.NOT_FOUND).entity("No policies found.").build();
        }
    } catch (PolicyManagementException e) {
        String msg = "ErrorResponse occurred while retrieving all available policies";
        log.error(msg, e);
        return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
    }
    return Response.status(Response.Status.OK).entity(PolicyFilteringUtil.getPolicies(policies, offset, limit)).build();
}

[Buggy Hunk]
return Response.status(Response.Status.OK).entity(PolicyFilteringUtil.getPolicies(policies, offset, limit))

[Patch]
return Response.status(Response.Status.OK).entity(FilteringUtil.getFilteredList(policies, offset, limit))

[Demonstration 2]

[Buggy Method]
public ArrayList<Post> getPosts(Profile profile, SearchFilter filter, int from) throws TimeoutException {
    if (filter == null)
        filter = new SearchFilter();
    this.elasticSearch.setFilter(filter);
    filter.addFieldValue(new FieldValue("posterId", profile.getId())).sortByDate();
    ArrayList<Post> result = this.elasticSearch.getNext(0);
    this.elasticSearch.setFilter(null);
    return result;
}

[Buggy Hunk]
ArrayList<Post> result = this.elasticSearch.getNext(0);

[Patch]
ArrayList<Post> result = this.elasticSearch.getNext(from);

[Demonstration 3]

[Buggy Method]
public void showCertificate() {
    CertificateDialog certDialog = new CertificateDialog(localPreferences, certificates.get(CertificatesManagerSettingsPanel.getCertTable().getSelectedRow()));
}

[Buggy Hunk]
certificates.get(CertificatesManagerSettingsPanel.getCertTable().getSelectedRow()));

[Patch]
certificates.get(CertificatesManagerSettingsPanel.getCertTable().getSelectedRow()), this, CertificateDialogReason.SHOW_CERTIFICATE);