code: @GuardedBy("evictionLock")
    void determineAdjustment() {
      if (frequencySketch().isNotInitialized()) {
        setPreviousSampleHitRate(0.0);
        setMissesInSample(0);
        setHitsInSample(0);
        return;
      }
  
      int requestCount = hitsInSample() + missesInSample();
      if (requestCount < frequencySketch().sampleSize) {
        return;
      }
  
      double hitRate = (double) hitsInSample() / requestCount;
      double hitRateChange = hitRate - previousSampleHitRate();
      double amount = (hitRateChange >= 0) ? stepSize() : -stepSize();
      double nextStepSize = (Math.abs(hitRateChange) >= HILL_CLIMBER_RESTART_THRESHOLD)
          ? HILL_CLIMBER_STEP_PERCENT * maximum() * (amount >= 0 ? 1 : -1)
          : HILL_CLIMBER_STEP_DECAY_RATE * amount;
      setPreviousSampleHitRate(hitRate);
      setAdjustment((long) amount);
      setStepSize(nextStepSize);
      setMissesInSample(0);
      setHitsInSample(0);
    }
docs: Calculates the amount to adapt the window by and sets {@link #adjustment()} accordingly.