void () { if (cache == null) { return; } synchronized (lock) { if (cache != null) { cache = null; ExtensionPoint<@NotNull T> extensionPoint = SmartExtensionPoint.this.extensionPoint; if (extensionPoint != null) { extensionPoint.removeExtensionPointListener(this); SmartExtensionPoint.this.extensionPoint = null; } } } }