My opinion is that only classes that are
strictly involved in the flows of messages are to be included in the diagram; sometimes you can leave out some of them (perhaps you call a method getCurrentUser() on an instance of a class, and you don't show in the diagram that the method is calling, say, two Entity beans to fullfill the request, but you show just that method returning the user).
This is the eternal fight between precision (show every detail) and concision (show only what's relevant). Your goal should be to communicate an idea: if your sequence diagram is showing how the system get the shopping cart of the user, you may stick to that, and assume that the reader (watcher?) of the diagram it's not interested in how you get the current user.
[Perhaps there will be another diagram that shows exacly that, named "Get Current User" ...]
Unnecessary details just clutter the diagram, and confuse the reader.
In my very humble opinion, it's much, much more difficult to produce a concise design than a "verbose" one. It takes dedication and careful thinking, but it really pays afterwards. I think that the Great Evaluators of the
SCEA Part II know that quite well, and appreciate; I hope that I'm not just dreaming ...
Alberto