@NotNull
  private List<PyClassLikeType> getMROAncestorTypes(@NotNull TypeEvalContext context) throws MROException {
    PyPsiUtils.assertValid(this);
    final PyType thisType = context.getType(this);
    if (thisType instanceof PyClassLikeType) {
      final List<PyClassLikeType> ancestorTypes = mroLinearize((PyClassLikeType)thisType, false, context, new HashMap<>());
      if (isOverriddenMRO(ancestorTypes, context)) {
        final ArrayList<PyClassLikeType> withNull = new ArrayList<>(ancestorTypes);
        withNull.add(null);
        return withNull;
      }
      return ancestorTypes;
    }
    else {
      return Collections.emptyList();
    }
  }
@NotNull
  private List<PyClassLikeType> getMROAncestorTypes(@NotNull TypeEvalContext context)