MData provides a way to handle data that are of type any. This type is encapsulated by MPrimitiveClassDescription::any. An attribute of type any can be set to any value. When the actual call to set that attribute is made, the caller needs to instantiate a concrete subclass of MData to be passed as a value for that attribute.
See also "Adapter Creates Runtime Data" in TIBCO Adapter SDK Programmer's Guide.