private @Nullable Set<T> addFromUpper(@Nullable Set<T> value, @NotNull Class<?> superclass) {
    T[] fromUpper = get(superclass);
    if (fromUpper != null) {
      assert fromUpper.length != 0;
      if (value == null) {
        value = new HashSet<>(fromUpper.length);
      }
      Collections.addAll(value, fromUpper);
      assert !value.isEmpty();
    }
    return value;
  }
private @Nullable Set<T> addFromUpper(@Nullable Set<T> value, @NotNull Class<?> superclass)