There is an instance of God Class (Large Class) in “SearchAndReplace”
class. The class is large and has several components (methods). This
class has two responsibilities: Searching and Replacing content. Hence,
there is low cohesion between those distinct functionalities. Therefore,
there is no abstraction for the role of the class since it contains
different functionalities. There are methods in the “SearchAndReplace”
class, that can be extracted to make the class smaller, manageable and
also to increase cohesion .
In order to improve the cohesion of the methods in “SearchAndReplace”
class and to narrow the class objectives to perform a particular task
(i.e. Search or Replace), we will extract all related replace
functionalities from ‘SearchAndReplace” class to a separate class
“Replace”, which is specialized for replacing content using extract
class refactoring.

These refactorings are exactly performed according to published jEdit
Milestone #3, 2.1.1 God Class