docs: def _create_replica(self, sysmeta_pyxb, sciobj_bytestream):
          """GMN handles replicas differently from native objects, with the main
          differences being related to handling of restrictions related to revision chains
          and SIDs.
  
          So this create sequence differs significantly from the regular one that is
          accessed through MNStorage.create().
  
          """
          pid = d1_common.xml.get_req_val(sysmeta_pyxb.identifier)
          self._assert_is_pid_of_local_unprocessed_replica(pid)
          self._check_and_create_replica_revision(sysmeta_pyxb, "obsoletes")
          self._check_and_create_replica_revision(sysmeta_pyxb, "obsoletedBy")
          sciobj_url = d1_gmn.app.sciobj_store.get_rel_sciobj_file_url_by_pid(pid)
          sciobj_model = d1_gmn.app.sysmeta.create_or_update(sysmeta_pyxb, sciobj_url)
          self._store_science_object_bytes(pid, sciobj_bytestream)
          d1_gmn.app.event_log.create_log_entry(
              sciobj_model, "create", "0.0.0.0", "[replica]", "[replica]"
          )