def METHOD_NAME(self, _min_slice=MIN_SLICE,
               _magic_offset=MAGIC_OFFSET):
    next_slice = self._next_slice
    if next_slice is None:
        return None
    if len(next_slice) < _min_slice:
        raise CorruptRecordException(
            "Record size is less than the minimum record overhead "
            "({})".format(_min_slice - self.LOG_OVERHEAD))
    self._cache_next()
    magic, = struct.unpack_from(">b", next_slice, _magic_offset)
    if magic <= 1:
        return LegacyRecordBatch(next_slice, magic)
    else:
        return DefaultRecordBatch(next_slice)