docs: public synchronized boolean isRateLimited() {
          final double rate = TOKEN_BUCKET_RATE.get();
          final double window = TOKEN_BUCKET_WINDOW.get();
          final long current = System.currentTimeMillis();
          final double timePassed = current - tkBktLastCheckTime;
  
          tkBktLastCheckTime = current;
          tkBktAllowance = tkBktAllowance + timePassed * (rate / window);
  
          if (tkBktAllowance > rate) {
              tkBktAllowance = rate; //cap max to rate
          }
  
          if (tkBktAllowance < 1.0) {
              return true;
          }
  
          tkBktAllowance = tkBktAllowance - 1.0;
          return false;
      }