[Demonstration 1]

[Buggy Method]
public void teardown() {
    dataIn.close();
    dataOut.close();
    logOut.close();
}

[Buggy Hunk]
public void teardown() {

[Patch]
public void teardown() throws IOException {

[Demonstration 2]

[Buggy Method]
@Test
public void testProcessinitiatorManagerUserFilterTest() throws Exception {
    loginOnDefaultTenantWith("matti", "bpm");
    final ProcessInstance processInstance = getProcessAPI().startProcess(definition.getId());
    waitForUserTask("step1", processInstance);
    logoutOnTenant();
    checkAssignations();
}

[Buggy Hunk]
waitForUserTask("step1", processInstance);

[Patch]
waitForUserTask(processInstance, "step1");

[Demonstration 3]

[Buggy Method]
@AfterClass
public static void dispose() throws CoreException {
    IWorkbench wb = PlatformUI.getWorkbench();
    IWorkbenchPage page = wb.getActiveWorkbenchWindow().getActivePage();
    page.closeAllEditors(false);
    targetProject.delete(true, new NullProgressMonitor());
}

[Buggy Hunk]
public static void dispose() throws CoreException {

[Patch]
public static void dispose() throws Exception {