private void OnTriggerExit2D(Collider2D collision)
    {
        if (ColliderUtils.HasBallCollided(collision))
        {
            GameObject     ballGameObject      = collision.gameObject;
            BallController ballControlerScript = BallUtils.FetchBallControllerScript(ballGameObject);

            if (ballControlerScript.IsMoving && ballControlerScript.IsHit && !ballControlerScript.IsPitched)
            {
                GameObject player = this.gameObject.transform.parent.parent.parent.gameObject;
                if (PlayerUtils.HasPitcherPosition(player))
                {
                    ballControlerScript.IsTargetedByPitcher = false;
                    PitcherBehaviour pitcherBehaviour = PlayerUtils.FetchPitcherBehaviourScript(player);
                    pitcherBehaviour.Target         = FieldUtils.GetTileCenterPositionInGameWorld(FieldUtils.GetPitcherBaseTilePosition());
                    pitcherBehaviour.HasSpottedBall = false;
                }
            }
        }
    }