My code works for the task example. I would have expected it to fail: All words passed to the getLine method must be included in the resulting string, if possible. as if there is a word that doesn't fit in with the word chain, I would have an infinite loop. I especially don't understand why it's failing: The getLine method must return an empty string (an empty StringBuilder) if it is not passed arguments (words)