code: def _next_shape_id(self):
          
          # ---presence of cached-max-shape-id indicates turbo mode is on---
          if self._cached_max_shape_id is not None:
              self._cached_max_shape_id += 1
              return self._cached_max_shape_id
  
          return self._spTree.max_shape_id + 1
docs: Return a unique shape id suitable for use with a new shape.
  
          The returned id is 1 greater than the maximum shape id used so far.
          In practice, the minimum id is 2 because the spTree element is always
          assigned id="1".