/// <inheritdoc /> protected WrappingPile(IEnumerable <T> items) : base(skipLogicInit: true) { if (items is null) { ThrowHelper.ThrowArgNull(nameof(items)); } //_unwrapper = unwrapper ?? _defunwrapper; Adder = i => _logic.AddHead(Wrap(i)); _logic.AddSequence(items .Where(i => i != null) .Distinct(ReferenceComparer <T> .Instance) .Select(Wrap)); }