case NOT_IN:
return criteria.in(asArray(appendBoostAndGetParameterValue(criteria, parameters))).not();
case NEAR:
return createNearCriteria(parameters, criteria);
case WITHIN:
return criteria.within((Point) getBindableValue((BindableSolrParameter) parameters.next()),
(Distance) getBindableValue((BindableSolrParameter) parameters.next()));
default:
throw new InvalidDataAccessApiUsageException("Illegal criteria found '" + type + "'.");
}
}