private static boolean containsMethodsOf(@NotNull GrTypeDefinition aClass, @NotNull final String fqn) {
    PsiClass classToSearch = JavaPsiFacade.getInstance(aClass.getProject()).findClass(fqn, aClass.getResolveScope());
    if (classToSearch == null) return true;

    Set<String> methodsToFind = new HashSet<>();
    for (PsiMethod method : classToSearch.getMethods()) {
      methodsToFind.add(method.getName());
    }

    for (GrMethod method : aClass.getCodeMethods()) {
      if (!methodsToFind.contains(method.getName())) continue;

      for (HierarchicalMethodSignature superSignature : method.getHierarchicalMethodSignature().getSuperSignatures()) {
        PsiClass superClass = superSignature.getMethod().getContainingClass();
        if (superClass != null && fqn.equals(superClass.getQualifiedName())) return true;
      }
    }

    return false;
  }
private static boolean containsMethodsOf(@NotNull GrTypeDefinition aClass, @NotNull final String fqn)