try {
if (BYNARY_TYPE.equals(criteria)) {
if (fieldOperator != FieldOperator.EQUAL) {
throw new ParserException("Illegal FieldOperator " + fieldOperator + " for criteria " + criteria);
}
return new BinaryTypeCriteria(value);
} else if (ITEM_CREATION_DATE.equals(criteria)) {
return new ItemCreationDateCriteria(value, fieldOperator);
} else if (ITEM_INITIAL_PUBLISH_DATE.equals(criteria)) {
return new ItemInitialPublishDateCriteria(value, fieldOperator);
} else if (ITEM_LAST_PUBLISHED_DATE.equals(criteria)) {