case LESS_OR_EQUAL:
return new LessOrEqualThanPredicate( fieldName, (Comparable) Coercions.coerce( value, expectedFieldType ) );
case GREATER_THAN:
return new GreaterThanPredicate( fieldName, (Comparable) Coercions.coerce( value, expectedFieldType ) );
case GREATER_OR_EQUAL:
return new GreaterOrEqualThanPredicate( fieldName, (Comparable) Coercions.coerce( value, expectedFieldType ) );
case IS_MISSING:
return new IsMissingPredicate( fieldName );
case IS_NOT_MISSING:
return new IsNotMissingPredicate( fieldName );
}