public static Map<String, Object> sortMapEntries(Map<String, Object> map) {
        Map<String, Object> newMap = LinkedHashMap.newLinkedHashMap(map.size());
        if (!(map instanceof SequencedMap<String, Object>)) {
            map = new TreeMap<>(map);
        }
        for (Map.Entry<String, Object> entry : map.entrySet()) {
            Object entryValue = entry.getValue();
            if (entryValue instanceof Map<?, ?> entryValueMap) {
                entryValue = sortMapEntries((Map<String, Object>) entryValueMap);
            }
            newMap.put(entry.getKey(), entryValue);
        }
        return newMap;
    }
@implNote 1. Sort map entries so that we can use the consistent output for comparison.
          <p>
          2. We don't use
          {@link com.fasterxml.jackson.databind.SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS}
          because {@link MapSerializer#_orderEntries} in jackson-databind-2.17.1 will sort
          {@link LinkedHashMap}, which is unexpected for our use cases.
turms-server-test-common/src/main/java/im/turms/server/common/testing/JsonUtil.java