code: @Override protected void init() {
      super.init();
  
      assert 0 <= ntrees && ntrees < 1000000; // Sanity check
      // Not enough rows to run
      if (source.numRows() - response.naCnt() <=0)
        throw new IllegalArgumentException("Dataset contains too many NAs!");
  
      if( !classification && (!(response.isEnum() || response.isInt())))
        throw new IllegalArgumentException("Classification cannot be performed on a float column!");
  
      if(classification) {
        if (0.0f > sample_rate || sample_rate > 1.0f)
          throw new IllegalArgumentException("Sampling rate must be in [0,1] but found " + sample_rate);
      }
  
      if(regression) throw new IllegalArgumentException("SpeeDRF does not currently support regression.");
    }
docs: Put here all precondition verification