I'm practicing HashSet from Java book by Cay S. Horstmann and Gary Cornell and I think there's a mistake in example code on page 687. We have a `Scanner` importing words to `HashSet` and it looks like this (I removed some unneeded code to make a problem more visible):

```
Set<String> words = new HashSet<String>();
Scanner in = new Scanner(System.in);
while (in.hasNext()) {
    String word = in.next();
    words.add(word);
}

```

The problem is there's no way stop this loop. Or maybe there's something I'm missing? 

To stop the loop I've added another static helper method:

```
public static boolean isStop(Scanner in) {
    if (in.next().equals("stop")) {
        return true;
    }
    return false;
}

```

And now the main code looks like this:

```
Set<String> words = new HashSet<String>();
Scanner in = new Scanner(System.in);
while (!isStop(in)) {
    String word = in.next();
    words.add(word);
}

```

Is there any other way to stop scanner loop? I can't believe that book's author has made a mistake ?