public IEnumerator CRInit()
            {
                this.lastYieldTime = System.DateTime.UtcNow;

                foreach (Poolable poolable in this.poolableTypes)
                {
                    GameObject newPoolerGO = new GameObject();
                    newPoolerGO.SetLayerRecursively(PoolManager.I.gameObject.layer);
                    newPoolerGO.name                    = poolable.prefab.name;
                    newPoolerGO.transform.parent        = this.transform;
                    newPoolerGO.transform.localPosition = Vector3.zero;

                    Pooler pooler = newPoolerGO.AddComponent <Pooler>();
                    yield return(StartCoroutine(pooler.InitializeWithYield(poolable)));

                    this.keyToPooler[poolable.key]       = pooler;
                    this.prefabToPooler[poolable.prefab] = pooler;
                }
                this.Finished = true;
            }