void LateUpdate()
{
while(pendingSlices.Count > 0)
{
PendingSlice pendingSlice = pendingSlices.Dequeue();
var targetGameObject = (pendingSlice.target as MonoBehaviour).gameObject;
if(suppressUntilContactCeases.Contains(targetGameObject) == false) {
GameObject[] result = pendingSlice.target.Slice(pendingSlice.point, normalInWorldSpace);
if(result.Length > 1)
{
suppressUntilContactCeases.AddRange(result);
}
}
}
}