[Demonstration 1]

[Buggy Method]
public boolean checkoutByTitle(String title) {
    Optional<Book> bookToCheckout = bookList.stream().filter(x -> x.getTitle().equalsIgnoreCase(title)).findFirst();
    return bookToCheckout != null && bookToCheckout.get().checkout();
}

[Buggy Hunk]
return bookToCheckout != null && bookToCheckout.get().checkout();

[Patch]
return bookToCheckout.isPresent() && bookToCheckout.get().checkout();

[Demonstration 2]

[Buggy Method]
private Object upsert(String reportName, String fieldKey, MetricType metricType, Object metricValueObject) throws Exception {
    Object result = null;
    if (metricType.equals(MetricType.COUNT)) {
        result = handleCountMetric(reportName, fieldKey);
    } else if (metricType.equals(MetricType.LAST)) {
        result = handleLastMetric(reportName, fieldKey, (String) metricValueObject);
    } else {
        if (!(metricValueObject instanceof Number)) {
            throw new NotValidMetric("Invalid metric value: " + metricValueObject + " for metric: " + metricType);
        }
        Number metricValue = (Number) metricValueObject;
        switch(metricType) {
            case SUM:
                result = handleSumMetric(reportName, fieldKey, metricValue);
                break;
            case AVG:
                result = handleAvgMetric(reportName, fieldKey, metricValue);
                break;
            case MAX:
                result = handleMaxMetric(reportName, fieldKey, metricValue);
                break;
            case MIN:
                result = handleMinMetric(reportName, fieldKey, metricValue);
                break;
            default:
                throw new NotValidMetric("Invalid metric: " + metricType);
        }
    }
    return result;
}

[Buggy Hunk]
result = handleLastMetric(reportName, fieldKey, (String)metricValueObject);

[Patch]
result = handleLastMetric(reportName, fieldKey, metricValueObject.toString());

[Demonstration 3]

[Buggy Method]
public static void main(String[] args) throws SQLException {
    Connection conn = DriverManager.getConnection("jdbc:h2:./main");
    () -> {
    }.start();
    Statement stmt = conn.createStatement();
    stmt.execute("CREATE TABLE id IDENTITY, username VARCHAR, address VARCHAR, email VARCHAR");
}

[Buggy Hunk]
().start();

[Patch]
Server.createWebServer().start();