public BoundingBoxViewerGameObject(IGameObject gameObject)
        {
            Debug.Assert(gameObject.getBoundingBoxGeometry() != null, "expected gameObject.getBoundingBoxGeometry() != null");

            base._xPosition = gameObject.getBoundingBoxGeometry().Bounds.X - gameObject.getXPosition();
            base._yPosition = gameObject.getBoundingBoxGeometry().Bounds.Y - gameObject.getYPosition();
            base._gameObjectTag = Tags.DEBUG_TAG;

            Brush boundingBoxBrush = gameObject.isCollidable() ? Brushes.Red : Brushes.Yellow;
            GeometryDrawing geometryDrawing = new GeometryDrawing(null, new Pen(boundingBoxBrush, 1.0), gameObject.getBoundingBoxGeometry());
            DrawingImage boundingBoxDrawingImage = new DrawingImage(geometryDrawing);

            Image boundingBoxImage = new Image();
            boundingBoxImage.Source = boundingBoxDrawingImage;

            base._image = boundingBoxImage;

            this.gameObject = gameObject;
            this.previousCollidableState = gameObject.isCollidable();
        }