             @emit 'change'
 
         handle ActionTypes.MESSAGE_MOVE_REQUEST, ({target, from, to, ref}) ->
-            messages = _getMixed target
-            target.subject = messages[0]?.get('subject')
-            target.accountID = messages[0].get('accountID')
+            messages = @getMixed target
             _addInFlight {type: 'move', from, to, messages, ref}
             @emit 'change'
 

            @emit 'change'

        handle ActionTypes.MESSAGE_FLAGS_REQUEST, ({target, op, flag, ref}) ->
            messages = _getMixed target
            target.subject = messages[0]?.get('subject')
            target.accountID = messages[0].get('accountID')
            _addInFlight {type: 'flag', op, flag, messages, ref}
            @emit 'change'


    # Retrieve a batch of message with various criteria
    # target - is an {Object} with a property messageID or messageIDs or
    #          conversationID or conversationIDs
    # target.accountID is needed to success Delete
    #
    # Returns an {Array} of {Immutable.Map} messages
    getMixed: (target) ->
        messages = _getMixed target
        target.accountID = messages[0].get('accountID')
        messages

    getConversationsLength: ->
        return _conversationLengths
