public static boolean isAvailable(@NotNull PsiParameter myParameter,
                                    @Nullable PsiType type,
                                    @Nullable PsiClass targetClass,
                                    boolean findIndirectAssignments) {
    if (!myParameter.isValid() ||
        !BaseIntentionAction.canModify(myParameter) ||
        !(myParameter.getDeclarationScope() instanceof PsiMethod method)) {
      return false;
    }
    return method.getBody() != null &&
           type != null &&
           type.isValid() &&
           targetClass != null &&
           !targetClass.isInterface() &&
           (!targetClass.isRecord() || method.hasModifierProperty(PsiModifier.STATIC)) &&
           getParameterAssignedToField(myParameter, findIndirectAssignments) == null;
  }
public static boolean isAvailable(@NotNull PsiParameter myParameter,
                                    @Nullable PsiType type,
                                    @Nullable PsiClass targetClass,
                                    boolean findIndirectAssignments)