def METHOD_NAME(self):
    pa = vd.importExternal('pyarrow')
    try:
        with pa.OSFile(str(self.source), 'rb') as fp:
            self.coldata = pa.ipc.open_file(fp).read_all()
    except pa.lib.ArrowInvalid as e:
        with pa.OSFile(str(self.source), 'rb') as fp:
            self.coldata = pa.ipc.open_stream(fp).read_all()
    self.columns = []
    for colnum, col in enumerate(self.coldata):
        coltype = arrow_to_vdtype(self.coldata.schema.types[colnum])
        colname = self.coldata.schema.names[colnum]
        self.addColumn(Column(colname, type=coltype, expr=colnum,
                              getter=lambda c,r: c.sheet.coldata[c.expr][r[0]].as_py()))
    for rownum in range(max(len(c) for c in self.coldata)):
        yield [rownum]