      *   So: Absolute pathes instead start with an empty string.
      */
     var gotAbsolute = isAbsolute ? false : true
-    return filter(pathComps) {
+    return pathComps.filter {
       if $0 != "" || !gotAbsolute {
         if !gotAbsolute { gotAbsolute = true }
         return true

    s = s[idx + 3..<s.endIndex]
    
    // cut off path
    if let idx = s.indexOf("/") {
      ps = s[idx..<s.endIndex] // path part
      s  = s[s.startIndex..<idx]
    }
    
    // s: joe:pwd@host:port
    if let idx = Swift.find(s, "@") {
      url.userInfo = s[s.startIndex..<idx]
      s = s[idx + 1..<s.endIndex]
    }
    
    // s: host:port
    if let idx = Swift.find(s, ":") {
      url.host = s[s.startIndex..<idx]
      let portS = s[idx + 1..<s.endIndex]
      let portO = portS.toInt()
      println("ports \(portS) is \(portO)")
      if let port = portO {
        url.port = port
      }

  }
  
  if ps != "" {
    if let idx = ps.characters.indexOf("?") {
      url.query = ps[idx + 1..<ps.endIndex]
      ps = ps[ps.startIndex..<idx]
    }
    
    if let idx = ps.characters.indexOf("#") {
      url.fragment = ps[idx + 1..<ps.endIndex]
      ps = ps[ps.startIndex..<idx]
    }
