Cycle detection is performed via a visitedSet of object references, so
schemas may safely be shared across multiple branches without causing
infinite recursion.
Excluded schema types
lazy — deferred resolution would require calling the getter, which may
itself reference the parent schema; lazy schemas are handled separately.
Recursively visits every SchemaBuilder reachable from
schemaand calls SchemaRegistry.register on each node.Cycle detection is performed via a
visitedSetof object references, so schemas may safely be shared across multiple branches without causing infinite recursion.Excluded schema types
lazy— deferred resolution would require calling the getter, which may itself reference the parent schema; lazy schemas are handled separately.