code: def delete(self, method=None, position=None, save=True):
          
          self.__class__.objects.prepare_delete(
              self, method=method, position=position, save=save
          )
          return super(CTENode, self).delete()
docs: Prepares the tree for deletion according to the deletion semantics
              specified for the :class:`CTENode` Model, and then delegates to the
              :class:`CTENode` superclass ``delete`` method.
  
              Default deletion `method` and `position` callable can be overridden
              by being supplied as arguments to this method.
  
              :param method: optionally a particular deletion method, overriding
                  the default method specified for this model.
  
              :param position: optional callable to invoke prior to each move
                  operation, should the delete method require any moves.
  
              :param save: optional flag indicating whether this model's
                  :meth:`save` method should be invoked after each move operation,
                  should the delete method require any moves.