public static boolean inheritsJUnitTestCase(PsiClass psiClass) {
   PsiClass current = psiClass;
   while (current != null) {
     PsiClass[] supers = current.getSupers();
     if (supers.length > 0) {
       PsiClass parent = supers[0];
       if ("junit.framework.TestCase".equals(parent.getQualifiedName())) return true;
       current = parent;
       // handle typo where class extends itself
       if (current == psiClass) return false;
     } else {
       current = null;
     }
   }
   return false;
 }