@Override
  public final TechnicalInterventionRequestDocument modelToXml() {

    Calendar calendar = Calendar.getInstance();
    LocalTime localTime = new LocalTime();
    Date date = null;
    TechnicalInterventionRequestDocument technicalInterventionRequestDoc =
        TechnicalInterventionRequestDocument.Factory.newInstance();
    TechnicalInterventionRequestDocument.TechnicalInterventionRequest technicalInterventionRequest =
        technicalInterventionRequestDoc.addNewTechnicalInterventionRequest();
    super.fillCommonXmlInfo(technicalInterventionRequest);
    int i = 0;

    technicalInterventionRequest.setInterventionDescription(getInterventionDescription());

    if (getInterventionPlace() != null)
      technicalInterventionRequest.setInterventionPlace(Address.modelToXml(getInterventionPlace()));

    i = 0;
    if (getInterventionType() != null) {
      fr.cg95.cvq.xml.common.LocalReferentialDataType[] interventionTypeTypeTab =
          new fr.cg95.cvq.xml.common.LocalReferentialDataType[getInterventionType().size()];
      for (LocalReferentialData object : getInterventionType()) {
        interventionTypeTypeTab[i++] = LocalReferentialData.modelToXml(object);
      }
      technicalInterventionRequest.setInterventionTypeArray(interventionTypeTypeTab);
    }

    technicalInterventionRequest.setOtherInterventionLabel(getOtherInterventionLabel());

    return technicalInterventionRequestDoc;
  }
  public static TechnicalInterventionRequest xmlToModel(
      TechnicalInterventionRequestDocument technicalInterventionRequestDoc) {
    TechnicalInterventionRequestDocument.TechnicalInterventionRequest
        technicalInterventionRequestXml =
            technicalInterventionRequestDoc.getTechnicalInterventionRequest();
    Calendar calendar = Calendar.getInstance();
    LocalTime localTime = new LocalTime();
    List list = new ArrayList();
    TechnicalInterventionRequest technicalInterventionRequest = new TechnicalInterventionRequest();
    technicalInterventionRequest.fillCommonModelInfo(
        technicalInterventionRequest, technicalInterventionRequestXml);

    technicalInterventionRequest.setInterventionDescription(
        technicalInterventionRequestXml.getInterventionDescription());

    if (technicalInterventionRequestXml.getInterventionPlace() != null)
      technicalInterventionRequest.setInterventionPlace(
          Address.xmlToModel(technicalInterventionRequestXml.getInterventionPlace()));

    List<fr.cg95.cvq.business.request.LocalReferentialData> interventionTypeList =
        new ArrayList<fr.cg95.cvq.business.request.LocalReferentialData>(
            technicalInterventionRequestXml.sizeOfInterventionTypeArray());
    for (LocalReferentialDataType object :
        technicalInterventionRequestXml.getInterventionTypeArray()) {
      interventionTypeList.add(
          fr.cg95.cvq.business.request.LocalReferentialData.xmlToModel(object));
    }
    technicalInterventionRequest.setInterventionType(interventionTypeList);

    technicalInterventionRequest.setOtherInterventionLabel(
        technicalInterventionRequestXml.getOtherInterventionLabel());

    return technicalInterventionRequest;
  }
  @Override
  public final CompostableWasteCollectionRequestDocument modelToXml() {

    Calendar calendar = Calendar.getInstance();
    LocalTime localTime = new LocalTime();
    Date date = null;
    CompostableWasteCollectionRequestDocument compostableWasteCollectionRequestDoc =
        CompostableWasteCollectionRequestDocument.Factory.newInstance();
    CompostableWasteCollectionRequestDocument.CompostableWasteCollectionRequest
        compostableWasteCollectionRequest =
            compostableWasteCollectionRequestDoc.addNewCompostableWasteCollectionRequest();
    super.fillCommonXmlInfo(compostableWasteCollectionRequest);
    int i = 0;

    if (getCollectionAddress() != null)
      compostableWasteCollectionRequest.setCollectionAddress(
          Address.modelToXml(getCollectionAddress()));

    i = 0;
    if (getCompostableWasteType() != null) {
      fr.cg95.cvq.xml.common.LocalReferentialDataType[] compostableWasteTypeTypeTab =
          new fr.cg95.cvq.xml.common.LocalReferentialDataType[getCompostableWasteType().size()];
      for (LocalReferentialData object : getCompostableWasteType()) {
        compostableWasteTypeTypeTab[i++] = LocalReferentialData.modelToXml(object);
      }
      compostableWasteCollectionRequest.setCompostableWasteTypeArray(compostableWasteTypeTypeTab);
    }

    compostableWasteCollectionRequest.setOtherWaste(getOtherWaste());

    return compostableWasteCollectionRequestDoc;
  }
  public static CompostableWasteCollectionRequest xmlToModel(
      CompostableWasteCollectionRequestDocument compostableWasteCollectionRequestDoc) {
    CompostableWasteCollectionRequestDocument.CompostableWasteCollectionRequest
        compostableWasteCollectionRequestXml =
            compostableWasteCollectionRequestDoc.getCompostableWasteCollectionRequest();
    Calendar calendar = Calendar.getInstance();
    LocalTime localTime = new LocalTime();
    List list = new ArrayList();
    CompostableWasteCollectionRequest compostableWasteCollectionRequest =
        new CompostableWasteCollectionRequest();
    compostableWasteCollectionRequest.fillCommonModelInfo(
        compostableWasteCollectionRequest, compostableWasteCollectionRequestXml);

    if (compostableWasteCollectionRequestXml.getCollectionAddress() != null)
      compostableWasteCollectionRequest.setCollectionAddress(
          Address.xmlToModel(compostableWasteCollectionRequestXml.getCollectionAddress()));

    List<fr.cg95.cvq.business.request.LocalReferentialData> compostableWasteTypeList =
        new ArrayList<fr.cg95.cvq.business.request.LocalReferentialData>(
            compostableWasteCollectionRequestXml.sizeOfCompostableWasteTypeArray());
    for (LocalReferentialDataType object :
        compostableWasteCollectionRequestXml.getCompostableWasteTypeArray()) {
      compostableWasteTypeList.add(
          fr.cg95.cvq.business.request.LocalReferentialData.xmlToModel(object));
    }
    compostableWasteCollectionRequest.setCompostableWasteType(compostableWasteTypeList);

    compostableWasteCollectionRequest.setOtherWaste(
        compostableWasteCollectionRequestXml.getOtherWaste());

    return compostableWasteCollectionRequest;
  }
  public static AlignmentCertificateRequest xmlToModel(
      AlignmentCertificateRequestDocument alignmentCertificateRequestDoc) {
    AlignmentCertificateRequestDocument.AlignmentCertificateRequest alignmentCertificateRequestXml =
        alignmentCertificateRequestDoc.getAlignmentCertificateRequest();
    Calendar calendar = Calendar.getInstance();
    LocalTime localTime = new LocalTime();
    List list = new ArrayList();
    AlignmentCertificateRequest alignmentCertificateRequest = new AlignmentCertificateRequest();
    alignmentCertificateRequest.fillCommonModelInfo(
        alignmentCertificateRequest, alignmentCertificateRequestXml);

    if (alignmentCertificateRequestXml.getRequesterQuality() != null)
      alignmentCertificateRequest.setRequesterQuality(
          fr.cg95.cvq.business.request.urbanism.AcrRequesterQualityType.forString(
              alignmentCertificateRequestXml.getRequesterQuality().toString()));
    else
      alignmentCertificateRequest.setRequesterQuality(
          fr.cg95.cvq.business.request.urbanism.AcrRequesterQualityType
              .getDefaultAcrRequesterQualityType());

    alignmentCertificateRequest.setSection(alignmentCertificateRequestXml.getSection());

    alignmentCertificateRequest.setTransportationRoute(
        alignmentCertificateRequestXml.getTransportationRoute());

    alignmentCertificateRequest.setOwnerFirstNames(
        alignmentCertificateRequestXml.getOwnerFirstNames());

    alignmentCertificateRequest.setLocality(alignmentCertificateRequestXml.getLocality());

    alignmentCertificateRequest.setNumber(alignmentCertificateRequestXml.getNumber());

    alignmentCertificateRequest.setOwnerLastName(alignmentCertificateRequestXml.getOwnerLastName());

    if (alignmentCertificateRequestXml.getOwnerAddress() != null)
      alignmentCertificateRequest.setOwnerAddress(
          Address.xmlToModel(alignmentCertificateRequestXml.getOwnerAddress()));

    return alignmentCertificateRequest;
  }
  @Override
  public final AlignmentCertificateRequestDocument modelToXml() {

    Calendar calendar = Calendar.getInstance();
    LocalTime localTime = new LocalTime();
    Date date = null;
    AlignmentCertificateRequestDocument alignmentCertificateRequestDoc =
        AlignmentCertificateRequestDocument.Factory.newInstance();
    AlignmentCertificateRequestDocument.AlignmentCertificateRequest alignmentCertificateRequest =
        alignmentCertificateRequestDoc.addNewAlignmentCertificateRequest();
    super.fillCommonXmlInfo(alignmentCertificateRequest);
    int i = 0;

    if (getRequesterQuality() != null)
      alignmentCertificateRequest.setRequesterQuality(
          fr.cg95.cvq.xml.request.urbanism.AcrRequesterQualityType.Enum.forString(
              getRequesterQuality().toString()));

    alignmentCertificateRequest.setSection(getSection());

    alignmentCertificateRequest.setTransportationRoute(getTransportationRoute());

    alignmentCertificateRequest.setOwnerFirstNames(getOwnerFirstNames());

    alignmentCertificateRequest.setLocality(getLocality());

    if (getNumber() != null)
      alignmentCertificateRequest.setNumber(new BigInteger(getNumber().toString()));

    alignmentCertificateRequest.setOwnerLastName(getOwnerLastName());

    if (getOwnerAddress() != null)
      alignmentCertificateRequest.setOwnerAddress(Address.modelToXml(getOwnerAddress()));

    return alignmentCertificateRequestDoc;
  }