in src/main/java/org/apache/geronimo/jcache/simple/SimpleCache.java [458:479]
public V getAndReplace(final K key, final V value) {
assertNotClosed();
assertNotNull(key, "key");
assertNotNull(value, "value");
final boolean statisticsEnabled = config.isStatisticsEnabled();
final SimpleElement<V> elt = delegate.get(new SimpleKey<>(key));
if (elt != null) {
V oldValue = elt.getElement();
if (oldValue == null && config.isReadThrough()) {
oldValue = doLoad(key, false, false, loader);
} else if (statisticsEnabled) {
statistics.increaseHits(1);
}
put(key, value);
return oldValue;
} else if (statisticsEnabled) {
statistics.increaseMisses(1);
}
return null;
}