docs: public void addItems(Iterable<T> items) {
          synchronized (this) {
              for (T i : items) {
                  this.items.add(i);
              }
              semaphore.release();
          }
      }