code: public void write(StructuralProperty property) throws XMLStreamException {
  
          LOG.debug("Writing property {} of type {}", property.getName(), property.getTypeName());
  
          if (property instanceof NavigationProperty) {
              NavigationProperty navProperty = (NavigationProperty) property;
              xmlWriter.writeStartElement(NAVIGATION_PROPERTY);
              writeCommonPropertyAttributes(property);
              if (!isNullOrEmpty(navProperty.getPartnerName())) {
                  xmlWriter.writeAttribute(PARTNER, navProperty.getPartnerName());
              }
              xmlWriter.writeEndElement();
          } else {
              xmlWriter.writeStartElement(PROPERTY);
              writeCommonPropertyAttributes(property);
              xmlWriter.writeEndElement();
          }
      }
docs: Write either a {@code <Property>} or {@code <NavigationProperty>} element
  for the given {@code StructuralProperty}.
  
  @param property The given structural property. It can not be {@code null}.
  @throws javax.xml.stream.XMLStreamException If unable to write to stream