[Demonstration 1]

[Buggy Method]
@Override
public void emit(JavaEmitterContext ctx, MethodReference arg, TypeSignature type) {
    ctx.emit(arg.getOwnerVal(), ClassTypeSignature.of(arg.getLambdaOwner()));
    ctx.printString("::");
    ctx.printString(arg.getLambdaMethod());
}

[Buggy Hunk]
ctx.emit(arg.getOwnerVal(), ClassTypeSignature.of(arg.getLambdaOwner()));

[Patch]
ctx.emit(arg.getOwnerVal(), ClassTypeSignature.of("L" + arg.getLambdaOwner() + ";"));

[Demonstration 2]

[Buggy Method]
@Before
public void setUp() {
    reader = new CashReader(SAMPLE_DIR);
}

[Buggy Hunk]
reader = new CashReader(SAMPLE_DIR);

[Patch]
reader = new CashReader(SAMPLE_DIR, new FileUtil());

[Demonstration 3]

[Buggy Method]
@Path("/RNA/{c}")
@GET
@Produces({ MediaType.APPLICATION_JSON })
@Consumes({ MediaType.APPLICATION_JSON })
@ApiOperation(value = "Reads rna sequence and generates HELMNotation", httpMethod = "GET", response = Response.class, responseContainer = "JSON")
@ApiResponses(value = { @ApiResponse(code = 200, message = "HELMNotation was successfully generated"), @ApiResponse(code = 400, message = "Error in rna sequence input") })
public Response generateHELMRNA(@ApiParam(value = "rna", required = true) @PathParam("c") String rna) throws ChemistryException {
    WebService webservice = new WebService();
    JSONObject json = new JSONObject();
    try {
        String result = webservice.readRNA(rna);
        json.put("HELMNotation", result);
        return Response.status(Response.Status.OK).entity(json.toString()).build();
    } catch (FastaFormatException | NotationException | IOException | JDOMException e) {
        json.put("ErrorMessage", e.getMessage());
        json.put("ErrorClass", e.getClass());
        return Response.status(Response.Status.BAD_REQUEST).entity(e.getMessage()).build();
    }
}

[Buggy Hunk]
} catch (FastaFormatException | NotationException | IOException | JDOMException e) {

[Patch]
} catch (Exception e) {