@PublicSpi can expect
that programs compiled against a given version will remain binary compatible with later versions of the
@PublicSpi as per each product's API policy (clients should refer to each product's API policy for
the exact guarantee -- usually binary compatibility is guaranteed at least across minor versions).
@PublicSpiinterfaces and classes are specifically designed to be implemented/extended by clients. Hence, the guarantee of binary compatibility is different to that of
@PublicApielements (if an element is both
@PublicSpi, both guarantees apply).
This visitor allows to match