code: @SuppressWarnings("unchecked")
      public <T extends IEvaluation> T doEvaluation(JavaRDD<DataSet> data, T emptyEvaluation, int evalBatchSize) {
          IEvaluation[] arr = new IEvaluation[] {emptyEvaluation};
          return (T) doEvaluation(data, evalBatchSize, arr)[0];
      }
docs: Perform distributed evaluation of any type of {@link IEvaluation}. For example, {@link Evaluation}, {@link RegressionEvaluation},
  {@link ROC}, {@link ROCMultiClass} etc.
  
  @param data            Data to evaluate on
  @param emptyEvaluation Empty evaluation instance. This is the starting point (serialized/duplicated, then merged)
  @param evalBatchSize   Evaluation batch size
  @param <T>             Type of evaluation instance to return
  @return                IEvaluation instance