code: public WeightedSupplier<T> add(Supplier<? extends T> supplier, int weight) {
          if (weight < 0) {
              return this;
          }
          int low = totalWeight;
          totalWeight += weight;
          SubSupplier<T> ss = new SubSupplier<>(low, totalWeight, supplier);
          subSuppliers.add(ss);
          return this;
      }
docs: Adds a sub-supplier with a given weight.
  
  @param supplier
  the sub-supplier
  @param weight
  the weight
  
  @return {@code this}