ExportedNameCache () { ExportedNameCache cache = myExportedNameCache.get(); final long modificationStamp = getModificationStamp(); if (cache != null && modificationStamp != cache.getModificationStamp()) { myExportedNameCache.clear(); cache = null; } if (cache == null) { cache = new ExportedNameCache(modificationStamp); myExportedNameCache = new SoftReference<>(cache); } return cache; }