How does CakePHP know not to run initialize() on any given controller?

Hi everyone

Just curious, how does CakePHP understand that public function initialize() {} is not to be executed on a controller? Just tried to visit /example/initialize and got Missing Method in ExampleController. Is there a list of reserved method names somewhere in the core?

Found it!

https://api.cakephp.org/5.0/class-Cake.Controller.Controller.html#isAction()

The default implementation disallows access to all methods defined on Cake\Controller\Controller and allows all public methods on all subclasses of this class.