@Nullable
 public static PsiClass getSuperClass(GrTypeDefinition grType) {
   final PsiClassType[] extendsList = grType.getExtendsListTypes();
   if (extendsList.length == 0) return getBaseClass(grType);
   final PsiClass superClass = extendsList[0].resolve();
   return superClass != null ? superClass : getBaseClass(grType);
 }
  @NotNull
  public static PsiClassType[] getSuperTypes(GrTypeDefinition grType) {
    PsiClassType[] extendsList = grType.getExtendsListTypes();
    if (extendsList.length == 0) {
      extendsList = new PsiClassType[] {createBaseClassType(grType)};
    }

    return ArrayUtil.mergeArrays(
        extendsList, grType.getImplementsListTypes(), PsiClassType.ARRAY_FACTORY);
  }