code: public T acquire() {
          T t = pool.poll();
          if (t == null) {
              t = create();
              ++count;
          }
          ++requests;
          // log();
          return t;
      }
docs: Get an object from the pool. Allocates a new instance (via
  {@link #create()}) if the pool is empty.
  
  @return An instance of type {@code T}.