} else if (_operator == OperatorType.GREATER_THAN || _operator == OperatorType.HIGHER_THAN) {
return comparator.compare(selectItemValue, operandValue) > 0;
} else if (_operator == OperatorType.LESS_THAN || _operator == OperatorType.LOWER_THAN) {
return comparator.compare(selectItemValue, operandValue) < 0;
} else if (_operator == OperatorType.LIKE) {
WildcardPattern matcher = new WildcardPattern((String) operandValue, '%');
return matcher.matches((String) selectItemValue);
} else if (_operator == OperatorType.IN) {
Set<?> inValues = getInValues();
return inValues.contains(selectItemValue);
} else {
throw new IllegalStateException("Operator could not be determined");