protected CompareConditionAdapter(final Object value, final boolean matchCase, final boolean matchApproximately) {
super();
this.matchCase = matchCase;
this.matchApproximately = matchApproximately;
stringMatchingStrategy = matchApproximately ? StringMatchingStrategy.DEFAULT_APPROXIMATE_STRING_MATCHING_STRATEGY :
new ExactStringMatchingStrategy();
final ResourceController resourceController = ResourceController.getResourceController();
if(value instanceof String && resourceController.getBooleanProperty("compare_as_number") && TextUtils.isNumber((String) value)) {
Number number = TextUtils.toNumber((String) value);
if(number instanceof Comparable<?>){
conditionValue = (Comparable<?>) number;