Como obter objetos aleatórios de um fluxo

Vamos dizer que eu tenho uma lista de palavras e quero criar um método que tome o tamanho da nova lista como parâmetro e retorne a nova lista. Como posso obter palavras aleatórias da minha sourceList original?

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

   return wordList;
}

Então, como e onde posso usar o meu Random?

questionAnswers(6)

yourAnswerToTheQuestion