Experiences with the development of a reverse engineering tool for UML sequence diagrams: a case study in modern Java developmen