class Expression {

  public static Expression collator(boolean caseSensitive, boolean diacriticSensitive, Locale locale) {
    Map<String, Expression> map = new HashMap<>();
    map.put("case-sensitive", literal(caseSensitive));
    map.put("diacritic-sensitive", literal(diacriticSensitive));

    StringBuilder localeStringBuilder = new StringBuilder();

    String language = locale.getLanguage();
    if (language != null && !language.isEmpty()) {
      localeStringBuilder.append(language);
    }

    String country = locale.getCountry();
    if (country != null && !country.isEmpty()) {
      localeStringBuilder.append("-");
      localeStringBuilder.append(country);
    }

    map.put("locale", literal(localeStringBuilder.toString()));
    return new Expression("collator", new ExpressionMap(map));
  }

    Expression();
  public  Expression(@NonNull String operator, @Nullable Expression... arguments);

}