The CollisionInfo:: _data, and _flags are general purpose data members.  What is stored therein depends on the _type.  This allows us to collect different collision details for different types of collisions without spawning various derivations of CollisionInfo class.