code: public Set<String> header(int runs, boolean includeErrors) {
          Benchmark result = new Benchmark();
  
          Engine dummy = new Engine();
          dummy.addOutputVariable(new OutputVariable());
          result.setEngine(dummy);
  
          Double[] dummyTimes = new Double[runs];
          Arrays.fill(dummyTimes, Double.NaN);
          result.setTimes(Arrays.asList(dummyTimes));
  
          if (includeErrors) {
              double[] dummyArray = new double[1];
              List<double[]> dummyList = new ArrayList<double[]>();
              dummyList.add(dummyArray);
              result.setExpected(dummyList);
              result.setObtained(dummyList);
          }
  
          return result.results().keySet();
      }
docs: Returns the header of a horizontal table of results
  
  @param runs is the number of times the benchmark will be run, hence
  producing the relevant number of columns for each run
  @param includeErrors indicates whether to include columns for computing the
  errors
  @return the header of a horizontal table of results