Interner<String> () { Interner<String> interner = SoftReference.dereference(ourSharedInterner); if (interner == null) { interner = Interner.createStringInterner(); ourSharedInterner = new WeakReference<>(interner); } return interner; }