def _delete(self, trans):
     """
     Deletes the item physically.
     
     @param trans: A valid transaction handle
     @return: None
     """
     _db.handle_delete(self, trans, True)
     _db.delete_item(self, trans)
     
     if self.isCollection:
         cursor = None
         try:
             cursor = _db.query_index('_parentid', self._id, trans)
             cursor.fetch_all = True
             [child._delete(trans) for child in cursor]
         finally:
             if cursor != None:
                 cursor.close()
 def _removeComposite(composite, trans):
     _db.handle_delete(composite, trans, True)
     _db.delete_item(composite, trans)