@Contract(value = " -> new", pure = true)
  public static @NotNull <T> Set<@NotNull T> createWeakSet() {
    return new WeakHashSet<>();
  }
@Contract(value = " -> new", pure = true)
  public static @NotNull <T> Set<@NotNull T> createWeakSet()