public void Execute(CancellationToken token)
        {
            if (!_chunk.HasPhysicsTarget)
            {
                var chunkTarget = PoolManager
                                  .GetMonoBehaviourPool(ConfigManager
                                                        .UnityProperties
                                                        .ChunkPhysicsTarget).Pop();
                chunkTarget.transform.localPosition =
                    (Vector3)_chunk.Offset *
                    ConfigManager.Properties.BlockWorldScale;
                _chunk.AttachPhysicsTarget(chunkTarget);
            }
            if (_chunk.MeshCollider?.sharedMesh != null)
            {
                PoolManager.GetObjectPool <Mesh>()
                .Push(_chunk.MeshCollider.sharedMesh);
                _chunk.MeshCollider.sharedMesh = null;
            }
            var mesh = PoolManager.GetObjectPool <Mesh>().Pop();

            _chunk.PhysicsMeshData.UpdateMesh(mesh);
            if (_chunk.MeshCollider != null)
            {
                _chunk.MeshCollider.sharedMesh = mesh;
            }
        }