code: public Vector shuffle() {
          Vector result = copy();
  
          // Conduct Fisher-Yates shuffle
          Random random = new Random();
  
          for (int i = 0; i < length; i++) {
              int j = random.nextInt(length - i) + i;
              swapElements(i, j);
          }
  
          return result;
      }
docs: Shuffles this vector.
  
  <p>
  Copies this vector in the new vector that contains the same elements but with
  the elements shuffled around (which might also result in the same vector
  (all outcomes are equally probable)).
  </p>
  
  @return the shuffled vector