An event that signals that two rigid bodies have started colliding in the game.
Inheritance: PhysicsEvent
        private void EventsOnBodiesBeginCollide(RigidBody body1, RigidBody body2)
        {
            if (body1.Tag != null && body2.Tag != null)
            {
                var node1 = _hierarchy.Lookup(body1.Tag);
                var node2 = _hierarchy.Lookup(body2.Tag);

                if (node1 == null)
                {
                    _consoleHandle.LogWarning("Unable to find hierarchy node for physics rigid body: " + body1.Tag);
                }

                if (node2 == null)
                {
                    _consoleHandle.LogWarning("Unable to find hierarchy node for physics rigid body: " + body2.Tag);
                }

                if (node1 != null && node2 != null)
                {
                    // TODO: This is pretty silly.  It should just be the nodes, not their parents.
                    var parent1 = node1.Parent ?? node1;
                    var parent2 = node2.Parent ?? node2;

                    var owner1 = parent1.UntypedValue;
                    var owner2 = parent2.UntypedValue;

                    var @event = new PhysicsCollisionBeginEvent(_gameContext, _serverContext, _updateContext, body1,
                                                                body2, owner1, owner2);

                    _physicsEventEngine.Fire(_physicsEventContext, @event);
                }
            }
        }