       , next
       callAbstractly node for node in nodes
     @
-  
+
   reverse: do ->
     reverse =(arr)->
       for own _, collection of arr

      {selector, query, limit, sort, skip, hint} = sharedOptions
      selector = extend {}, selector ? query, sourceId: node.getId()
      options = {limit, sort, skip, hint}
      console.log 'limit', limit
      Relationship.some selector, options, selectorCallback.bind acc, callback

    selectFromEdge =(edge, sharedOptions, acc, callback)->

      else
        reverse pipeline.last()
      next()
  #
  #
  # fetch: future (pipeline, name, rest..., next)->
  #   @invoke 'fetch', name, rest..., next
  #
  # assure: future (pipeline, rest..., next)->
  #   @[@getInterfaceName(name)] 'assure', rest..., next
  #
  # add: future (pipeline, rest..., next)->
  #   @[@getInterfaceName(name)] 'add', rest..., next
  #
  # remove: future (pipeline, rest..., next)->
  #   @[@getInterfaceName(name)] 'fetch', rest..., next
  #
  #

  edgesOfEach:do->
    selectorCallback =(callback, err, relationships)->
