void IWorldOwner.OnEndEntitiesInjectionFromGameObjectConversion()
        {
            _ongoingInjections--;

            if (_ongoingInjections == 0)
            {
                var changeDetectionBegin = SimulationWorld.GetExistingSystem <ChangeDetectionSystemBegin>();
                if (changeDetectionBegin != null)
                {
                    changeDetectionBegin.ResetSample();
                }
            }
        }
        void IWorldOwner.OnBeginEntitiesInjectionFromGameObjectConversion(List <Scene> comingFromScenes)
        {
            foreach (var scene in comingFromScenes)
            {
                if (!_incomingEntityInjections.Contains(scene.name))
                {
                    Log.Error($"Unexpected entities coming from {scene.name} are being injected into the simulation. " +
                              $"This should not happen");
                }
            }

            if (_ongoingInjections == 0)
            {
                var changeDetectionEnd = SimulationWorld.GetExistingSystem <ChangeDetectionSystemEnd>();
                if (changeDetectionEnd != null)
                {
                    changeDetectionEnd.ForceEndSample();
                }
            }
            _ongoingInjections++;
        }