One of our KdG students pointed us to the SequenceDiagram plugin for the IntelliJ IDE. The plugin reverse engineers a method into a UML sequence diagram. You click on a method and get a graphical view of its inner workings and interaction with other objects.
It also has a nice solution for representing lambda's, something the UML standard does not have specific support for.
That's not all
- from each method in the sequence diagram you can navigate back to your code.
- the method numbers (which are more useful in a commuication diagrams) can be turned off in the preferences
- exports to plantUML
The author is very responsive to issues submitted. I asked to make the return arrows optional and lo! in the the latest release there is an option to do so.
Only remark I have is that control flow frames (loop, alt) are not supported and everything is shown as one big, well, sequence. There is an issue related to this that is marked solved, but no milestone associated.
But this is a nice effort, and way better respecting UML conventions than IntelliJ's own class diagram generator.