[Demonstration 1]

[Buggy Method]
@Override
public <T extends Type> ObjectDataResponse handle(ObjectDataRequest request, Class<T> type, Database<?, T> database) {
    if (request.getObjectData() == null) {
        return new ObjectDataResponse();
    }
    List<MObject> objects = Lists.newArrayList();
    List<T> objectsToCreate = request.getObjectData().stream().filter(object -> Strings.isNullOrEmpty(object.getExternalId())).map(object -> valueParser.asObject(object, type)).collect(Collectors.toList());
    if (!objectsToCreate.isEmpty()) {
        if (objectsToCreate.size() == 1) {
            T createdObject = database.create(configurationParser.from(request), objectsToCreate.get(0));
            if (createdObject == null) {
                throw new RuntimeException("Creating a new object must return the created object with a populated identifier field");
            }
            objects.addAll(typeBuilder.from(createdObject));
        } else {
            List<T> createdObjects = database.create(configurationParser.from(request), objectsToCreate);
            if (createdObjects == null) {
                throw new RuntimeException("Creating a list of objects must return a list of the newly-created objects, including any populated identifier fields");
            }
            objects.addAll(typeBuilder.from(createdObjects));
        }
    }
    List<T> objectsToUpdate = request.getObjectData().stream().filter(object -> Strings.isNullOrEmpty(object.getExternalId())).map(object -> valueParser.asObject(object, type)).collect(Collectors.toList());
    if (!objectsToUpdate.isEmpty()) {
        if (objectsToUpdate.size() == 1) {
            T updatedObject = database.update(configurationParser.from(request), objectsToUpdate.get(0));
            if (updatedObject == null) {
                throw new RuntimeException("Updating an object must return the same object along with any newly-updated fields");
            }
            objects.addAll(typeBuilder.from(updatedObject));
        } else {
            List<T> updatedObjects = database.update(configurationParser.from(request), objectsToUpdate);
            if (updatedObjects == null) {
                throw new RuntimeException("Updating a list must return a list containing all of the newly-updated objects");
            }
            objects.addAll(typeBuilder.from(updatedObjects));
        }
    }
    return new ObjectDataResponse(objects);
}

[Buggy Hunk]
.filter(object -> Strings.isNullOrEmpty(object.getExternalId()))

[Patch]
.filter(object -> !Strings.isNullOrEmpty(object.getExternalId()))

[Demonstration 2]

[Buggy Method]
void setToolbarMessage(String message) {
    TextView toolbarMessage = (TextView) findViewById(R.id.toolbar_message);
    toolbarMessage.setText(message);
}

[Buggy Hunk]
TextView toolbarMessage = (TextView) findViewById(R.id.toolbar_message);

[Patch]
TextView toolbarMessage = (TextView) mToolbar.findViewById(R.id.toolbar_message);

[Demonstration 3]

[Buggy Method]
public void addAll(List items) {
    addAll(getLastItemPosition(), items);
}

[Buggy Hunk]
addAll(getLastItemPosition(), items);

[Patch]
addAll(getItemCount(), items);