[Demonstration 1]

[Buggy Method]
private void insertInscris(Connection connection, Student studentToInsert, Materie materieToInsert) throws SQLException {
    Integer id_student = studentToInsert.getId_student();
    String nume = studentToInsert.getNume();
    String prenume = studentToInsert.getPrenume();
    Integer grupa = studentToInsert.getGrupa();
    String id_materie = materieToInsert.getId_materie();
    PreparedStatement preparedStatement = connection.prepareStatement("insert into inscris(id_student, id_materie) " + "values(?, ?)");
    preparedStatement.setObject(1, id_student);
    preparedStatement.setString(2, id_materie);
    preparedStatement.executeUpdate();
}

[Buggy Hunk]
preparedStatement.setObject(1, id_student);

[Patch]
preparedStatement.setInt(1, id_student);

[Demonstration 2]

[Buggy Method]
@Test
@RunAsClient
public void testConnectionToZipkinQuery() throws Exception {
    String url = URLUtils.join(KubernetesHelper.getServiceURL(service), "/api/v1/services");
    OkHttpClient httpClient = new OkHttpClient();
    try {
        Request request = new Request.Builder().get().url(url).build();
        Response response = httpClient.newCall(request).execute();
        Assert.assertNotNull(response);
        Assert.assertEquals(200, response.code());
    } finally {
        httpClient.getDispatcher().getExecutorService().shutdown();
    }
}

[Buggy Hunk]
httpClient.getDispatcher().getExecutorService().shutdown();

[Patch]
close(httpClient);

[Demonstration 3]

[Buggy Method]
public void contextDestroyed(ServletContextEvent servletContextEvent) {
    Enumeration<Driver> drivers = DriverManager.getDrivers();
    while (drivers.hasMoreElements()) {
        Driver driver = drivers.nextElement();
        try {
            DriverManager.deregisterDriver(driver);
            logger.info("deregistering jdbc driver: %s", driver);
        } catch (SQLException e) {
            logger.info("Error deregistering driver %s", driver);
        }
    }
    try {
        AbandonedConnectionCleanupThread.shutdown();
    } catch (InterruptedException e) {
        logger.warn("SEVERE problem cleaning up: " + e.getMessage());
        e.printStackTrace();
    }
    DBConnectionPool.getInstance().release();
    logger.info("ContextDestroyed");
}

[Buggy Hunk]
DBConnectionPool.getInstance().release();

[Patch]
DBConnectionPool.getInstance().close();