[Demonstration 1]

[Buggy Method]
private void validateCoreProject(BaseAction action, Project project) {
    this.validateTitle(action, project.getTitle());
    this.validateManagementLiaison(action, project.getLiaisonInstitution());
    this.validateLiaisonContactPerson(action, project.getOwner());
    this.validateStartDate(action, project.getStartDate());
    this.validateEndDate(action, project.getEndDate());
    this.validateSummary(action, project.getSummary());
    this.validateRegions(action, project.getRegions());
    this.validateFlagships(action, project.getFlagships());
    if (project.isWorkplanRequired()) {
        projectValidator.isValidProjectWorkplanName(project.getProjectWorkplanName());
    }
}

[Buggy Hunk]
projectValidator.isValidProjectWorkplanName(project.getProjectWorkplanName());

[Patch]
projectValidator.isValidProjectWorkplanName(project.getWorkplanName());

[Demonstration 2]

[Buggy Method]
public void createTaskAndPrintUReport() {
    createTask();
    PrintTemplate[] subSelect = PrintTemplate.getTemplatesByTypes(new DocumentType[] { DocumentType.U_REPORT });
    if (subSelect.length == 0) {
        logger.error("New Task: No TemplateUtil for printing UReport found");
        return;
    }
    // printing u report
    PDFContainer newPdf = pDFGeneratorHandler.generatePDFForReport(task.getPatient(), task, subSelect[0]);
    settingsHandler.getSelectedPrinter().print(newPdf);
}

[Buggy Hunk]
PDFContainer newPdf = pDFGeneratorHandler.generatePDFForReport(task.getPatient(), task, subSelect[0]);

[Patch]
PDFContainer newPdf = pDFGeneratorHandler.generateUReport(subSelect[0], task.getPatient(), task);

[Demonstration 3]

[Buggy Method]
@Security.Authenticated(Secured.class)
public static Result toEditProjectPage(long projectId) {
    User user = User.findByUsername(request().username());
    Project project = Project.findById(projectId);
    Team team = Team.findById(project.getTeamId());
    if (!team.isMember(user.getId()) || user.getType() != User.ADMIN) {
        return redirect(routes.ProjectController.toProjectListPage());
    }
    Form form = Form.form(Upload.class);
    List<Image> images = Image.findImagesByProject(projectId);
    return ok(editproject.render(user, project, images, form));
}

[Buggy Hunk]
if (!team.isMember(user.getId()) || user.getType() != User.ADMIN) {

[Patch]
if (!team.isMember(user.getId()) && (user.getType() != User.ADMIN)) {