private <T> void exchangeWithLast(T[] array, final int index) {
        if (currentSize > 1) {
            // Bubble
            T kt = array[index];
            array[index] = array[currentSize - 1];
            array[currentSize - 1] = kt;
        }
        checkEnoughCapacity(0);
    }