code: @SuppressWarnings("PMD.AvoidDeeplyNestedIfStmts")
    private @Nullable V getOrLoad(K key) {
      boolean statsEnabled = statistics.isEnabled();
      long start = statsEnabled ? ticker.read() : 0L;
  
      long millis = 0L;
      Expirable<V> expirable = cache.getIfPresent(key);
      if ((expirable != null) && !expirable.isEternal()) {
        millis = nanosToMillis((start == 0L) ? ticker.read() : start);
        if (expirable.hasExpired(millis)) {
          Expirable<V> expired = expirable;
          cache.asMap().computeIfPresent(key, (k, e) -> {
            if (e == expired) {
              dispatcher.publishExpired(this, key, expired.get());
              statistics.recordEvictions(1);
              return null;
            }
            return e;
          });
          expirable = null;
        }
      }
  
      if (expirable == null) {
        expirable = cache.get(key);
        statistics.recordMisses(1L);
      } else {
        statistics.recordHits(1L);
      }
  
      V value = null;
      if (expirable != null) {
        setAccessExpirationTime(expirable, millis);
        value = copyValue(expirable);
      }
      if (statsEnabled) {
        statistics.recordGetTime(ticker.read() - start);
      }
      return value;
    }
docs: Retrieves the value from the cache, loading it if necessary.