nextToken() returns a string - so doesn't need recasting.
the overloaded '+' string operator creates another intermediate
StringBuffer object.
not really an issue for a beginner, but more efficient not to use it too
much.
but I did mean to type:
buf.append(tok.nextToken()).append("<BR>");