public static final void _write(
      final XoXMLStreamWriter writer,
      final ServiceEndpointMethodMapping serviceEndpointMethodMapping,
      RuntimeContext context)
      throws Exception {
    if (serviceEndpointMethodMapping == null) {
      writer.writeXsiNil();
      return;
    }

    if (context == null) {
      context = new RuntimeContext();
    }

    final String prefix = writer.getUniquePrefix("http://java.sun.com/xml/ns/javaee");
    if (ServiceEndpointMethodMapping.class != serviceEndpointMethodMapping.getClass()) {
      context.unexpectedSubclass(
          writer, serviceEndpointMethodMapping, ServiceEndpointMethodMapping.class);
      return;
    }

    context.beforeMarshal(serviceEndpointMethodMapping, LifecycleCallback.NONE);

    // ATTRIBUTE: id
    final String idRaw = serviceEndpointMethodMapping.id;
    if (idRaw != null) {
      String id = null;
      try {
        id = Adapters.collapsedStringAdapterAdapter.marshal(idRaw);
      } catch (final Exception e) {
        context.xmlAdapterError(
            serviceEndpointMethodMapping,
            "id",
            CollapsedStringAdapter.class,
            String.class,
            String.class,
            e);
      }
      writer.writeAttribute("", "", "id", id);
    }

    // ELEMENT: javaMethodName
    final String javaMethodNameRaw = serviceEndpointMethodMapping.javaMethodName;
    String javaMethodName = null;
    try {
      javaMethodName = Adapters.collapsedStringAdapterAdapter.marshal(javaMethodNameRaw);
    } catch (final Exception e) {
      context.xmlAdapterError(
          serviceEndpointMethodMapping,
          "javaMethodName",
          CollapsedStringAdapter.class,
          String.class,
          String.class,
          e);
    }
    if (javaMethodName != null) {
      writer.writeStartElement(prefix, "java-method-name", "http://java.sun.com/xml/ns/javaee");
      writer.writeCharacters(javaMethodName);
      writer.writeEndElement();
    } else {
      context.unexpectedNullValue(serviceEndpointMethodMapping, "javaMethodName");
    }

    // ELEMENT: wsdlOperation
    final String wsdlOperationRaw = serviceEndpointMethodMapping.wsdlOperation;
    String wsdlOperation = null;
    try {
      wsdlOperation = Adapters.collapsedStringAdapterAdapter.marshal(wsdlOperationRaw);
    } catch (final Exception e) {
      context.xmlAdapterError(
          serviceEndpointMethodMapping,
          "wsdlOperation",
          CollapsedStringAdapter.class,
          String.class,
          String.class,
          e);
    }
    if (wsdlOperation != null) {
      writer.writeStartElement(prefix, "wsdl-operation", "http://java.sun.com/xml/ns/javaee");
      writer.writeCharacters(wsdlOperation);
      writer.writeEndElement();
    } else {
      context.unexpectedNullValue(serviceEndpointMethodMapping, "wsdlOperation");
    }

    // ELEMENT: wrappedElement
    final Object wrappedElement = serviceEndpointMethodMapping.wrappedElement;
    if (wrappedElement != null) {
      writer.writeStartElement(prefix, "wrapped-element", "http://java.sun.com/xml/ns/javaee");
      writer.writeDomElement(((Element) wrappedElement), false);
      writer.writeEndElement();
    }

    // ELEMENT: methodParamPartsMapping
    final List<MethodParamPartsMapping> methodParamPartsMapping =
        serviceEndpointMethodMapping.methodParamPartsMapping;
    if (methodParamPartsMapping != null) {
      for (final MethodParamPartsMapping methodParamPartsMappingItem : methodParamPartsMapping) {
        if (methodParamPartsMappingItem != null) {
          writer.writeStartElement(
              prefix, "method-param-parts-mapping", "http://java.sun.com/xml/ns/javaee");
          writeMethodParamPartsMapping(writer, methodParamPartsMappingItem, context);
          writer.writeEndElement();
        }
      }
    }

    // ELEMENT: wsdlReturnValueMapping
    final WsdlReturnValueMapping wsdlReturnValueMapping =
        serviceEndpointMethodMapping.wsdlReturnValueMapping;
    if (wsdlReturnValueMapping != null) {
      writer.writeStartElement(
          prefix, "wsdl-return-value-mapping", "http://java.sun.com/xml/ns/javaee");
      writeWsdlReturnValueMapping(writer, wsdlReturnValueMapping, context);
      writer.writeEndElement();
    }

    context.afterMarshal(serviceEndpointMethodMapping, LifecycleCallback.NONE);
  }