public void sortArray() {

        this.arrayAccess = 0;
        this.comparisions = 0;

        int arrLength = this.array.length;

        /**
         * Pass the array times it's length.
         */
        for (int i = 0; i < arrLength; i++) {
            /**
             * Pass the array from the "i"th position to the end of the array
             * just before the element 1. Now since we are comparing "j" with
             * "j-1", we don't have to take it till 0 as evident in the below
             * comments.
             */
            for (int j = i; j > 0; j--) {
                /**
                 * If the previous value is greater than the value at the
                 * present index, then shift these two.
                 *
                 * We have to adapt such procedure since arrays are initialized
                 * as a block and if we try to find the appropriate place for
                 * the element and shift the whole of the array then, it would
                 * become a costly process.
                 *
                 * Eventually, this constant swapping replicates the original
                 * behavior and thus maintains "Stability" too.
                 */
                if (isLesser(j, j - 1)) {
                    this.shiftAdjacentValues(j);
                    this.arrayAccess += 2;
                    this.comparisions++;
                } else
                    break;
            }

        }
    }