static Connection newInstance(Connection connection, int numSuccessfulStatements) {
            return (Connection) Proxy.newProxyInstance(connection.getClass().getClassLoader(),
                new Class[]{Connection.class},
                new ConnectionInvocationHandler(connection, numSuccessfulStatements));
        }
Oracle was getting angry about too many open cursors because of the large number of prepared statements being created and cached indefinitely.
core/src/test/java/org/jdbi/v3/core/TestTooManyCursors.java