@Override
	public T[] next() throws NoSuchElementException {
		int[] permutatedIndexes = indexPermutator.next();
		int j = 0;
		for (int i = 0; i < outputElements.length; ++i) {
			outputElements[i] = elements[permutatedIndexes[j++]];
		}
		return outputElements;
	}