code: public ResourcePoolConfig setTimeout(long timeout, TimeUnit unit) {
          if(timeout < 0)
              throw new IllegalArgumentException("The timeout must be a non-negative number.");
          this.timeoutNs = TimeUnit.NANOSECONDS.convert(timeout, unit);
          return this;
      }
docs: The timeout which we block for when a resource is not available
  
  @param timeout The timeout
  @param unit The units of the timeout