private static <T> int parseConstructorParamIndex(
            Constructor<T> constructor,
            Parameter[] params,
            Field field) {
        String fieldName = parseFieldName(field);
        String propertyName = field.getName();
        for (int i = 0, length = params.length; i < length; i++) {
            String paramName = params[i].getName();
            if (paramName.equals(fieldName) || paramName.equals(propertyName)) {
                return i;
            }
        }
        throw new IllegalArgumentException(
                "Could not find the index of the parameter \""
                        + fieldName
                        + "\" in the constructor: "
                        + constructor.getName());
    }
@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