See RefactoringPatterns.