public virtual void UnregisterMenuItemHolder(HCMenuItemHolderController menuItemHolder)
        {
            if (menuItemHolder == null)
            {
                throw new UnityException("Couldn't unregister 'null'");
            }
            if (!menuItemHolders.Contains(menuItemHolder))
            {
                throw new UnityException("Couldn't unregister an item which hasn't been registered before");
            }

            menuItemHolders.Remove(menuItemHolder);
            // FIX IT: We need to update the first and the last item rotations here
        }
        public virtual void RegisterNewMenuItemHolder(HCMenuItemHolderController menuItemHolder,
                                                      out float ceiling, out float floor)
        {
            if (!enabled)
            {
                throw new UnityException("You cannot call this method on a disabled HorizontalCylinderScrollArea component");
            }
            if (menuItemHolder == null)
            {
                throw new UnityException("Couldn't register 'null'");
            }
            if (menuItemHolders.Contains(menuItemHolder))
            {
                throw new UnityException("Re-registration is forbidden");
            }

            ceiling = this.ceiling;
            floor   = this.floor;

            UpdateFirstAndLastItemRotations(menuItemHolder.transform.localRotation);
            menuItemHolders.Add(menuItemHolder);
        }