Best practice for button and workflow decorators

Say I develop a module that inherits method that has the button and/or workflow.transition decorators.

Should the inheriting method also add those decorators?

I’ve always added them and I could find examples in core modules that add the decorators (I think they’re added in most cases):

But also examples that don’t:


It just depend if you need or not the filtering of workflow or the access check of button.

But that is always “needed” and both are going to be checked when calling super(), isn’t it?

It is not always needed as for the two examples you give.
The check on super may not be enough.