src/main/java/org/vibur/dbcp/pool/PoolOperations.java
public void restore(ConnHolder connHolder, boolean valid, SQLException[] exceptions) {
        if (logger.isTraceEnabled()) {
            logger.trace("Restoring rawConnection {}", connHolder.rawConnection());
        }
        boolean reusable = valid && exceptions.length == 0 && connHolder.version() == connectionFactory.version();
        poolService.restore(connHolder, reusable);
        processSQLExceptions(connHolder, exceptions);
    }
public void restore(ConnHolder connHolder, boolean valid, SQLException[] exceptions) {
        if (logger.isTraceEnabled()) {
            logger.trace("Restoring rawConnection {}", connHolder.rawConnection());
        }
        boolean reusable = valid && exceptions.length == 0 && connHolder.version() == connectionFactory.version();
        poolService.restore(connHolder, reusable);
        processSQLExceptions(connHolder, exceptions);
    }
//////////// restore(...) //////////////