code: def save(self, logMessage=None):
          
  
          if self._create:
              self._prepare_ingest()
              self._ingest(logMessage)
          else:
              self._save_existing(logMessage)
  
          #No errors, then return true
          return True
docs: Save to Fedora any parts of this object that have been
          modified (including object profile attributes such as
          :attr:`label`, :attr:`owner`, or :attr:`state`, and any
          changes to datastream content or datastream properties).  If a
          failure occurs at any point on saving any of the parts of the
          object, will back out any changes that have been made and
          raise a :class:`DigitalObjectSaveFailure` with information
          about where the failure occurred and whether or not it was
          recoverable.
  
          If the object is new, ingest it. If object profile information has
          been modified before saving, this data is used in the ingest.
          Datastreams are initialized to sensible defaults: XML objects are
          created using their default constructor, and RDF graphs start
          empty. If they're updated before saving then those updates are
          included in the initial version. Datastream profile information is
          initialized from defaults specified in the :class:`Datastream`
          declaration, though it too can be overridden prior to the initial
          save.