Text this: Component types qualification in Java legacy code driven by communication integrity rules