Text this: Object-oriented reengineering patterns / Serge Demeyer, Stéphane Ducasse, Oscar Nierstrasz.