                     self.subdirectories.insert($0)
                     let dw = DirectoryWatcher(watchPath: $0, autoWatchSubdirectory: true)
                     dw.delegate = self.delegate
+                    dw.parentWatcher = self
                     dw.startMonitoring()
                     self.subdirectoriesWatcher[$0] = dw
                 }

    private var subdirectories = Set<String>()
    private var source: dispatch_source_t!
    private let fm = NSFileManager.defaultManager()

    public weak var delegate: DirectoryWatcherDelegate?


        guard monitoring else { return }

        performOnWatcherQueue {
            self.parentWatcher = nil
            for (_, submonitor) in self.subdirectoriesWatcher {
                submonitor.stopMonitoring()
            }
