code: private void marshallStructured(final Object object, StructuredType structuredType)
              throws ODataRenderException, XMLStreamException {
  
          LOG.trace("Start structured value of type: {}", structuredType);
  
          if (object != null) {
              visitProperties(entityDataModel, structuredType, property -> {
                  try {
                      if (!(property instanceof NavigationProperty)) {
                          marshallStructuralProperty(object, property);
                      }
                  } catch (XMLStreamException e) {
                      throw new ODataRenderException("Error while writing property: " + property.getName(), e);
                  }
              });
          } else {
              LOG.trace("Structured value is null");
          }
  
          LOG.trace("End structured value of type: {}", structuredType);
      }
docs: Marshall an object that is of an OData structured type (entity type or complex type).
  
  @param object         The object to marshall. Can be {@code null}.
  @param structuredType The structured type.
  @throws ODataRenderException If an error occurs while rendering.
  @throws XMLStreamException        If an error occurs while rendering.