public static @NotNull <V extends ClearableLazyValue<?>> V dropLazyValueOnChange(@NotNull V lazyValue,
                                                                                   @NotNull ExtensionPointName<?> extensionPointName,
                                                                                   @Nullable Disposable parentDisposable) {
    extensionPointName.addChangeListener(lazyValue::drop, parentDisposable);
    return lazyValue;
  }
public static @NotNull <V extends ClearableLazyValue<?>> V dropLazyValueOnChange(@NotNull V lazyValue,
                                                                                   @NotNull ExtensionPointName<?> extensionPointName,
                                                                                   @Nullable Disposable parentDisposable)