docs: @Override protected void init() throws IllegalArgumentException {
      super.init();
      /* Check input parameters */
      float sum = 0;
      long nrows = source.numRows();
      if (nrows <= ratios.length) throw new IllegalArgumentException("Dataset does not have enough row to be split!");
      for (int i=0; i<ratios.length; i++) {
        if (!(ratios[i] > 0 && ratios[i] < 1)) throw new IllegalArgumentException("Split ration has to be in (0,1) interval!");
        if (ratios[i] * nrows <= 1) throw new IllegalArgumentException("Ratio " + ratios[i] + " produces empty frame since the source frame has only " + nrows + "!");
        sum += ratios[i];
      }
      if (!(sum<1f)) throw new IllegalArgumentException("Sum of split ratios has to be less than 1!");
    }