 
         # if dependency is found
         if dependency?
-
           # searchs for its dependencies recursively
           @_filter_pending_processes dependency, after_filter
 


      process = @pending_processes.pop()
      search  = route: match: process.route.match
      found = ArrayUtil.find( @active_processes, search )?

      if not found
        @active_processes.push process
        process.run @_run_pending_processes
      else


  # try to finds the dependency in many ways
  _find_dependency:( process, after_find )->
    dependency = process.dependency

    # 1 - tries to find dependency within the ACTIVE PROCESSES
    dep = _.find @active_processes, (item)->
      return item.url is dependency
    return after_find dep if dep?

    # 2 - tries to find dependency within the ROUTES (using strict route name)
    dep = _.find @router.routes, (item)->
      return item.test dependency

    if dep?

      # assemble route's `at` dependency based on parent url params
      params = dep.extract_params process.dependency
      at = dep.rewrite_url_with_parms dep.at, params

      return new Process @the, @, dep, at, dependency, process, (process)=>
        after_find process

    after_find null
