     splitOp = condensedQuery[level + 1].split
     combineOp = condensedQuery[level + 1].combine
     splitOpName = splitOp.name
-    splitValues = node.splits.map((node) -> return node.prop[splitOpName])
+    splitValues = node.splits.map((node) -> node.prop[splitOpName])
     hash = generateHash(filter, splitOp, combineOp)
-    console.log 'PUT', hash
     @hashmap[hash] = splitValues
 
     if condensedQuery[level + 2]?
       for split in node.splits
-        newFilter = addToFilter(filter, @timeAttribute, createFilter(split.prop[splitOpName], splitOp))
+        newFilter = addToFilter(filter, @timeAttribute, driverUtil.filterFromSplit(splitOp, split.prop[splitOpName]))
         @_splitPutHelper(condensedQuery, split, newFilter, level + 1)
     return
 

    splits = []

    for value in cachedValues
      newFilter = addToFilter(filter, timeAttribute, createFilter(value, splitOp))
      ret = getKnownTreeHelper(condensedQuery, newFilter, level + 1, value)
      ret.prop[splitOp.name] = value
      splits.push ret

  if newFilterPieces.length > 1
    return {
      type: 'and'
      filters: newFilterPieces
    }

  return newFilterPieces[0]

class FilterCache
  # { key: filter,
