This specification describes the mechanism to handle payloads that contain metadata properties ($id, $ref & $values) written on a serialization with Preserved References Handling turned on.
Circular references occur when a property of the object refers to the object itself, directly (a -> a) or indirectly (a -> b -> a).
Multiple ocurrences of the same reference does not imply circularity.
The goal of this specification is to define the boundaries of the Reference Handling feature when opting-in for Preserve References.