const state = this.CurrentState;
    const array = state.array;

    const length = array.length;

    for (let i = 0; i < length - 1; i++) {
      this.addStep(b => b 
        .set("sortedIndex", length - i)
        .set("swapped", false));

      let swapped = false;

      for (let j = 0; j < length - i - 1; j++) {
        this.addStep(b => b.set("scanningIndex", j));

        if (array[j]! > array[j + 1]!) {
          this.addStep(b => b
            .arraySwap("array", j, j + 1)
            .arraySwap("idArray", j, j + 1)
            .set("swapped", true));
          swapped = true;
        }
      }

      if (!swapped) break;
    }