private @NotNull Supplier<? extends T> createGetter(@NotNull T interval) {
    return keepIntervalsOnWeakReferences()
           ? new WeakReferencedGetter<>(interval, myReferenceQueue)
           : new StaticSupplier<>(interval);
  }
private @NotNull Supplier<? extends T> createGetter(@NotNull T interval)