private static @NotNull String generateHashCode(PsiRecordComponent @NotNull [] components) {
    String hashExpression = components.length == 0 ? "1" : CommonClassNames.JAVA_UTIL_OBJECTS + ".hash(" +
                                                           StreamEx.of(components).map(c -> c.getName()).joining(",") + ")";
    return "@" + CommonClassNames.JAVA_LANG_OVERRIDE + "\n" +
           "public int hashCode() {\n" +
           "return " + hashExpression + ";\n" +
           "}\n";
  }
private static @NotNull String generateHashCode(PsiRecordComponent @NotNull [] components)