@Sanne the new value is not allowed to be null based on ConcurrentMap#replace's contract. We do check for that in CacheImpl#replace