def read(self, where=None, columns=None, **kwargs):
if not self.read_axes(where=where, **kwargs):<EOL><INDENT>return None<EOL><DEDENT>raise NotImplementedError("<STR_LIT>")<EOL>
we have n indexable columns, with an arbitrary number of data
        axes