@Override
    public void sortArray() {
        this.arrayAccess = 0;
        this.comparisions = 0;

        T[] auxArray = array.clone();

        for (T item : array) {
            count[keyMap.get(item) + 1]++;
        }

        for (int i = 0; i < radix; i++) {
            count[i + 1] += count[i];
        }

        for (T item : array) {
            auxArray[count[keyMap.get(item)]++] = item;
        }

        array = auxArray;
    }