public java.lang.Object doDeserialize(XMLReader reader, SOAPDeserializationContext context)
      throws Exception {
    cl.bicevida.core.model.services.ws.proxy.oid.runtime
            .OidBasicWebServiceSoapHttp_findGroupsDnByFilter_RespS
        instance =
            new cl.bicevida.core.model.services.ws.proxy.oid.runtime
                .OidBasicWebServiceSoapHttp_findGroupsDnByFilter_RespS();
    java.lang.Object member = null;
    QName elementName;
    List values;
    java.lang.Object value;

    reader.nextElementContent();
    // SOAP 1.2 deserializer result element
    if (reader.getState() == XMLReader.START) {
      if (reader
          .getName()
          .equals(
              SOAPEnvelopeConstants.getSOAPEnvelopeConstants(SOAPVersion.SOAP_12)
                  .getQNameResult())) {
        reader.skipElement();
        reader.nextElementContent();
      }
    }
    elementName = reader.getName();
    if (reader.getState() == XMLReader.START) {
      if (matchQName(elementName, ns1_result_QNAME)) {
        myns3_stringArray__StringArray_LiteralSerializer.setNullable(false);
        member =
            myns3_stringArray__StringArray_LiteralSerializer.deserialize(
                ns1_result_QNAME, reader, context);
        if (member == null) {
          throw new DeserializationException(
              "literal.unexpectedNull", DeserializationException.FAULT_CODE_CLIENT);
        }
        instance.setResult(
            (member == null)
                ? null
                : ((cl.bicevida.core.model.services.ws.types.oidservices.utils.types.StringArray)
                        member)
                    .toArray());
        context.setXmlFragmentWrapperName(null);
        reader.nextElementContent();
      } else {
        throw new DeserializationException(
            "literal.unexpectedElementName",
            new java.lang.Object[] {ns1_result_QNAME, reader.getName()},
            DeserializationException.FAULT_CODE_CLIENT);
      }
    }

    if (reader.getState() != XMLReader.END) {
      reader.skipElement();
    }
    XMLReaderUtil.verifyReaderState(reader, XMLReader.END);
    return (java.lang.Object) instance;
  }
  public void doSerialize(java.lang.Object obj, XMLWriter writer, SOAPSerializationContext context)
      throws Exception {
    cl.bicevida.core.model.services.ws.proxy.oid.runtime
            .OidBasicWebServiceSoapHttp_findGroupsDnByFilter_RespS
        instance =
            (cl.bicevida.core.model.services.ws.proxy.oid.runtime
                    .OidBasicWebServiceSoapHttp_findGroupsDnByFilter_RespS)
                obj;

    // SOAP 1.2 - add rpc namespace, and add rpc:result and result element qname
    if (context.getSOAPVersion().equals(SOAPVersion.SOAP_12)) {
      writer.startElement(
          SOAPEnvelopeConstants.getSOAPEnvelopeConstants(SOAPVersion.SOAP_12).getQNameResult());
      if (ns1_result_QNAME.getNamespaceURI() != null
          && ns1_result_QNAME.getNamespaceURI().length() > 0) {
        writer.writeChars(
            writer.getPrefix(ns1_result_QNAME.getNamespaceURI())
                + ":"
                + ns1_result_QNAME.getLocalPart());
      } else {
        writer.writeChars(ns1_result_QNAME.getLocalPart());
      }
      writer.endElement(); // rpc:result
    }
    if (instance.getResult() != null) {
      myns3_stringArray__StringArray_LiteralSerializer.setNullable(false);
      cl.bicevida.core.model.services.ws.types.oidservices.utils.types.StringArray
          instanceGetResult_arrayWrapper =
              (instance.getResult() == null)
                  ? null
                  : new cl.bicevida.core.model.services.ws.types.oidservices.utils.types
                      .StringArray(instance.getResult());
      myns3_stringArray__StringArray_LiteralSerializer.serialize(
          instanceGetResult_arrayWrapper, ns1_result_QNAME, null, writer, context);
    }
  }