One of most demanding tasks for any programmer, architect is understanding other\'s code.
For example, I am contractor, hired to rescue some project very quickly. F
I use Enterprise Architect for whole UML (including reverse engineering with Java) and it works perfectly.