def seek(self, offset, whence=os.SEEK_SET):
    if not self._is_open:
      raise IOError(u'Not opened.')

    if whence == os.SEEK_CUR:
      offset += self._current_offset
    elif whence == os.SEEK_END:
      offset += self._size
    elif whence != os.SEEK_SET:
      raise IOError(u'Unsupported whence.')

    if offset < 0:
      raise IOError(u'Invalid offset value less than zero.')

    self._current_offset = offset
post-order, dfs
dataset/ETHPy150Open log2timeline/dfvfs/dfvfs/file_io/tsk_file_io.py/TSKFile.seek--crossover with--dataset/ETHPy150Open algorhythms/LeetCode/108 Convert Sorted Array to Binary Search Tree.py/Solution.sortedArrayToBST