'Internal: read a part that is itself multipart.'

def read_multi(self, environ, keep_blank_values, strict_parsing):

    ib = self.innerboundary
    if (not valid_boundary(ib)):
        raise ValueError, ('Invalid    boundary    in    multipart    form:    %r' % (ib,))
    self.list = []
    if self.qs_on_post:
        for (key, value) in urlparse.parse_qsl(self.qs_on_post, self.keep_blank_values, self.strict_parsing):
            self.list.append(MiniFieldStorage(key, value))
        FieldStorageClass = None
    klass = (self.FieldStorageClass or self.__class__)
    part = klass(self.fp, {}, ib, environ, keep_blank_values, strict_parsing)
    while (not part.done):
        headers = rfc822.Message(self.fp)
        part = klass(self.fp, headers, ib, environ, keep_blank_values, strict_parsing)
        self.list.append(part)
    self.skip_lines()
