protected sealed override void DeepCloneInternal(PoolManager poolManager, ExpirationHint clonedHint)
        {
            if (clonedHint == null)
            {
                return;
            }

            base.DeepCloneInternal(poolManager, clonedHint);

            if (clonedHint is AggregateExpirationHint clonedAggregateExpirationHint)
            {
                if (_hints != null)
                {
                    var clonedHints = new ClusteredList <ExpirationHint>(_hints.Count);

                    foreach (var hint in _hints)
                    {
                        clonedHints.Add(hint.DeepClone(poolManager));
                    }
                    clonedAggregateExpirationHint._hints = clonedHints;
                }
                clonedAggregateExpirationHint._expiringHint = _expiringHint?.DeepClone(poolManager);
            }
        }