private static <T> List<im.turms.server.common.storage.mongo.entity.CompoundIndex> parseCompoundIndex(
            Class<T> clazz) {
        CompoundIndex[] indexes = clazz.getAnnotationsByType(CompoundIndex.class);
        if (indexes.length == 0) {
            return Collections.emptyList();
        }
        List<im.turms.server.common.storage.mongo.entity.CompoundIndex> list =
                new ArrayList<>(indexes.length);
        for (CompoundIndex index : indexes) {
            String[] fields = index.value();
            if (fields.length == 0) {
                throw new IllegalArgumentException(
                        "The compound index of the entity class ("
                                + clazz.getName()
                                + ") must specify which fields to index");
            }
            BsonDocument document = new BsonDocument();
            for (String key : fields) {
                document.append(key, BsonPool.BSON_INT32_1);
            }
            list.add(new im.turms.server.common.storage.mongo.entity.CompoundIndex(
                    index,
                    new IndexModel(document)));
        }
        return list;
    }
@implNote The method doesn't the support shard keys that contains a hashed key supported in
          4.4
turms-server-common/src/main/java/im/turms/server/common/storage/mongo/entity/MongoEntityFactory.java