Calling property isTrigger from child gameobject crash Unity on play

If you try to access a collider from your child gameobject and use isTrigger property Unity crash on playmode (infinite loading scene).

        Collider[] collidersObj = gameObject.GetComponentsInChildren<Collider>();
        if (collidersObj == null || collidersObj.Length == 0) { return gameObjectcollider; }
        for (int index = 0; index < collidersObj.Length; index++)
        {
           
            Collider returnCollider = collidersObj[index];

            if (returnCollider != null && !returnCollider.isTrigger)
            {
                // If some child have a colliders not on trigger mode
                return returnCollider;
            }
        }

I think the problem is on “gameObject.GetComponentsInChildren();” use because it can return a characterController and it misses the property “isTrigger”, making unity crash.

        Collider[] collidersObj = gameObject.GetComponentsInChildren<Collider>();
        if (collidersObj == null || collidersObj.Length == 0) { return gameObjectcollider; }
        for (int index = 0; index < collidersObj.Length; index++)
        {
           
            Collider returnCollider = collidersObj[index];

            if (returnCollider != null && !ColliderHelper.isTrigger(returnCollider))
            {
                // If some child have a colliders not on trigger mode
                return returnCollider;
            }
        }

public class ColliderHelper
{ 
    public static bool isTrigger(Collider colliderObject)
    {
        if (colliderObject == null)
        {
            throw new ArgumentException("colliderObject is null");
        }
        if (colliderObject.GetType() == typeof(SphereCollider))
        {
            return ((SphereCollider)colliderObject).isTrigger;
        }
        else if (colliderObject.GetType() == typeof(BoxCollider))
        {
            return ((BoxCollider)colliderObject).isTrigger;
        }
        else if (colliderObject.GetType() == typeof(CapsuleCollider))
        {
            return ((CapsuleCollider)colliderObject).isTrigger;
        }
        else if (colliderObject.GetType() == typeof(CharacterController))
        {
            return false; 
        }
        
        throw new ArgumentException("collider type is does not exist, name:"+ colliderObject.name);
    }
    
}