@Override
  public boolean locationMatches(@NotNull PsiElement element, @NotNull Location location) {
    Method method = location.method();
    PsiElement context = DebuggerUtilsEx.getContainingMethod(element);
    if (context instanceof PsiMethod psiMethod) {
      String name = psiMethod.isConstructor() ? "<init>" : psiMethod.getName();
      return name.equals(method.name()) && psiMethod.getParameterList().getParametersCount() == method.argumentTypeNames().size();
    }
    if (context instanceof PsiLambdaExpression lambda) {
      return DebuggerUtilsEx.isLambda(method) &&
             method.argumentTypeNames().size() >= lambda.getParameterList().getParametersCount();
    }
    if (context instanceof PsiClassInitializer initializer) {
      String expectedMethod = initializer.hasModifierProperty(PsiModifier.STATIC) ? "<clinit>" : "<init>";
      return method.name().equals(expectedMethod);
    }
    return false;
  }
@Override
  public boolean locationMatches(@NotNull PsiElement element, @NotNull Location location)