code: public <T extends IEvaluation> Map<Integer, T[]> evaluate(MultiDataSetIterator iterator, Map<Integer,T[]> evaluations){
          try{
              return doEvaluationHelper(iterator, evaluations);
          } catch (OutOfMemoryError e){
              CrashReportingUtil.writeMemoryCrashDump(this, e);
              throw e;
          }
      }
docs: Perform evaluation for networks with multiple outputs.
  
  @param iterator    Data to evaluate
  @param evaluations Evaluation instances. Key: the network output number (0 to numOutputs-1). Value: the IEvaluation
  instances to perform evaluation with, for that output only. Note that not every output needs to
  have an IEvaluation[] defined.
  @return The same evaluation map, after performing evaluation