@Override
  public boolean isCallToSuperMethod(UExpression expression, UMethod method) {
    if (expression instanceof UQualifiedReferenceExpression qualifiedReference) {
      UExpression receiver = qualifiedReference.getReceiver();
      UExpression selector = qualifiedReference.getSelector();

      if (receiver instanceof USuperExpression && selector instanceof UCallExpression callExpression) {
        PsiMethod superMethod = callExpression.resolve();
        if (superMethod == null || !MethodSignatureUtil.areSignaturesEqual(method.getJavaPsi(), superMethod)) return false;

        List<UExpression> args = callExpression.getValueArguments();
        List<UParameter> params = method.getUastParameters();

        for (int i = 0; i < args.size(); i++) {
          UExpression arg = args.get(i);
          if (!(arg instanceof USimpleNameReferenceExpression simpleNameReference)) return false;
          if (!params.get(i).equals(simpleNameReference.resolve())) return false;
        }

        return true;
      }
    }

    return false;
  }
@Override
  public boolean isCallToSuperMethod(UExpression expression, UMethod method)