The Model MBean spec explicitly calls out a set of features that are optional, e.g. persistence, notification logging, attribute caching. The behaviour when a feature is not present is simply to do nothing. This makes it difficult for a program to use these features. It must somehow arrange to observe that the feature is present, e.g. by asking for notification logging, then sending a notification to see whether it is logged. That's very inconvenient.
This behaviour also means that it is impossible to test these features in a test suite, since it is impossible to distinguish between the feature being unsupported and the feature just not working.
There should be a way to ask the implementation whether it supports a given feature. Or, the optional features should be made mandatory in the next version.