One of the changes specified for JMX 1.2 was that the MLet.check
method should be made protected so it could be overridden in
subclasses of MLet. This is bug 4619509, also 4716826 ("Implement
VERSION tag in MLet"). A necessary part of this fix was that
the MLetContent class needed to be made public.
The consequence of this bug is that the JMX API is inconsistent, in
that a publicly-visible method references a non-visible class. Though
the documentation says you can override this method, in practice you
can't. The change is rendered useless by this problem. Also, the
specification is inconsistent with the Change Log for the 1.2 MR,
which says the class is public.
This also leaves us in an awkward position as regards independent
implementors, who will be obliged to add an unspecified MLetContent
class to their implementations in order to be signature compatible.