public void DropPreviewObjects(IPlaceSceneObjects placer)
                {
                    var count                 = m_GrabData.Count;
                    var transforms            = new Transform[count];
                    var targetPositionOffsets = new Vector3[count];
                    var targetRotations       = new Quaternion[count];
                    var targetScales          = new Vector3[count];

                    for (var i = 0; i < count; i++)
                    {
                        var grabData = m_GrabData[i];
                        transforms[i]            = grabData.transform;
                        targetPositionOffsets[i] = grabData.centerPositionOffset;
                        targetRotations[i]       = grabData.originalRotation;
                        targetScales[i]          = grabData.originalScale;
                    }

                    if (hasPreview)
                    {
                        placer.PlaceSceneObjects(transforms, targetPositionOffsets, targetRotations, targetScales);
                    }

                    m_GrabData.Clear();
                    hasPreview = false;
                }