'Return the command object for \'command\'.  Normally this object
is cached on a previous call to \'get_command_obj()\'; if no command
object for \'command\' is in the cache, then we either create and
return it (if \'create\' is true) or return None.'

def get_command_obj(self, command, create=1):

    cmd_obj = self.command_obj.get(command)
    if ((not cmd_obj) and create):
        if DEBUG:
            self.announce(("Distribution.get_command_obj():    creating    '%s'    command    object" % command))
        klass = self.get_command_class(command)
        cmd_obj = self.command_obj[command] = klass(self)
        self.have_run[command] = 0
        options = self.command_options.get(command)
        if options:
            self._set_command_options(cmd_obj, options)
    return cmd_obj
