private protected virtual void PutCore(T item) => _logic.Put(item);
private protected sealed override void PutCore(T item) => _logic.Put(Wrap(item));