identify
Assigns an RdId to this node and recursively to all its child nodes.
Parameters
the identity source used to generate child IDs.
the RdId to assign to this node.
a recommendation for how child RdIds should be generated. Entities may override this value.
true— uses IIdentities.mix to produce hash-based, deterministic IDs derived from the parent ID and child name. Used when the same entity exists on both protocol sides and its children need matching IDs to find each other (e.g., extensions with built-in maps, sets, properties). Given the same parent ID, both sides will compute identical child IDs.false— uses IIdentities.next to produce dynamic IDs. Used for entities created at runtime (e.g., items added to RdMap/RdList) where each side assigns its own IDs independently.
Entities can override this parameter when their children require a specific strategy. For example, RdExtBase forces stable = true regardless of the incoming value, because its built-in children are part of a statically known structure that must match on both protocol sides. So even if an ext is encountered during dynamic (non-stable) identification, it will switch to stable IDs for its own subtree.