@Override
  public void registerFixes(@NotNull PsiJavaCodeReferenceElement ref, @NotNull QuickFixActionRegistrar registrar) {
    PsiTypeElement typeElement = ObjectUtils.tryCast(ref.getParent(), PsiTypeElement.class);
    if (typeElement == null || typeElement.getFirstChild() != typeElement.getLastChild()) return;
    PsiElement parent = typeElement.getParent();
    if (PsiKeyword.VAR.equals(ref.getReferenceName())) {
      registerSetVariableTypeFix(parent, registrar);
      registerLambdaParametersFix(parent, registrar);
      registerVarLanguageLevelFix(ref, parent, registrar);
    }
    if (PsiKeyword.RECORD.equals(ref.getReferenceName())) {
      registerRecordLanguageLevelFix(ref, parent, registrar);
    }
  }
@Override
  public void registerFixes(@NotNull PsiJavaCodeReferenceElement ref, @NotNull QuickFixActionRegistrar registrar)