         else
           collection.touch (namespace.substr 1)
 
-    isProcessing = false
+    loops = previousLoops
 
   processOne = (event, item) ->
     process event, [item]

      return false for _ of valuesByNamespace
      true

    if isProcessing
      return unless loopDetected() is true
    isProcessing = true

    # For each namespace.
    for namespace, values_ of valuesByNamespace

  values = Object.create null
  values.common = init

  # The number of nested processing for this watcher is counted to
  # avoid an infinite loop.
  loops = 0

  process = (event, items) ->

    # Values are grouped by namespace.
