static PatternModel create(@NotNull PsiClass record, @NotNull PsiElement context, boolean onlyDeconstructionList) {
      JavaCodeStyleManager manager = JavaCodeStyleManager.getInstance(record.getProject());
      PsiDeconstructionPattern deconstructionPattern = PsiTreeUtil.getParentOfType(context, PsiDeconstructionPattern.class);
      List<String> names = new ArrayList<>();
      for (PsiRecordComponent component : record.getRecordComponents()) {
        String name = new VariableNameGenerator(context, VariableKind.LOCAL_VARIABLE)
          .byName(component.getName())
          .skipNames(names)
          .generate(true);
        names.add(name);
      }
      List<PsiType> types = findTypes(deconstructionPattern, record);
      return new PatternModel(record, names, types, onlyDeconstructionList);
    }
static PatternModel create(@NotNull PsiClass record, @NotNull PsiElement context, boolean onlyDeconstructionList)