code: protected void loadAndReplace(K key) {
      Entry e;
      for (;;) {
        e = lookupOrNewEntry(key);
        synchronized (e) {
          e.waitForProcessing();
          if (e.isGone()) {
            metrics.goneSpin();
            continue;
          }
          e.startProcessing(Entry.ProcessingState.LOAD);
          break;
        }
      }
      boolean _finished = false;
      try {
        load(e);
        _finished = true;
      } finally {
        e.ensureAbort(_finished);
      }
    }
docs: Always fetch the value from the source. That is a copy of getEntryInternal
  without freshness checks.