@Override
    public void doRun() throws Exception {
      for (int k = 0; k < useCount; k++) {
        if (k % 100 == 0) {
          System.out.printf("%s is at %s\n", getName(), k);
        }

        Connection c = pool.takeConnection();
        assertNotNull(c);
        c.startUsing();

        try {
          sleepRandomMs(50);
        } finally {
          c.stopUsing();
          pool.returnConnection(c);
        }
      }
    }