public void doSerialize(java.lang.Object obj, XMLWriter writer, SOAPSerializationContext context)
      throws Exception {
    cl.bicevida.core.model.services.ws.types.actualizadatos.fasetres.ws.param.types
            .RetListaTipoPersona
        instance =
            (cl.bicevida.core.model.services.ws.types.actualizadatos.fasetres.ws.param.types
                    .RetListaTipoPersona)
                obj;

    myns2_string__java_lang_String_String_Serializer.setNullable(true);
    myns2_string__java_lang_String_String_Serializer.serialize(
        instance.getMensajeRetorno(), ns1_mensajeRetorno_QNAME, null, writer, context);
    myns2_string__java_lang_String_String_Serializer.setNullable(true);
    myns2_string__java_lang_String_String_Serializer.serialize(
        instance.getCodigoRetorno(), ns1_codigoRetorno_QNAME, null, writer, context);
    if (instance.getListaTipoPersona() != null) {
      for (int i = 0; i < instance.getListaTipoPersona().length; ++i) {
        myns1_TipoPersonaModel__TipoPersonaModel_LiteralSerializer.setNullable(true);
        myns1_TipoPersonaModel__TipoPersonaModel_LiteralSerializer.serialize(
            instance.getListaTipoPersona()[i], ns1_listaTipoPersona_QNAME, null, writer, context);
      }
    }
  }
  public java.lang.Object doDeserialize(XMLReader reader, SOAPDeserializationContext context)
      throws Exception {
    cl.bicevida.core.model.services.ws.types.actualizadatos.fasetres.ws.param.types
            .RetListaTipoPersona
        instance =
            new cl.bicevida.core.model.services.ws.types.actualizadatos.fasetres.ws.param.types
                .RetListaTipoPersona();
    java.lang.Object member = null;
    QName elementName;
    List values;
    java.lang.Object value;

    reader.nextElementContent();
    elementName = reader.getName();
    if (reader.getState() == XMLReader.START) {
      if (matchQName(elementName, ns1_mensajeRetorno_QNAME)) {
        myns2_string__java_lang_String_String_Serializer.setNullable(true);
        member =
            myns2_string__java_lang_String_String_Serializer.deserialize(
                ns1_mensajeRetorno_QNAME, reader, context);
        instance.setMensajeRetorno((java.lang.String) member);
        context.setXmlFragmentWrapperName(null);
        reader.nextElementContent();
      } else {
        throw new DeserializationException(
            "literal.unexpectedElementName",
            new java.lang.Object[] {ns1_mensajeRetorno_QNAME, reader.getName()},
            DeserializationException.FAULT_CODE_CLIENT);
      }
    } else {
      throw new DeserializationException(
          "literal.expectedElementName",
          reader.getName().toString(),
          DeserializationException.FAULT_CODE_CLIENT);
    }
    elementName = reader.getName();
    if (reader.getState() == XMLReader.START) {
      if (matchQName(elementName, ns1_codigoRetorno_QNAME)) {
        myns2_string__java_lang_String_String_Serializer.setNullable(true);
        member =
            myns2_string__java_lang_String_String_Serializer.deserialize(
                ns1_codigoRetorno_QNAME, reader, context);
        instance.setCodigoRetorno((java.lang.String) member);
        context.setXmlFragmentWrapperName(null);
        reader.nextElementContent();
      } else {
        throw new DeserializationException(
            "literal.unexpectedElementName",
            new java.lang.Object[] {ns1_codigoRetorno_QNAME, reader.getName()},
            DeserializationException.FAULT_CODE_CLIENT);
      }
    } else {
      throw new DeserializationException(
          "literal.expectedElementName",
          reader.getName().toString(),
          DeserializationException.FAULT_CODE_CLIENT);
    }
    elementName = reader.getName();
    if ((reader.getState() == XMLReader.START)
        && (matchQName(elementName, ns1_listaTipoPersona_QNAME))) {
      values = new ArrayList();
      for (; ; ) {
        elementName = reader.getName();
        if ((reader.getState() == XMLReader.START)
            && (matchQName(elementName, ns1_listaTipoPersona_QNAME))) {
          myns1_TipoPersonaModel__TipoPersonaModel_LiteralSerializer.setNullable(true);
          value =
              myns1_TipoPersonaModel__TipoPersonaModel_LiteralSerializer.deserialize(
                  ns1_listaTipoPersona_QNAME, reader, context);
          values.add(value);
          reader.nextElementContent();
        } else {
          break;
        }
      }
      member =
          new cl.bicevida.core.model.services.ws.types.actualizadatos.fasetres.ws.param.types
                  .TipoPersonaModel[values.size()];
      member = values.toArray((java.lang.Object[]) member);
      instance.setListaTipoPersona(
          (cl.bicevida.core.model.services.ws.types.actualizadatos.fasetres.ws.param.types
                      .TipoPersonaModel
                  [])
              member);
    } else {
      instance.setListaTipoPersona(
          new cl.bicevida.core.model.services.ws.types.actualizadatos.fasetres.ws.param.types
                  .TipoPersonaModel[0]);
    }

    if (reader.getState() != XMLReader.END) {
      reader.skipElement();
    }
    XMLReaderUtil.verifyReaderState(reader, XMLReader.END);
    return (java.lang.Object) instance;
  }