@Override public Query<T> filter(final String condition, final Object value) { final String[] parts = condition.trim().split(" "); if (parts.length < 1 || parts.length > 6) { throw new IllegalArgumentException("'" + condition + "' is not a legal filter condition"); } final String prop = parts[0].trim(); final FilterOperator op = (parts.length == 2) ? translate(parts[1]) : FilterOperator.EQUAL; add(new FieldCriteria(this, prop, op, value)); return this; }