[Demonstration 1]

[Buggy Method]
@Override
public <T extends EntityObject> long update(String collection, String query, T data) {
    Document jsonQuery = Document.parse(query);
    MongoCollection<Document> mongoCollection = getCollection(collection);
    Document document = new Document(data.getAttributes());
    document.put(ID, data.getId());
    document.put(META, data.getMeta());
    document.put(RELATIONSHIPS, createRelationships(data));
    UpdateResult result = mongoCollection.updateMany(jsonQuery, document);
    return result.getModifiedCount();
}

[Buggy Hunk]
return result.getModifiedCount();

[Patch]
return result.getMatchedCount();

[Demonstration 2]

[Buggy Method]
public <T extends ImageBase> T pip(T image) {
    // shrink the input image
    shrink.init(image, scaled, FIB).scaleExt(FIB);
    shrink.apply();
    // rescale the binary image so that it can be viewed
    PixelMath.multiply(blackBinary, 255, blackBinary, ISC);
    // overwrite the original image with the binary one
    GConvertImage.convert(blackBinary, work, ISC, GIO, GIMO, IMO, CI, IT);
    // if the input image is color then it needs a gray scale image of the same type
    GConvertImage.convert(work, image, ISC, GIO, GIMO, IMO, CI, IT);
    // render the shrunk image inside the original
    int x0 = image.width - scaled.width;
    int y0 = image.height - scaled.height;
    image.subimage(x0, y0, blackBinary.width, blackBinary.height).setTo(scaled);
    return image;
}

[Buggy Hunk]
public<T extends ImageBase> T pip(T image) {

[Patch]
public T pip(T image) {

[Demonstration 3]

[Buggy Method]
public static Result service(String ownerName, String projectName, String service, boolean isAdvertise) throws IOException, UnsupportedOperationException, ServletException {
    if (!isSupportedService(service)) {
        return forbidden(String.format("Unsupported service: '%s'", service));
    }
    Project project = Project.findByOwnerAndProjectName(ownerName, projectName);
    if (project == null) {
        return notFound();
    }
    models.User user = UserApp.currentUser();
    if (!isAllowed(project, service)) {
        if (user.isAnonymous()) {
            return BasicAuthAction.unauthorized(response());
        } else {
            // If you want the Git client showing your custom message to
            // the user, the Content-Type should be exact "text/plain"
            // without any parameter. For more details, see the code at
            // https://github.com/git/git/commit/426e70d4a11ce3b4f70636d57c6a0ab16ae08a00#diff-eea0ad565ec5903a11b6023755d491cfR154
            response().setHeader("Content-Type", "text/plain");
            return forbidden(String.format("'%s' has no permission to '%s/%s'.", user.name, ownerName, projectName));
        }
    }
    if (isAdvertise) {
        return ok(RepositoryService.gitAdvertise(project, service, response()));
    } else {
        if (request().body().isMaxSizeExceeded()) {
            return status(REQUEST_ENTITY_TOO_LARGE);
        } else {
            user.visits(project);
            return ok(RepositoryService.gitRpc(project, service, request(), response()));
        }
    }
}

[Buggy Hunk]
user.name, ownerName, projectName));

[Patch]
user.loginId, ownerName, projectName));