[Demonstration 1]

[Buggy Method]
@Override
public FormatSelection isReadable(DrillFileSystem fs, FileSelection selection) throws IOException {
    // TODO: we only check the first file for directory reading.  This is because
    if (selection.containsDirectories(fs)) {
        if (isDirReadable(fs, selection.getFirstPath(fs))) {
            return new FormatSelection(plugin.getConfig(), selection.minusDirectories(fs));
        }
    }
    return super.isReadable(fs, selection);
}

[Buggy Hunk]
return new FormatSelection(plugin.getConfig(), selection.minusDirectories(fs));

[Patch]
return new FormatSelection(plugin.getConfig(), expandSelection(fs, selection));

[Demonstration 2]

[Buggy Method]
@PUT
@Path("{id}/users")
public Response addUserToTeam(DTOUser dtoUser, @PathParam("id") Long teamId) {
    userService.addUserToTeam(dtoUser.getId(), teamId);
    return Response.noContent().build();
}

[Buggy Hunk]
return Response.noContent().build();

[Patch]
return Response.status(Status.NO_CONTENT).build();

[Demonstration 3]

[Buggy Method]
private static Response.ResponseBuilder noCache(final Response.ResponseBuilder response) {
    // no cache
    final CacheControl cacheControl = new CacheControl();
    cacheControl.setPrivate(true);
    cacheControl.setMaxAge(0);
    cacheControl.setMustRevalidate(true);
    response.cacheControl(cacheControl);
    return response;
}

[Buggy Hunk]
private static Response.ResponseBuilder noCache( final Response.ResponseBuilder response ) {

[Patch]
protected static Response.ResponseBuilder noCache( final Response.ResponseBuilder response ) {