'Create an AmpList.
@param subargs: a list of 2-tuples of (\'name\', argument) describing the
schema of the dictionaries in the sequence of amp boxes.
@type subargs: A C{list} of (C{bytes}, L{Argument}) tuples.
@param optional: a boolean indicating whether this argument can be
omitted in the protocol.'

def __init__(self, subargs, optional=False):

    assert all((isinstance(name, bytes) for (name, _) in subargs)), ("AmpList    should    be    defined    with    a    list    of    (name,    argument)    tuples    where    `name'    is    a    byte    string,    got:    %r" % (subargs,))
    self.subargs = subargs
    Argument.__init__(self, optional)
