public FakeConfirmationWatcher(
     IConfirmationWatcherHandler <object, Watch <object>, object> handler,
     IBlocksStorage blocks) : base(handler, blocks)
 {
     StubbedCreateWatchesAsync  = new Mock <Func <Block, int, CancellationToken, Task <IEnumerable <Watch <object> > > > >();
     StubbedExecuteWatchesAsync = new Mock <Func <IEnumerable <Watch <object> >, Block, int, BlockEventType, CancellationToken, Task <ISet <Watch <object> > > > >();
 }
        protected ConfirmationWatcher(
            IConfirmationWatcherHandler <TContext, TWatch, TConfirm> handler,
            IBlocksStorage blocks) : base(handler)
        {
            if (handler == null)
            {
                throw new ArgumentNullException(nameof(handler));
            }

            if (blocks == null)
            {
                throw new ArgumentNullException(nameof(blocks));
            }

            this.handler = handler;
            this.blocks  = blocks;
        }