docs: public void cacheConnection(Closure closure) throws SQLException {
          boolean savedCacheConnection = cacheConnection;
          cacheConnection = true;
          Connection connection = null;
          try {
              connection = createConnection();
              callClosurePossiblyWithConnection(closure, connection);
          } finally {
              cacheConnection = false;
              closeResources(connection, null);
              cacheConnection = savedCacheConnection;
              if (dataSource != null && !cacheConnection) {
                  useConnection = null;
              }
          }
      }