} else if (ITEM_INITIAL_PUBLISH_DATE.equals(criteria)) {
return new ItemInitialPublishDateCriteria(value, fieldOperator);
} else if (ITEM_LAST_PUBLISHED_DATE.equals(criteria)) {
return new ItemLastPublishedDateCriteria(value, fieldOperator);
} else if (ITEM_MODIFICATION_DATE.equals(criteria)) {
return new ItemModificationDateCriteria(value, fieldOperator);
} else if (ITEM_REFERENCE.equals(criteria)) {
if (fieldOperator != FieldOperator.EQUAL) {
throw new ParserException("Illegal FieldOperator " + fieldOperator + " for criteria " + criteria);
}
return new ItemReferenceCriteria(Integer.parseInt(value));