return (List<K>) results;
}
protected List<Object> execute(Criteria criteria){
if(criteria instanceof ArithmeticCriteria){
ArithmeticCriteria arithmeticCriteria = ((ArithmeticCriteria)criteria);
CacheIndex cacheIndex = indexes.get(arithmeticCriteria.getAttributeName());
if(cacheIndex==null){
throw new IndexNotFoundException();
}
return arithmeticCriteria.meets(cacheIndex);
}
else{
if(criteria instanceof AndCriteria){
AndCriteria andCriteria = (AndCriteria)criteria;
List<Object> results = new ArrayList<Object>();