These implementations are only intended for IDE providers use. Extension writers should never cast down to access the classes defined here.