case EQUAL_TO:
return new TermQueryCriteria(this.key, this.val);
case NOT_EQUAL_TO:
BooleanQueryCriteria notEqBQC = new BooleanQueryCriteria();
notEqBQC.setOperator(BooleanQueryCriteria.NOT);
notEqBQC.addTerm(new TermQueryCriteria(this.key, this.val));
return notEqBQC;
case GREATER_THAN_OR_EQUAL_TO:
return new RangeQueryCriteria(this.key, this.val, null, true);
case LESS_THAN_OR_EQUAL_TO:
return new RangeQueryCriteria(this.key, null, this.val, true);