src/main/java/org/vibur/dbcp/proxy/ConnectionInvocationHandler.java
@Override
    public PreparedStatement newStatement(Method method, Object[] args) throws SQLException {
        String methodName = method.getName();
        if (methodName != "prepareStatement" && methodName != "prepareCall") {
            throw new ViburDBCPException("Unexpected method passed to newStatement() " + method);
        }
        return (PreparedStatement) targetInvoke(method, args);
    }
@Override
    public PreparedStatement newStatement(Method method, Object[] args) throws SQLException {
        String methodName = method.getName();
        if (methodName != "prepareStatement" && methodName != "prepareCall") {
            throw new ViburDBCPException("Unexpected method passed to newStatement() " + method);
        }
        return (PreparedStatement) targetInvoke(method, args);
    }
////// The StatementCreator implementation: ////////