def read(self, iprot):
    iprot.readStructBegin()
    while True:
        (fname, ftype, fid) = iprot.readFieldBegin()
        if (ftype == TType.STOP):
            break
        if (fid == 1):
            if (ftype == TType.LIST):
                self.things = []
                (_, elem78) = iprot.readListBegin()
                for _ in range(elem78):
                    elem79 = thing()
                    elem79.read(iprot)
                    self.things.append(elem79)
                iprot.readListEnd()
            else:
                iprot.skip(ftype)
        else:
            iprot.skip(ftype)
        iprot.readFieldEnd()
    iprot.readStructEnd()
    self.validate()
def read(self, iprot):
    iprot.readStructBegin()
    while True:
        (fname, ftype, fid) = iprot.readFieldBegin()
        if (ftype == TType.STOP):
            break
        if (fid == 1):
            if (ftype == TType.LIST):
                self.things = []
                (_, elem78) = iprot.readListBegin()
                for _ in range(elem78):
                    elem79 = thing()
                    elem79.read(iprot)
                    self.things.append(elem79)
                iprot.readListEnd()
            else:
                iprot.skip(ftype)
        else:
            iprot.skip(ftype)
        iprot.readFieldEnd()
    iprot.readStructEnd()
    self.validate()