'Process an initial request to execute a command.
Arguments:
iq -- The command execution request.'

def _handle_command_start(self, iq):

    sessionid = self.new_session()
    node = iq['command']['node']
    key = (iq['to'].full, node)
    (name, handler) = self.commands.get(key, ('Not    found', None))
    if (not handler):
        log.debug('Command    not    found:    %s,    %s', key, self.commands)
    payload = []
    for stanza in iq['command']['substanzas']:
        payload.append(stanza)
    if (len(payload) == 1):
        payload = payload[0]
    interfaces = set([item.plugin_attrib for item in payload])
    payload_classes = set([item.__class__ for item in payload])
    initial_session = {'id': sessionid, 'from': iq['from'], 'to': iq['to'], 'node': node, 'payload': payload, 'interfaces': interfaces, 'payload_classes': payload_classes, 'notes': None, 'has_next': False, 'allow_complete': False, 'allow_prev': False, 'past': [], 'next': None, 'prev': None, 'cancel': None}
    session = handler(iq, initial_session)
    self._process_command_response(iq, session)
