private static void validateLessThanOrEqualTo(
            String lessThanOrEqualTo,
            Object properties,
            Object value,
            Field field,
            List<String> errorMessages) {
        PropertyFieldInfo info = getFieldInfo(field.getDeclaringClass(), lessThanOrEqualTo);
        if (info == null) {
            throw new IllegalArgumentException(
                    "The field ("
                            + field.getDeclaringClass()
                                    .getName()
                            + "#"
                            + lessThanOrEqualTo
                            + ") does not exist");
        }
        if (!(value instanceof Number number)) {
            throw new IllegalArgumentException(
                    "The value of the field ("
                            + ClassUtil.getReference(field)
                            + ") must be a number for min and max validation");
        }
        Object valueToCompare = info.get(properties);
        Field fieldToCompare = info.field();
        if (!(valueToCompare instanceof Number numberToCompare)) {
            throw new IllegalArgumentException(
                    "The value of the field ("
                            + ClassUtil.getReference(fieldToCompare)
                            + ") must be a number for min and max validation");
        }
        if (number.longValue() > numberToCompare.longValue()) {
            String message = "The property \""
                    + field.getName()
                    + "\" must be less than or equal to the value of the property \""
                    + fieldToCompare.getName()
                    + "\"";
            errorMessages.add(message);
        }
    }
@implNote We don't use "hibernate-validator" because it has a terrible performance
turms-server-common/src/main/java/im/turms/server/common/infra/property/TurmsPropertiesValidator.java