I would've spared a couple of days wondering why my plugin didn't display a new server definition in the Add Server wizard if the OptionalDeploymentManagerFactory.getAddInstanceIterator() method had not returned null (and I had known I should've override it).
That would be incompatible API change.
I don't mean to play "do this vs I won't because I said so" game, but would you consider a change that would eventually helped pinpoint such an issue that a user is stuck with debugging trying to figure out what methods are responsible for a given task, i.e. the aforementioned method for showing a new server entry in the Add Server panel. WDYT? Close it if you think it's not doable.
It is enhancement. Feel free to attach patch that will preserve API compatibility.
What about throwing a RuntimeException as a default implementation with a meaningful message why it's important to override it?
You still suppose that it is mandatory to implement this method. The plugin is not required to provide the wizard (such as different embedded runtimes etc.). You would immediately break such plugins with your change.