                             }
                         }
                         dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER)
-                        if overwrittingRoute != nil || overwrittingParameters != nil { break }
+                        if overwrittingRoute != nil || overwrittingParameters != nil {
+                            break
+                        }
                     }
-
-                    if let (queue, handler, parameters) = (overwrittingRoute.map { self.filterRoute($0, routes: maps).first } ?? routeComponents) {
-                        var parameters = parameters
-                        (overwrittingParameters ?? queryParameters).forEach { parameters[$0.0] = $0.1 }
-                        dispatch_async(queue) { handler(parameters) { dispatch_semaphore_signal(semaphore) } }
-                        dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER)
+                    
+                    if let (queue, handler, parameters) =
+                        (overwrittingRoute.map { self.filterRoute($0, routes: maps).first }
+                            ?? routeComponents) {
+                                var parameters = parameters
+                                (overwrittingParameters ?? queryParameters).forEach {
+                                    parameters[$0.0] = $0.1
+                                }
+                                dispatch_async(queue) { handler(parameters) {
+                                    dispatch_semaphore_signal(semaphore) }
+                                }
+                                dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER)
                     }
                 }
             }

    public init(){}
    
    /**
     Associates a closure to a string pattern. A Routing instance will execute the closure in the event of a matching URL using #open.
     Routing will only execute the first matching mapped route. This will be the last routed added with #map.
     
     ```code
     let router = Routing()
     router.map("routing://route") { parameters, completed in
        completed() // Must call completed or the router will halt!
     }
     ```
     

            proxies = self.proxies
        }
        
        if maps.count == 0 {
            return false
        }
        
        guard let components = NSURLComponents(URL: URL, resolvingAgainstBaseURL: false) else {
            return false
        }
        
        var queryParameters: [String: String] = [:]
        components.queryItems?.forEach() {
            queryParameters.updateValue(($0.value ?? ""), forKey: $0.name)
        }
        components.query = nil
        var URLString = components.string ?? ""
        
