code: private void evaluateDeferredAfterMaskUpdate() {
      final Iterator<DeferredAction<M>> it = this.deferred.iterator();
  
      while (it.hasNext()) {
        final DeferredAction<M> d = it.next();
  
        /* is the current action still masked? */
        if (masks.stream().anyMatch(p -> p.test(d.metadata))) {
          continue;
        }
  
        it.remove();
        d.runnable.run();
      }
    }
docs: Evaluate the list of deferred action after the list of masks has been updated.
  <p>
  <p>Must be invoked under {@link #maskLock}