docs: public synchronized void start(List<Long> weights) throws InterruptedException {
          for (int i = 0; i < weights.size(); i++) {
              this.weights.add(weights.get(i));
          }
  
          int number = latch.decrementAndGet();
          if (number == 0) {
              Long initWeight = this.weights.peek();
              if (initWeight != null) {
                  barrier.single(initWeight);
              }
          }
      }