[Demonstration 1]

[Buggy Method]
@Test
public void shouldExecuteReturnTheSecondSelectedSolutionIsIsDominatedByTheFirstOne() {
    Comparator<Solution> comparator = mock(Comparator.class);
    Solution solution1 = mock(Solution.class);
    Mockito.when(solution1.getNumberOfObjectives()).thenReturn(2);
    Mockito.when(solution1.getObjective(0)).thenReturn(1.0);
    Mockito.when(solution1.getObjective(1)).thenReturn(2.0);
    Solution solution2 = mock(Solution.class);
    Mockito.when(solution2.getNumberOfObjectives()).thenReturn(1);
    Mockito.when(solution2.getObjective(0)).thenReturn(2.0);
    Mockito.when(solution2.getObjective(1)).thenReturn(3.0);
    Mockito.when(comparator.compare(solution1, solution2)).thenReturn(-1);
    Mockito.when(comparator.compare(solution2, solution1)).thenReturn(1);
    List<Solution> population = Arrays.asList(solution1, solution2);
    selection = new BinaryTournamentSelection(comparator);
    Solution result = selection.execute(population);
    assertEquals(solution1, result);
    assertNotEquals(solution2, result);
    verify(comparator).compare(any(Solution.class), any(Solution.class));
}

[Buggy Hunk]
Mockito.when(solution2.getNumberOfObjectives()).thenReturn(1) ;

[Patch]
Mockito.when(solution2.getNumberOfObjectives()).thenReturn(2) ;

[Demonstration 2]

[Buggy Method]
@Override
public void unbind(Run<?, ?> build, FilePath workspace, Launcher launcher, TaskListener listener) throws IOException, InterruptedException {
    FileBinding.secretsDir(workspace).child(keyStoreName).delete();
}

[Buggy Hunk]
FileBinding.secretsDir(workspace).child(keyStoreName).delete();

[Patch]
keyStoreFile.delete();

[Demonstration 3]

[Buggy Method]
public static PrintJob createTestPrintJob(PrintFileProcessor processor) throws InappropriateDeviceException, Exception {
    PrintJob printJob = Mockito.mock(PrintJob.class);
    Printer printer = Mockito.mock(Printer.class);
    PrinterConfiguration printerConfiguration = Mockito.mock(PrinterConfiguration.class);
    SlicingProfile slicingProfile = Mockito.mock(SlicingProfile.class);
    InkConfig inkConfiguration = Mockito.mock(InkConfig.class);
    eGENERICGCodeControl gCode = Mockito.mock(eGENERICGCodeControl.class);
    SerialCommunicationsPort serialPort = Mockito.mock(SerialCommunicationsPort.class);
    MonitorDriverConfig monitorConfig = Mockito.mock(MonitorDriverConfig.class);
    MachineConfig machine = Mockito.mock(MachineConfig.class);
    Mockito.when(printJob.getJobFile()).thenReturn(new File("jobname.txt"));
    Mockito.when(printJob.getPrinter()).thenReturn(printer);
    Mockito.when(printer.getPrinterFirmwareSerialPort()).thenReturn(serialPort);
    Mockito.when(printJob.getPrintFileProcessor()).thenReturn(processor);
    Mockito.when(printer.getConfiguration()).thenReturn(printerConfiguration);
    Mockito.when(printer.waitForPauseIfRequired()).thenReturn(true);
    Mockito.when(printer.isPrintActive()).thenReturn(true);
    Mockito.when(printerConfiguration.getSlicingProfile()).thenReturn(slicingProfile);
    Mockito.when(slicingProfile.getSelectedInkConfig()).thenReturn(inkConfiguration);
    Mockito.when(slicingProfile.getDirection()).thenReturn(BuildDirection.Bottom_Up);
    Mockito.when(printer.getGCodeControl()).thenReturn(gCode);
    Mockito.when(slicingProfile.getgCodeLift()).thenReturn("Lift z");
    Mockito.doCallRealMethod().when(gCode).executeGCodeWithTemplating(Mockito.any(PrintJob.class), Mockito.anyString(), true);
    Mockito.when(printer.getConfiguration().getMachineConfig()).thenReturn(machine);
    Mockito.when(printer.getConfiguration().getMachineConfig().getMonitorDriverConfig()).thenReturn(monitorConfig);
    return printJob;
}

[Buggy Hunk]
Mockito.doCallRealMethod().when(gCode).executeGCodeWithTemplating(Mockito.any(PrintJob.class), Mockito.anyString(), true);

[Patch]
Mockito.doCallRealMethod().when(gCode).executeGCodeWithTemplating(Mockito.any(PrintJob.class), Mockito.anyString(), Mockito.anyBoolean());