private Pile(IEnumerable <T> items, bool skipLogicInit) { if (items is null) { ThrowHelper.ThrowArgNull(nameof(items)); } if (!skipLogicInit) { _logic = new PileLogic <T>(); _logic.AddSequence(items); Adder = _logic.AddHead; } }