           addToObj(current, prop, value)
 
       subState = desc.state
-      #nextListMap
-      #nextHangSubject, nextHangRel, nextHangRev
+      subState.hanging = hanging
       subState.current = nextObj or current
       return subState
 

        for type in types
          addPropToObj(typed, "@type", type)

      # TODO:
      #if hanging.*
      #  if no s or o but predicates
      #    hangingSubject = hanging.subject
      #  else if s or o
      #    attach to state.current: hangingSubject or if s then current else nextObj
      #    if hanging.subject used current = hangingSubject
      #    nextHanging = {...}

      if desc.inlist
        addToObj = addToPropListToObj
      else
        addToObj = addPropToObj

      if o
        for link in desc.getLinks()
          addToObj(current, link, {"@id": o})
        revs = desc.getRevLinks()
        if revs.length
          subjRef = {"@id": s or current["@id"]}
          for rev in revs
            addToObj(nextObj or getOrCreate(res, o), rev, subjRef)

      value = desc.getLiteral()
      if value

      @mapper = new Mapper(null, contexts[@profile])
      @lang = null
      @lists = {}
      @hanging = {present: false, rels: null, revs: null, lists: null}
      @result = null
      @current = null
      @resolveURI = resolveURI
