Protected methods that are never used by any of the classes in the same project are suspected to be dead code. Dead code is unnecessary, inoperative code that should be removed. Removing dead code makes maintenance easier by decreasing the size of the maintained code base, thereby making it easier to understand the program and preventing the introduction of bugs.


Unused protected methods are not considered dead code in the following cases:


* Protected methods which override a parent class method.
* Protected methods of an abstract class.

