Wie man zufällige Objekte aus einem Stream erhält

Nehmen wir an, ich habe eine Liste von Wörtern und möchte eine Methode erstellen, die die Größe der neuen Liste als Parameter verwendet und die neue Liste zurückgibt. Wie kann ich zufällige Wörter aus meiner ursprünglichen Quellenliste erhalten?

public List<String> createList(int listSize) {
   Random rand = new Random();
   List<String> wordList = sourceWords.
      stream().
      limit(listSize).
      collect(Collectors.toList()); 

   return wordList;
}

So wie und wo kann ich mein Random benutzen?