       'M'
       'P:' + @precedence
       @direction.inspect()
-      @getSourceNode()?.inspect() ? ''
+      @getSourceNodes().map((n) -> n.inspect()).join(' ')
       @wasDelivered and 'D' or ''
       @payload.inspect()
     ].filter( (s) -> s.length).join(' ')




  getSourceNode: ->
    if @sourceMessage?
      @sourceMessage.getSourceNode()
    else
      @node


  markSourceMessageAsDelivered: ->
    if @sourceMessage?
      @sourceMessage.markSourceMessageAsDelivered()
    else
      @wasDelivered = yes
    return this


  @createTransformed = (prevMessage, payload) ->
    new this(prevMessage.transmission, payload, {
      precedence:     prevMessage.precedence
      direction:      prevMessage.direction
      nesting:        prevMessage.nesting
      sourceMessages: [prevMessage]
    })


