private CallableStatement prepareCall(MethodInvocation<Connection> methodInvocation) throws Throwable {
        String sql = methodInvocation.getArgAt(0, String.class);
        CallableStatement result = (CallableStatement) methodInvocation.proceed();
        result = proxyFactory.wrapCallableStatement(result, sql);
        return result;
    }
private CallableStatement prepareCall(MethodInvocation<Connection> methodInvocation) throws Throwable {
        String sql = methodInvocation.getArgAt(0, String.class);
        CallableStatement result = (CallableStatement) methodInvocation.proceed();
        result = proxyFactory.wrapCallableStatement(result, sql);
        return result;
    }
private CallableStatement prepareCall ( MethodInvocation < Connection > methodInvocation ) throws Throwable { String sql = methodInvocation . getArgAt ( 0 , String . class ) ; CallableStatement result = ( CallableStatement ) methodInvocation . proceed ( ) ; result = proxyFactory . wrapCallableStatement ( result , sql ) ; return result ; }
Wrap Statement during {@link Connection#prepareCall(String)}
@param methodInvocation Current {@link Connection#prepareCall(String)}  invocation
@return Proxified {@link CallableStatement}
Wrap Statement during {