code: @Override
      protected List<BenchmarkElement> arrangeList(final List<BenchmarkElement> elements) {
          final Map<BenchmarkMethod, ArrayList<BenchmarkElement>> table = new Hashtable<BenchmarkMethod, ArrayList<BenchmarkElement>>();
          final List<BenchmarkElement> returnVal = new ArrayList<BenchmarkElement>();
  
          // Having a table
          for (final BenchmarkElement elem : elements) {
              if (!table.containsKey(elem.getMeth())) {
                  table.put(elem.getMeth(), new ArrayList<BenchmarkElement>());
              }
              table.get(elem.getMeth()).add(elem);
          }
  
          // Computing complete number of elements
          int numberOfElements = 0;
          for (final BenchmarkMethod meth : table.keySet()) {
              numberOfElements = numberOfElements + table.get(meth).size();
          }
  
          // Defining order to execute, start with the one with the most elements
          final Set<Entry<BenchmarkMethod, ArrayList<BenchmarkElement>>> compareMethods = new TreeSet<Entry<BenchmarkMethod, ArrayList<BenchmarkElement>>>(new BenchmarkElementComparator());
          for (final Entry<BenchmarkMethod, ArrayList<BenchmarkElement>> entry : table.entrySet()) {
              compareMethods.add(entry);
          }
  
          final ArrayList<BenchmarkMethod> methods = new ArrayList<BenchmarkMethod>();
          for (Entry<BenchmarkMethod, ArrayList<BenchmarkElement>> entry : compareMethods) {
              methods.add(entry.getKey());
          }
  
          for (int i = 0; i < numberOfElements; i++) {
              BenchmarkElement elem = null;
              int indexPart = 0;
              while (elem == null) {
                  final int index = (i + indexPart) % methods.size();
                  final BenchmarkMethod methodToInclude = methods.get(index);
                  if (table.containsKey(methodToInclude)) {
                      elem = table.get(methodToInclude).remove(0);
                      if (table.get(methodToInclude).size() == 0) {
                          table.remove(methodToInclude);
                      }
                  }
                  indexPart++;
              }
              returnVal.add(elem);
          }
          return returnVal;
      }
docs: {@inheritDoc}