Qual é a complexidade deste simples pedaço de código?

Estou colando este texto de um ebook que tenho. Diz a complexidade se O (n2) e também fornece uma explicação para isso, mas não vejo com

Pergunta: Qual é o tempo de execução desse código?

public String makeSentence(String[] words) {
    StringBuffer sentence = new StringBuffer();
    for (String w : words) sentence.append(w);
    return sentence.toString();
}

A resposta que o livro deu:

E2), onde n é o número de letras na frase. Aqui está o porquê: sempre que você anexa uma string a uma frase, você cria uma cópia da frase e percorre todas as letras da frase para copiá-las. Se você precisar percorrer até n caracteres cada vez no loop, e você repetindo pelo menos n vezes, isso fornece um O (n2) tempo de execução. Ai!

lguém pode explicar esta resposta mais clarament

questionAnswers(10)

yourAnswerToTheQuestion