/**
  * INTERNAL: When using the SAX Platform, this method is responsible for marshalling null values
  * for the XML Composite Object Mapping.
  *
  * @param xPathFragment
  * @param marshalRecord
  * @param object
  * @param session
  * @param namespaceResolver
  * @return true if this method caused any nodes to be marshaled, else false.
  */
 public boolean compositeObjectMarshal(
     XPathFragment xPathFragment,
     MarshalRecord marshalRecord, //
     Object object,
     CoreSession session,
     NamespaceResolver namespaceResolver) {
   if (marshalNullRepresentation == XMLNullRepresentationType.ABSENT_NODE) {
     return false;
   }
   // Nillable
   else if (marshalNullRepresentation == XMLNullRepresentationType.XSI_NIL) {
     marshalRecord.nilComplex(xPathFragment, namespaceResolver);
     return true;
   } else if (marshalNullRepresentation == XMLNullRepresentationType.EMPTY_NODE) {
     // Optional and Required
     // This call is really only valid when using DOM - TBD false
     // Write out empty element - we need to differentiate between
     // object=null and object=new Object() with null fields and 0-numeric primitive values
     // EMPTY_NODE - Write out empty element - Required
     marshalRecord.emptyComplex(xPathFragment, namespaceResolver);
     return true;
   }
   return false;
 }