//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.0 
// See <a href="https://javaee.github.io/jaxb-v2/">https://javaee.github.io/jaxb-v2/</a> 
// Any modifications to this file will be lost upon recompilation of the source schema. 
// Generated on: 2021.02.08 at 03:34:00 PM UTC 
//


package de.ivu.wahl.wus.oasis.eml;

import java.math.BigInteger;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAnyElement;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlElementRefs;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;


/**
 * <p>Java class for anonymous complex type.
 * 
 * <p>The following schema fragment specifies the expected content contained within this class.
 * 
 * <pre>
 * &lt;complexType&gt;
 *   &lt;complexContent&gt;
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *       &lt;sequence&gt;
 *         &lt;element ref="{urn:oasis:names:tc:evs:schema:eml}EventIdentifier"/&gt;
 *         &lt;element name="Election" maxOccurs="unbounded"&gt;
 *           &lt;complexType&gt;
 *             &lt;complexContent&gt;
 *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *                 &lt;sequence&gt;
 *                   &lt;element ref="{urn:oasis:names:tc:evs:schema:eml}ElectionIdentifier"/&gt;
 *                   &lt;element name="Contests"&gt;
 *                     &lt;complexType&gt;
 *                       &lt;complexContent&gt;
 *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *                           &lt;sequence&gt;
 *                             &lt;element name="Contest" maxOccurs="unbounded"&gt;
 *                               &lt;complexType&gt;
 *                                 &lt;complexContent&gt;
 *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *                                     &lt;sequence&gt;
 *                                       &lt;element ref="{urn:oasis:names:tc:evs:schema:eml}ContestIdentifier"/&gt;
 *                                       &lt;element ref="{urn:oasis:names:tc:evs:schema:eml}CountQualifier" minOccurs="0"/&gt;
 *                                       &lt;element ref="{urn:oasis:names:tc:evs:schema:eml}CountingAlgorithm" minOccurs="0"/&gt;
 *                                       &lt;element ref="{urn:oasis:names:tc:evs:schema:eml}NumberOfPositions" minOccurs="0"/&gt;
 *                                       &lt;choice&gt;
 *                                         &lt;sequence&gt;
 *                                           &lt;element name="TotalVotes"&gt;
 *                                             &lt;complexType&gt;
 *                                               &lt;complexContent&gt;
 *                                                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *                                                   &lt;sequence&gt;
 *                                                     &lt;element ref="{urn:oasis:names:tc:evs:schema:eml}CountMetric" maxOccurs="unbounded" minOccurs="0"/&gt;
 *                                                     &lt;group ref="{urn:oasis:names:tc:evs:schema:eml}VoteGroup"/&gt;
 *                                                   &lt;/sequence&gt;
 *                                                 &lt;/restriction&gt;
 *                                               &lt;/complexContent&gt;
 *                                             &lt;/complexType&gt;
 *                                           &lt;/element&gt;
 *                                           &lt;element ref="{urn:oasis:names:tc:evs:schema:eml}ReportingUnitVotes" maxOccurs="unbounded" minOccurs="0"/&gt;
 *                                         &lt;/sequence&gt;
 *                                         &lt;element ref="{urn:oasis:names:tc:evs:schema:eml}ReportingUnitVotes"/&gt;
 *                                       &lt;/choice&gt;
 *                                     &lt;/sequence&gt;
 *                                   &lt;/restriction&gt;
 *                                 &lt;/complexContent&gt;
 *                               &lt;/complexType&gt;
 *                             &lt;/element&gt;
 *                           &lt;/sequence&gt;
 *                         &lt;/restriction&gt;
 *                       &lt;/complexContent&gt;
 *                     &lt;/complexType&gt;
 *                   &lt;/element&gt;
 *                 &lt;/sequence&gt;
 *               &lt;/restriction&gt;
 *             &lt;/complexContent&gt;
 *           &lt;/complexType&gt;
 *         &lt;/element&gt;
 *         &lt;any namespace='##other' maxOccurs="unbounded" minOccurs="0"/&gt;
 *         &lt;element ref="{urn:oasis:names:tc:evs:schema:eml}AuditInformation" minOccurs="0"/&gt;
 *       &lt;/sequence&gt;
 *     &lt;/restriction&gt;
 *   &lt;/complexContent&gt;
 * &lt;/complexType&gt;
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
    "eventIdentifier",
    "election",
    "any",
    "auditInformation"
})
@XmlRootElement(name = "Count")
public class Count {

    @XmlElement(name = "EventIdentifier", required = true)
    protected EventIdentifierStructure eventIdentifier;
    @XmlElement(name = "Election", required = true)
    protected List<Count.Election> election;
    @XmlAnyElement(lax = true)
    protected List<Object> any;
    @XmlElement(name = "AuditInformation")
    protected AuditInformationStructure auditInformation;

    /**
     * Gets the value of the eventIdentifier property.
     * 
     * @return
     *     possible object is
     *     {@link EventIdentifierStructure }
     *     
     */
    public EventIdentifierStructure getEventIdentifier() {
        return eventIdentifier;
    }

    /**
     * Sets the value of the eventIdentifier property.
     * 
     * @param value
     *     allowed object is
     *     {@link EventIdentifierStructure }
     *     
     */
    public void setEventIdentifier(EventIdentifierStructure value) {
        this.eventIdentifier = value;
    }

    /**
     * Gets the value of the election property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the election property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getElection().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link Count.Election }
     * 
     * 
     */
    public List<Count.Election> getElection() {
        if (election == null) {
            election = new ArrayList<Count.Election>();
        }
        return this.election;
    }

    /**
     * Gets the value of the any property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the any property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getAny().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link Object }
     * 
     * 
     */
    public List<Object> getAny() {
        if (any == null) {
            any = new ArrayList<Object>();
        }
        return this.any;
    }

    /**
     * Gets the value of the auditInformation property.
     * 
     * @return
     *     possible object is
     *     {@link AuditInformationStructure }
     *     
     */
    public AuditInformationStructure getAuditInformation() {
        return auditInformation;
    }

    /**
     * Sets the value of the auditInformation property.
     * 
     * @param value
     *     allowed object is
     *     {@link AuditInformationStructure }
     *     
     */
    public void setAuditInformation(AuditInformationStructure value) {
        this.auditInformation = value;
    }

    public void setElection(List<Count.Election> value) {
        this.election = null;
        if (value!= null) {
            List<Count.Election> draftl = this.getElection();
            draftl.addAll(value);
        }
    }

    public void setAny(List<Object> value) {
        this.any = null;
        if (value!= null) {
            List<Object> draftl = this.getAny();
            draftl.addAll(value);
        }
    }


    /**
     * <p>Java class for anonymous complex type.
     * 
     * <p>The following schema fragment specifies the expected content contained within this class.
     * 
     * <pre>
     * &lt;complexType&gt;
     *   &lt;complexContent&gt;
     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
     *       &lt;sequence&gt;
     *         &lt;element ref="{urn:oasis:names:tc:evs:schema:eml}ElectionIdentifier"/&gt;
     *         &lt;element name="Contests"&gt;
     *           &lt;complexType&gt;
     *             &lt;complexContent&gt;
     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
     *                 &lt;sequence&gt;
     *                   &lt;element name="Contest" maxOccurs="unbounded"&gt;
     *                     &lt;complexType&gt;
     *                       &lt;complexContent&gt;
     *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
     *                           &lt;sequence&gt;
     *                             &lt;element ref="{urn:oasis:names:tc:evs:schema:eml}ContestIdentifier"/&gt;
     *                             &lt;element ref="{urn:oasis:names:tc:evs:schema:eml}CountQualifier" minOccurs="0"/&gt;
     *                             &lt;element ref="{urn:oasis:names:tc:evs:schema:eml}CountingAlgorithm" minOccurs="0"/&gt;
     *                             &lt;element ref="{urn:oasis:names:tc:evs:schema:eml}NumberOfPositions" minOccurs="0"/&gt;
     *                             &lt;choice&gt;
     *                               &lt;sequence&gt;
     *                                 &lt;element name="TotalVotes"&gt;
     *                                   &lt;complexType&gt;
     *                                     &lt;complexContent&gt;
     *                                       &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
     *                                         &lt;sequence&gt;
     *                                           &lt;element ref="{urn:oasis:names:tc:evs:schema:eml}CountMetric" maxOccurs="unbounded" minOccurs="0"/&gt;
     *                                           &lt;group ref="{urn:oasis:names:tc:evs:schema:eml}VoteGroup"/&gt;
     *                                         &lt;/sequence&gt;
     *                                       &lt;/restriction&gt;
     *                                     &lt;/complexContent&gt;
     *                                   &lt;/complexType&gt;
     *                                 &lt;/element&gt;
     *                                 &lt;element ref="{urn:oasis:names:tc:evs:schema:eml}ReportingUnitVotes" maxOccurs="unbounded" minOccurs="0"/&gt;
     *                               &lt;/sequence&gt;
     *                               &lt;element ref="{urn:oasis:names:tc:evs:schema:eml}ReportingUnitVotes"/&gt;
     *                             &lt;/choice&gt;
     *                           &lt;/sequence&gt;
     *                         &lt;/restriction&gt;
     *                       &lt;/complexContent&gt;
     *                     &lt;/complexType&gt;
     *                   &lt;/element&gt;
     *                 &lt;/sequence&gt;
     *               &lt;/restriction&gt;
     *             &lt;/complexContent&gt;
     *           &lt;/complexType&gt;
     *         &lt;/element&gt;
     *       &lt;/sequence&gt;
     *     &lt;/restriction&gt;
     *   &lt;/complexContent&gt;
     * &lt;/complexType&gt;
     * </pre>
     * 
     * 
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "", propOrder = {
        "electionIdentifier",
        "contests"
    })
    public static class Election {

        @XmlElement(name = "ElectionIdentifier", required = true)
        protected ElectionIdentifierStructure electionIdentifier;
        @XmlElement(name = "Contests", required = true)
        protected Count.Election.Contests contests;

        /**
         * Gets the value of the electionIdentifier property.
         * 
         * @return
         *     possible object is
         *     {@link ElectionIdentifierStructure }
         *     
         */
        public ElectionIdentifierStructure getElectionIdentifier() {
            return electionIdentifier;
        }

        /**
         * Sets the value of the electionIdentifier property.
         * 
         * @param value
         *     allowed object is
         *     {@link ElectionIdentifierStructure }
         *     
         */
        public void setElectionIdentifier(ElectionIdentifierStructure value) {
            this.electionIdentifier = value;
        }

        /**
         * Gets the value of the contests property.
         * 
         * @return
         *     possible object is
         *     {@link Count.Election.Contests }
         *     
         */
        public Count.Election.Contests getContests() {
            return contests;
        }

        /**
         * Sets the value of the contests property.
         * 
         * @param value
         *     allowed object is
         *     {@link Count.Election.Contests }
         *     
         */
        public void setContests(Count.Election.Contests value) {
            this.contests = value;
        }


        /**
         * <p>Java class for anonymous complex type.
         * 
         * <p>The following schema fragment specifies the expected content contained within this class.
         * 
         * <pre>
         * &lt;complexType&gt;
         *   &lt;complexContent&gt;
         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
         *       &lt;sequence&gt;
         *         &lt;element name="Contest" maxOccurs="unbounded"&gt;
         *           &lt;complexType&gt;
         *             &lt;complexContent&gt;
         *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
         *                 &lt;sequence&gt;
         *                   &lt;element ref="{urn:oasis:names:tc:evs:schema:eml}ContestIdentifier"/&gt;
         *                   &lt;element ref="{urn:oasis:names:tc:evs:schema:eml}CountQualifier" minOccurs="0"/&gt;
         *                   &lt;element ref="{urn:oasis:names:tc:evs:schema:eml}CountingAlgorithm" minOccurs="0"/&gt;
         *                   &lt;element ref="{urn:oasis:names:tc:evs:schema:eml}NumberOfPositions" minOccurs="0"/&gt;
         *                   &lt;choice&gt;
         *                     &lt;sequence&gt;
         *                       &lt;element name="TotalVotes"&gt;
         *                         &lt;complexType&gt;
         *                           &lt;complexContent&gt;
         *                             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
         *                               &lt;sequence&gt;
         *                                 &lt;element ref="{urn:oasis:names:tc:evs:schema:eml}CountMetric" maxOccurs="unbounded" minOccurs="0"/&gt;
         *                                 &lt;group ref="{urn:oasis:names:tc:evs:schema:eml}VoteGroup"/&gt;
         *                               &lt;/sequence&gt;
         *                             &lt;/restriction&gt;
         *                           &lt;/complexContent&gt;
         *                         &lt;/complexType&gt;
         *                       &lt;/element&gt;
         *                       &lt;element ref="{urn:oasis:names:tc:evs:schema:eml}ReportingUnitVotes" maxOccurs="unbounded" minOccurs="0"/&gt;
         *                     &lt;/sequence&gt;
         *                     &lt;element ref="{urn:oasis:names:tc:evs:schema:eml}ReportingUnitVotes"/&gt;
         *                   &lt;/choice&gt;
         *                 &lt;/sequence&gt;
         *               &lt;/restriction&gt;
         *             &lt;/complexContent&gt;
         *           &lt;/complexType&gt;
         *         &lt;/element&gt;
         *       &lt;/sequence&gt;
         *     &lt;/restriction&gt;
         *   &lt;/complexContent&gt;
         * &lt;/complexType&gt;
         * </pre>
         * 
         * 
         */
        @XmlAccessorType(XmlAccessType.FIELD)
        @XmlType(name = "", propOrder = {
            "contest"
        })
        public static class Contests {

            @XmlElement(name = "Contest", required = true)
            protected List<Count.Election.Contests.Contest> contest;

            /**
             * Gets the value of the contest property.
             * 
             * <p>
             * This accessor method returns a reference to the live list,
             * not a snapshot. Therefore any modification you make to the
             * returned list will be present inside the JAXB object.
             * This is why there is not a <CODE>set</CODE> method for the contest property.
             * 
             * <p>
             * For example, to add a new item, do as follows:
             * <pre>
             *    getContest().add(newItem);
             * </pre>
             * 
             * 
             * <p>
             * Objects of the following type(s) are allowed in the list
             * {@link Count.Election.Contests.Contest }
             * 
             * 
             */
            public List<Count.Election.Contests.Contest> getContest() {
                if (contest == null) {
                    contest = new ArrayList<Count.Election.Contests.Contest>();
                }
                return this.contest;
            }

            public void setContest(List<Count.Election.Contests.Contest> value) {
                this.contest = null;
                if (value!= null) {
                    List<Count.Election.Contests.Contest> draftl = this.getContest();
                    draftl.addAll(value);
                }
            }


            /**
             * <p>Java class for anonymous complex type.
             * 
             * <p>The following schema fragment specifies the expected content contained within this class.
             * 
             * <pre>
             * &lt;complexType&gt;
             *   &lt;complexContent&gt;
             *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
             *       &lt;sequence&gt;
             *         &lt;element ref="{urn:oasis:names:tc:evs:schema:eml}ContestIdentifier"/&gt;
             *         &lt;element ref="{urn:oasis:names:tc:evs:schema:eml}CountQualifier" minOccurs="0"/&gt;
             *         &lt;element ref="{urn:oasis:names:tc:evs:schema:eml}CountingAlgorithm" minOccurs="0"/&gt;
             *         &lt;element ref="{urn:oasis:names:tc:evs:schema:eml}NumberOfPositions" minOccurs="0"/&gt;
             *         &lt;choice&gt;
             *           &lt;sequence&gt;
             *             &lt;element name="TotalVotes"&gt;
             *               &lt;complexType&gt;
             *                 &lt;complexContent&gt;
             *                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
             *                     &lt;sequence&gt;
             *                       &lt;element ref="{urn:oasis:names:tc:evs:schema:eml}CountMetric" maxOccurs="unbounded" minOccurs="0"/&gt;
             *                       &lt;group ref="{urn:oasis:names:tc:evs:schema:eml}VoteGroup"/&gt;
             *                     &lt;/sequence&gt;
             *                   &lt;/restriction&gt;
             *                 &lt;/complexContent&gt;
             *               &lt;/complexType&gt;
             *             &lt;/element&gt;
             *             &lt;element ref="{urn:oasis:names:tc:evs:schema:eml}ReportingUnitVotes" maxOccurs="unbounded" minOccurs="0"/&gt;
             *           &lt;/sequence&gt;
             *           &lt;element ref="{urn:oasis:names:tc:evs:schema:eml}ReportingUnitVotes"/&gt;
             *         &lt;/choice&gt;
             *       &lt;/sequence&gt;
             *     &lt;/restriction&gt;
             *   &lt;/complexContent&gt;
             * &lt;/complexType&gt;
             * </pre>
             * 
             * 
             */
            @XmlAccessorType(XmlAccessType.FIELD)
            @XmlType(name = "", propOrder = {
                "content"
            })
            public static class Contest {

                @XmlElementRefs({
                    @XmlElementRef(name = "ContestIdentifier", namespace = "urn:oasis:names:tc:evs:schema:eml", type = JAXBElement.class, required = false),
                    @XmlElementRef(name = "CountQualifier", namespace = "urn:oasis:names:tc:evs:schema:eml", type = JAXBElement.class, required = false),
                    @XmlElementRef(name = "CountingAlgorithm", namespace = "urn:oasis:names:tc:evs:schema:eml", type = JAXBElement.class, required = false),
                    @XmlElementRef(name = "NumberOfPositions", namespace = "urn:oasis:names:tc:evs:schema:eml", type = JAXBElement.class, required = false),
                    @XmlElementRef(name = "TotalVotes", namespace = "urn:oasis:names:tc:evs:schema:eml", type = JAXBElement.class, required = false),
                    @XmlElementRef(name = "ReportingUnitVotes", namespace = "urn:oasis:names:tc:evs:schema:eml", type = ReportingUnitVotes.class, required = false)
                })
                protected List<Object> content;

                /**
                 * Gets the rest of the content model. 
                 * 
                 * <p>
                 * You are getting this "catch-all" property because of the following reason: 
                 * The field name "ReportingUnitVotes" is used by two different parts of a schema. See: 
                 * line 297 of file:/home/jenkins/agent/workspace/nl-interfaces-eml_release_0.0.73/src/main/xsd/EML-v5.0/110a-210-230-510-520-combined-v5-0.xsd
                 * line 295 of file:/home/jenkins/agent/workspace/nl-interfaces-eml_release_0.0.73/src/main/xsd/EML-v5.0/110a-210-230-510-520-combined-v5-0.xsd
                 * <p>
                 * To get rid of this property, apply a property customization to one 
                 * of both of the following declarations to change their names: 
                 * Gets the value of the content property.
                 * 
                 * <p>
                 * This accessor method returns a reference to the live list,
                 * not a snapshot. Therefore any modification you make to the
                 * returned list will be present inside the JAXB object.
                 * This is why there is not a <CODE>set</CODE> method for the content property.
                 * 
                 * <p>
                 * For example, to add a new item, do as follows:
                 * <pre>
                 *    getContent().add(newItem);
                 * </pre>
                 * 
                 * 
                 * <p>
                 * Objects of the following type(s) are allowed in the list
                 * {@link JAXBElement }{@code <}{@link ContestIdentifierStructure }{@code >}
                 * {@link JAXBElement }{@code <}{@link CountQualifierStructure }{@code >}
                 * {@link JAXBElement }{@code <}{@link String }{@code >}
                 * {@link JAXBElement }{@code <}{@link BigInteger }{@code >}
                 * {@link JAXBElement }{@code <}{@link Count.Election.Contests.Contest.TotalVotes }{@code >}
                 * {@link ReportingUnitVotes }
                 * 
                 * 
                 */
                public List<Object> getContent() {
                    if (content == null) {
                        content = new ArrayList<Object>();
                    }
                    return this.content;
                }

                public void setContent(List<Object> value) {
                    this.content = null;
                    if (value!= null) {
                        List<Object> draftl = this.getContent();
                        draftl.addAll(value);
                    }
                }


                /**
                 * <p>Java class for anonymous complex type.
                 * 
                 * <p>The following schema fragment specifies the expected content contained within this class.
                 * 
                 * <pre>
                 * &lt;complexType&gt;
                 *   &lt;complexContent&gt;
                 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
                 *       &lt;sequence&gt;
                 *         &lt;element ref="{urn:oasis:names:tc:evs:schema:eml}CountMetric" maxOccurs="unbounded" minOccurs="0"/&gt;
                 *         &lt;group ref="{urn:oasis:names:tc:evs:schema:eml}VoteGroup"/&gt;
                 *       &lt;/sequence&gt;
                 *     &lt;/restriction&gt;
                 *   &lt;/complexContent&gt;
                 * &lt;/complexType&gt;
                 * </pre>
                 * 
                 * 
                 */
                @XmlAccessorType(XmlAccessType.FIELD)
                @XmlType(name = "", propOrder = {
                    "countMetric",
                    "selection",
                    "cast",
                    "read",
                    "totalCounted",
                    "provisionals",
                    "abstentions",
                    "rejectedVotes",
                    "uncountedVotes"
                })
                public static class TotalVotes {

                    @XmlElement(name = "CountMetric")
                    protected List<CountMetricStructure> countMetric;
                    @XmlElement(name = "Selection", required = true)
                    protected List<ReportingUnitVotes.Selection> selection;
                    @XmlElement(name = "Cast")
                    @XmlSchemaType(name = "nonNegativeInteger")
                    protected BigInteger cast;
                    @XmlElement(name = "Read")
                    @XmlSchemaType(name = "nonNegativeInteger")
                    protected BigInteger read;
                    @XmlElement(name = "TotalCounted")
                    @XmlSchemaType(name = "nonNegativeInteger")
                    protected BigInteger totalCounted;
                    @XmlElement(name = "Provisionals")
                    @XmlSchemaType(name = "nonNegativeInteger")
                    protected BigInteger provisionals;
                    @XmlElement(name = "Abstentions")
                    @XmlSchemaType(name = "nonNegativeInteger")
                    protected BigInteger abstentions;
                    @XmlElement(name = "RejectedVotes")
                    protected List<ReportingUnitVotes.RejectedVotes> rejectedVotes;
                    @XmlElement(name = "UncountedVotes")
                    protected List<ReportingUnitVotes.UncountedVotes> uncountedVotes;

                    /**
                     * Gets the value of the countMetric property.
                     * 
                     * <p>
                     * This accessor method returns a reference to the live list,
                     * not a snapshot. Therefore any modification you make to the
                     * returned list will be present inside the JAXB object.
                     * This is why there is not a <CODE>set</CODE> method for the countMetric property.
                     * 
                     * <p>
                     * For example, to add a new item, do as follows:
                     * <pre>
                     *    getCountMetric().add(newItem);
                     * </pre>
                     * 
                     * 
                     * <p>
                     * Objects of the following type(s) are allowed in the list
                     * {@link CountMetricStructure }
                     * 
                     * 
                     */
                    public List<CountMetricStructure> getCountMetric() {
                        if (countMetric == null) {
                            countMetric = new ArrayList<CountMetricStructure>();
                        }
                        return this.countMetric;
                    }

                    /**
                     * Gets the value of the selection property.
                     * 
                     * <p>
                     * This accessor method returns a reference to the live list,
                     * not a snapshot. Therefore any modification you make to the
                     * returned list will be present inside the JAXB object.
                     * This is why there is not a <CODE>set</CODE> method for the selection property.
                     * 
                     * <p>
                     * For example, to add a new item, do as follows:
                     * <pre>
                     *    getSelection().add(newItem);
                     * </pre>
                     * 
                     * 
                     * <p>
                     * Objects of the following type(s) are allowed in the list
                     * {@link ReportingUnitVotes.Selection }
                     * 
                     * 
                     */
                    public List<ReportingUnitVotes.Selection> getSelection() {
                        if (selection == null) {
                            selection = new ArrayList<ReportingUnitVotes.Selection>();
                        }
                        return this.selection;
                    }

                    /**
                     * Gets the value of the cast property.
                     * 
                     * @return
                     *     possible object is
                     *     {@link BigInteger }
                     *     
                     */
                    public BigInteger getCast() {
                        return cast;
                    }

                    /**
                     * Sets the value of the cast property.
                     * 
                     * @param value
                     *     allowed object is
                     *     {@link BigInteger }
                     *     
                     */
                    public void setCast(BigInteger value) {
                        this.cast = value;
                    }

                    /**
                     * Gets the value of the read property.
                     * 
                     * @return
                     *     possible object is
                     *     {@link BigInteger }
                     *     
                     */
                    public BigInteger getRead() {
                        return read;
                    }

                    /**
                     * Sets the value of the read property.
                     * 
                     * @param value
                     *     allowed object is
                     *     {@link BigInteger }
                     *     
                     */
                    public void setRead(BigInteger value) {
                        this.read = value;
                    }

                    /**
                     * Gets the value of the totalCounted property.
                     * 
                     * @return
                     *     possible object is
                     *     {@link BigInteger }
                     *     
                     */
                    public BigInteger getTotalCounted() {
                        return totalCounted;
                    }

                    /**
                     * Sets the value of the totalCounted property.
                     * 
                     * @param value
                     *     allowed object is
                     *     {@link BigInteger }
                     *     
                     */
                    public void setTotalCounted(BigInteger value) {
                        this.totalCounted = value;
                    }

                    /**
                     * Gets the value of the provisionals property.
                     * 
                     * @return
                     *     possible object is
                     *     {@link BigInteger }
                     *     
                     */
                    public BigInteger getProvisionals() {
                        return provisionals;
                    }

                    /**
                     * Sets the value of the provisionals property.
                     * 
                     * @param value
                     *     allowed object is
                     *     {@link BigInteger }
                     *     
                     */
                    public void setProvisionals(BigInteger value) {
                        this.provisionals = value;
                    }

                    /**
                     * Gets the value of the abstentions property.
                     * 
                     * @return
                     *     possible object is
                     *     {@link BigInteger }
                     *     
                     */
                    public BigInteger getAbstentions() {
                        return abstentions;
                    }

                    /**
                     * Sets the value of the abstentions property.
                     * 
                     * @param value
                     *     allowed object is
                     *     {@link BigInteger }
                     *     
                     */
                    public void setAbstentions(BigInteger value) {
                        this.abstentions = value;
                    }

                    /**
                     * Gets the value of the rejectedVotes property.
                     * 
                     * <p>
                     * This accessor method returns a reference to the live list,
                     * not a snapshot. Therefore any modification you make to the
                     * returned list will be present inside the JAXB object.
                     * This is why there is not a <CODE>set</CODE> method for the rejectedVotes property.
                     * 
                     * <p>
                     * For example, to add a new item, do as follows:
                     * <pre>
                     *    getRejectedVotes().add(newItem);
                     * </pre>
                     * 
                     * 
                     * <p>
                     * Objects of the following type(s) are allowed in the list
                     * {@link ReportingUnitVotes.RejectedVotes }
                     * 
                     * 
                     */
                    public List<ReportingUnitVotes.RejectedVotes> getRejectedVotes() {
                        if (rejectedVotes == null) {
                            rejectedVotes = new ArrayList<ReportingUnitVotes.RejectedVotes>();
                        }
                        return this.rejectedVotes;
                    }

                    /**
                     * Gets the value of the uncountedVotes property.
                     * 
                     * <p>
                     * This accessor method returns a reference to the live list,
                     * not a snapshot. Therefore any modification you make to the
                     * returned list will be present inside the JAXB object.
                     * This is why there is not a <CODE>set</CODE> method for the uncountedVotes property.
                     * 
                     * <p>
                     * For example, to add a new item, do as follows:
                     * <pre>
                     *    getUncountedVotes().add(newItem);
                     * </pre>
                     * 
                     * 
                     * <p>
                     * Objects of the following type(s) are allowed in the list
                     * {@link ReportingUnitVotes.UncountedVotes }
                     * 
                     * 
                     */
                    public List<ReportingUnitVotes.UncountedVotes> getUncountedVotes() {
                        if (uncountedVotes == null) {
                            uncountedVotes = new ArrayList<ReportingUnitVotes.UncountedVotes>();
                        }
                        return this.uncountedVotes;
                    }

                    public void setCountMetric(List<CountMetricStructure> value) {
                        this.countMetric = null;
                        if (value!= null) {
                            List<CountMetricStructure> draftl = this.getCountMetric();
                            draftl.addAll(value);
                        }
                    }

                    public void setSelection(List<ReportingUnitVotes.Selection> value) {
                        this.selection = null;
                        if (value!= null) {
                            List<ReportingUnitVotes.Selection> draftl = this.getSelection();
                            draftl.addAll(value);
                        }
                    }

                    public void setRejectedVotes(List<ReportingUnitVotes.RejectedVotes> value) {
                        this.rejectedVotes = null;
                        if (value!= null) {
                            List<ReportingUnitVotes.RejectedVotes> draftl = this.getRejectedVotes();
                            draftl.addAll(value);
                        }
                    }

                    public void setUncountedVotes(List<ReportingUnitVotes.UncountedVotes> value) {
                        this.uncountedVotes = null;
                        if (value!= null) {
                            List<ReportingUnitVotes.UncountedVotes> draftl = this.getUncountedVotes();
                            draftl.addAll(value);
                        }
                    }

                }

            }

        }

    }

}
