org.erights.e.extern.persist
Class SturdyRefMaker

Untamed: Enables one to make SturdyRefs for objects, even if one is in a distributed
confinement box.

An instance of the object is accessible in the privileged scope under the
name "makeSturdyRef".

An SturdyRefMaker isn't itself Persistent, but the relevant instance is
expected to be a scalpel-key, so a persistent object holding a persistent
pointer to that SturdyRefMaker will likely revive holding instead an
appropriate substitute SturdyRefMaker.

tearOffRoots

Enabled: Uses the "tear-off" technique for establishing private shared state
between two objects.

The "tear-off" tag can only be torn off once, and once it's torn off
it's apparent that it is to all those who try to do so.

In this case, the tearing off is supposed to happen by the TimeMachine
when it transitions out of the Ephemeral state. Therefore, if a tearOff
hasn't happened yet, the code here assumes that we're still in the
Ephemeral state and that nothing may be made persistent.

Note: If you want to make something sturdy for purposes of distribution,
but not persistent, use IdentityMgr instead. This requires the
Introducer to be identified, but is independent of the state of the
TimeMachine.