protected override void OnDropZoneActivated(Overlay draggedOverlay)
        {
            base.OnDropZoneActivated(draggedOverlay);

            //Disable if the drop zone is linked to the overlay being dragged currently
            if (m_Placement == Placement.Start && m_Container.GetLastVisible(OverlayContainerSection.BeforeSpacer) == draggedOverlay ||
                m_Placement == Placement.End && m_Container.GetLastVisible(OverlayContainerSection.AfterSpacer) == draggedOverlay)
            {
                SetVisualMode(VisualMode.Disabled);
                return;
            }

            if (m_Container is FloatingOverlayContainer)
            {
                SetVisualMode(VisualMode.Disabled);
            }
            else
            {
                if (m_Container is ToolbarOverlayContainer && !m_Container.HasVisibleOverlays())
                {
                    SetVisualMode(VisualMode.Disabled);
                }
                else if (!m_Container.isSpacerVisible)
                {
                    SetVisualMode(VisualMode.Insert);
                }
                else
                {
                    switch (m_Placement)
                    {
                    case Placement.Start:
                        SetVisualMode(VisualMode.AddToStart);
                        break;

                    case Placement.End:
                        SetVisualMode(VisualMode.AddToEnd);
                        break;

                    default:
                        SetVisualMode(VisualMode.Disabled);
                        break;
                    }
                }
            }
        }
        protected override void OnDropZoneActivated(Overlay draggedOverlay)
        {
            base.OnDropZoneActivated(draggedOverlay);

            SetVisualMode(m_OverlayContainer.HasVisibleOverlays() ? VisualMode.Disabled : VisualMode.Custom);
        }