code: public static <ElementT> void shuffleHead(@NonNull ElementT[] elements, int n) {
      shuffleHead(elements, n, ThreadLocalRandom.current());
    }
docs: Shuffles the first n elements of the array in-place.
  
  @param elements the array to shuffle.
  @param n the number of elements to shuffle; must be {@code <= elements.length}.
  @see <a
  href="https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle#The_modern_algorithm">Modern
  Fisher-Yates shuffle</a>