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

    return

  _filterPutHelper: (condensedQuery, node, filter, level) ->
    hashValue = @hashmap[filterToHash(filter)] ?= {}
    applies = condensedQuery[level].applies
    for apply in applies
      continue if not node.prop?
      hashValue[apply.name] = node.prop[apply.name] ? hashValue[apply.name]

    if node.splits?

  getKnownTree = (condensedQuery) ->
    return getKnownTreeHelper(condensedQuery, condensedQuery[0].filter, 0)

  convertEmptyTreeToEmptyObject = (tree) ->
    propKeys = (key for key, value of tree.prop)
    return {} if (propKeys.length is 0 and not tree.splits?)
    return tree


  return (request, callback) ->
    throw new Error("request not supplied") unless request
    {context, query} = request
