 
     if condensedQuery[level + 2]?
       for split in node.splits
-        @_splitPutHelper(condensedQuery, split, addToFilter(filter, createFilter(split.prop[splitOpName], splitOp)), level + 1)
+        newFilter = addToFilter(filter, createFilter(split.prop[splitOpName], splitOp))
+        @_splitPutHelper(condensedQuery, split, newFilter, level + 1)
     return
 
   _timeCalculate: (filter, splitOp) ->


  getUnknownQuery = (query, root, condensedQuery) ->
    return query unless root?
    unknownQuery = []
    added = false


    @_filterPutHelper(condensedQuery, root, condensedQuery[0].filter, 0)
    return

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

    if node.splits?
      splitOp = condensedQuery[level + 1].split
      for split in node.splits
        newFilter = addToFilter(filter, createFilter(split.prop[splitOp.name], splitOp))
        @_filterPutHelper(condensedQuery, split, newFilter, level + 1)
    return


