private JobHandle ScheduleMembershipDebugJob(JobHandle inputDeps)
        {
            var handle = inputDeps;
            var length = _membershipDebugGroup.CalculateLength();

            if (length > 0)
            {
                handle = new MembershipDebugJob
                {
                    EntityArray   = _membershipDebugGroup.GetEntityArray(),
                    PhysicsObject = _membershipDebugGroup.GetSharedComponentDataArray <PhysicsObject>()[0]
                }.Schedule(length, 64, inputDeps);
            }
            return(handle);
        }
        private JobHandle ScheduleMembershipDebugJob(JobHandle inputDeps, List <PhysicsObject> uniquePhysicsObjects, ForEachComponentGroupFilter physicsObjectFilter)
        {
            var handles = new NativeArray <JobHandle>(physicsObjectFilter.Length, Allocator.Temp);

            for (int i = 0; i < physicsObjectFilter.Length; i++)
            {
                var entityArray = _membershipDebugGroup.GetEntityArray(physicsObjectFilter, i);
                handles[i] = new MembershipDebugJob
                {
                    EntityArray   = entityArray,
                    PhysicsObject = uniquePhysicsObjects[i]
                }.Schedule(entityArray.Length, 64, inputDeps);
            }
            var combinedHandle = JobHandle.CombineDependencies(handles);

            handles.Dispose();
            return(combinedHandle);
        }