Ensuring nullity of some contents of `CatalogObject` instances


I wanted to confirm my understanding of the CatalogObject entity and, in particular, the Java SDK.

If object is a CatalogObject with type "ITEM", then object.getItemData() should return a pointer to the actual CatalogItem object encapsulated by object.

But, am I guaranteed that, e.g, getItemVariationData() or getCategoryData() will both return null references?

And, vice versa, if object instead had type "ITEM_VARIATION", would, say, object.getItemData(), object.getCategoryData() etc would all return null?

Thank you.

// Edit: As a side note, the way in which the Entities are structured is another example of how much inheritance is hated in the industry. It took me some time to understand that CatalogItems are not CatalogObjects, and instead are encapsulated by CatalogObjects and their type controlled by a String identifier and pointers to possible instances. Interesting stuff to think about.