Optionalprovider: IMetadataProviderProtectedProviderWhether user may clone records of the entity, and what the UI may offer. Refuses when the
entity is missing, not enabled as a clone root, lacks CanCreate for the user, needs another
user type, or the user lacks the entity's clone authorization.
Re-plans, refuses with PLAN_CHANGED when the plan differs from the reviewed one, then
executes. A blocked plan returns FORBIDDEN when an authorization caused it, else BLOCKED.
Ancestors (records this one was cloned from) and direct clones, read from MJ: Record Links
rows of type ClonedFrom, where Source is the clone and Target is its original.
Computes a dry-run plan. Writes nothing.
The logic behind the four operations. Also usable directly on the server (see
RecordCloneEngine); every method takes the acting user and uses the handler's provider.