def bundle(self, *arguments, **extra):
        """Bundle the given arguments in a C{dict} with EC2-style format.

        @param arguments: L{Arguments} instances to bundle. Keys in
            later objects will override those in earlier objects.
        @param extra: Any number of additional parameters. These will override
            similarly named arguments in L{arguments}.
        """
        params = {}

        for argument in arguments:
            params.update(argument)

        params.update(extra)
        result = {}
        for name, value in params.iteritems():
            if value is None:
                continue
            segments = name.split('.')
            first = segments[0]
            parameter = self.get_parameter(first)
            if parameter is None:
                raise RuntimeError("Parameter '%s' not in schema" % name)
            else:
                if value is None:
                    result[name] = ""
                else:
                    result[name] = parameter.format(value)

        return self._convert_nest_to_flat(result)