errChan := errChan
				stopChan := stopChan
				fakeAdapter.WatchStub = func(key string) (events <-chan storeadapter.WatchEvent, stop chan<- bool, errors <-chan error) {
					Expect(key).To(Equal(dopplerservice.META_ROOT))
					order <- "watch"
					return nil, stopChan, errChan
				}
				fakeAdapter.ListRecursivelyStub = func(key string) (storeadapter.StoreNode, error) {
					Expect(key).To(Equal(dopplerservice.META_ROOT))
					order <- "finder"
					return storeadapter.StoreNode{}, nil
				}
			})

			AfterEach(func() {
				finder.Stop()
			})

			It("watches and finders nodes recursively", func() {
				Eventually(order).Should(Receive(Equal("watch")))
				Eventually(order).Should(Receive(Equal("finder")))

				By("an error occurs")

				Expect(errChan).To(BeSent(errors.New("an error")))

				Eventually(order, 2).Should(Receive(Equal("watch")))
				Eventually(order).Should(Receive(Equal("finder")))
			})
		})