code: @Override
      public void exec(List<Aggregate> batch) {
          if (batch.size() == 0)
              return;
  
          List<Batch<Aggregate>> batches = Batch.getBatches(batch);
          for (Batch<Aggregate> single : batches) {
              this.exec(single);
          }
      }
docs: This method takes arbitrary
  sized list of {@link Aggregate},
  and packs them into batches
  Note here that this is mainly used for random number generation
  for {@link RandomOp} and things like {@link org.nd4j.linalg.api.rng.distribution.Distribution}
  @param batch the list of {@link Aggregate} to
  execute upon