The OmittedWhenNullMarker is a special kind of runtime exception that can be declared in the throws clause of a getter method to indicate to the marshalling code that the property represented by the getter is not to be persisted at all if the property value is null. Java's ability to annotate methods with metadata at compile-time is very limited. BeanInfo classes tend to be cumbersome and the information in the BeanInfo class can often be overlooked since the BeanInfo code is usually in a separate file and sometimes even in a separate package. By using a "marker exception" in the throws clause of the getter, the fact that the getter represents a transient property is readily apparent, especially once the purpose OmittedWhenNullMarker is understood.