It is incorrect to override a public method from an inherited class with a private implementation, unless the type is sealed ...

It is incorrect to override a public method from an inherited class with a private implementation, unless the type is sealed or the method is marked final. It is considered bad form to hide a method signature halfway down an inheritance tree.