private @Nullable List<T> getFromBackingMap(@NotNull Class<?> aClass) {
    T[] value = myBackingMap.get(aClass);
    Set<T> result = null;
    if (value != null) {
      assert value.length != 0;
      result = new HashSet<>(value.length);
      Collections.addAll(result, value);
    }

    Class<?> superClass = aClass.getSuperclass();
    if (superClass != null) {
      result = addFromUpper(result, superClass);
    }
    for (Class<?> superInterface : aClass.getInterfaces()) {
      result = addFromUpper(result, superInterface);
    }

    return result == null ? null : ContainerUtil.findAll(myOrderingArray, result::contains);
  }
private @Nullable List<T> getFromBackingMap(@NotNull Class<?> aClass)