package org.openestate.io.wis_it.xml;

import java.io.Serializable;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Generated;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import org.jvnet.jaxb2_commons.lang.CopyStrategy2;
import org.jvnet.jaxb2_commons.lang.CopyTo2;
import org.jvnet.jaxb2_commons.lang.Equals2;
import org.jvnet.jaxb2_commons.lang.EqualsStrategy2;
import org.jvnet.jaxb2_commons.lang.JAXBCopyStrategy;
import org.jvnet.jaxb2_commons.lang.JAXBEqualsStrategy;
import org.jvnet.jaxb2_commons.lang.JAXBToStringStrategy;
import org.jvnet.jaxb2_commons.lang.ToString2;
import org.jvnet.jaxb2_commons.lang.ToStringStrategy2;
import org.jvnet.jaxb2_commons.locator.ObjectLocator;
import org.jvnet.jaxb2_commons.locator.util.LocatorUtils;

/**
 *
Java class for anonymous complex type.
 *
 *
The following schema fragment specifies the expected content contained within this class.
 *
 *

 * <complexType>
 *   <complexContent>
 *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       <sequence>
 *         <element name="BENUTZER">
 *           <complexType>
 *             <complexContent>
 *               <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                 <sequence>
 *                   <element name="KDNR" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *                 </sequence>
 *               </restriction>
 *             </complexContent>
 *           </complexType>
 *         </element>
 *         <element name="OBJEKTE" minOccurs="0">
 *           <complexType>
 *             <complexContent>
 *               <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                 <sequence>
 *                   <element name="ANZAHL" type="{http://www.w3.org/2001/XMLSchema}positiveInteger"/>
 *                   <element name="OBJEKT" type="{}ObjectType" maxOccurs="unbounded" minOccurs="0"/>
 *                 </sequence>
 *               </restriction>
 *             </complexContent>
 *           </complexType>
 *         </element>
 *       </sequence>
 *     </restriction>
 *   </complexContent>
 * </complexType>
 *

 *
 *
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
    "benutzer",
    "objekte"
})
@XmlRootElement(name = "WIS")
@Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:55:50+02:00", comments = "JAXB RI v2.2.11")
public class WIS implements Serializable, Cloneable, CopyTo2, Equals2, ToString2
{

    @XmlElement(name = "BENUTZER", required = true)
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:55:50+02:00", comments = "JAXB RI v2.2.11")
    protected WIS.BENUTZER benutzer;
    @XmlElement(name = "OBJEKTE")
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:55:50+02:00", comments = "JAXB RI v2.2.11")
    protected WIS.OBJEKTE objekte;

    /**
     * Gets the value of the benutzer property.
     *
     * @return
     *     possible object is
     *     {@link WIS.BENUTZER }
     *
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:55:50+02:00", comments = "JAXB RI v2.2.11")
    public WIS.BENUTZER getBENUTZER() {
        return benutzer;
    }

    /**
     * Sets the value of the benutzer property.
     *
     * @param value
     *     allowed object is
     *     {@link WIS.BENUTZER }
     *
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:55:50+02:00", comments = "JAXB RI v2.2.11")
    public void setBENUTZER(WIS.BENUTZER value) {
        this.benutzer = value;
    }

    /**
     * Gets the value of the objekte property.
     *
     * @return
     *     possible object is
     *     {@link WIS.OBJEKTE }
     *
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:55:50+02:00", comments = "JAXB RI v2.2.11")
    public WIS.OBJEKTE getOBJEKTE() {
        return objekte;
    }

    /**
     * Sets the value of the objekte property.
     *
     * @param value
     *     allowed object is
     *     {@link WIS.OBJEKTE }
     *
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:55:50+02:00", comments = "JAXB RI v2.2.11")
    public void setOBJEKTE(WIS.OBJEKTE value) {
        this.objekte = value;
    }

    @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:55:50+02:00", comments = "JAXB RI v2.2.11")
    public String toString() {
        final ToStringStrategy2 strategy = JAXBToStringStrategy.INSTANCE;
        final StringBuilder buffer = new StringBuilder();
        append(null, buffer, strategy);
        return buffer.toString();
    }

    @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:55:50+02:00", comments = "JAXB RI v2.2.11")
    public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy2 strategy) {
        strategy.appendStart(locator, this, buffer);
        appendFields(locator, buffer, strategy);
        strategy.appendEnd(locator, this, buffer);
        return buffer;
    }

    @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:55:50+02:00", comments = "JAXB RI v2.2.11")
    public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy2 strategy) {
        {
            WIS.BENUTZER theBENUTZER;
            theBENUTZER = this.getBENUTZER();
            strategy.appendField(locator, this, "benutzer", buffer, theBENUTZER, (this.benutzer!= null));
        }
        {
            WIS.OBJEKTE theOBJEKTE;
            theOBJEKTE = this.getOBJEKTE();
            strategy.appendField(locator, this, "objekte", buffer, theOBJEKTE, (this.objekte!= null));
        }
        return buffer;
    }

    @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:55:50+02:00", comments = "JAXB RI v2.2.11")
    public Object clone() {
        return copyTo(createNewInstance());
    }

    @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:55:50+02:00", comments = "JAXB RI v2.2.11")
    public Object copyTo(Object target) {
        final CopyStrategy2 strategy = JAXBCopyStrategy.INSTANCE;
        return copyTo(null, target, strategy);
    }

    @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:55:50+02:00", comments = "JAXB RI v2.2.11")
    public Object copyTo(ObjectLocator locator, Object target, CopyStrategy2 strategy) {
        final Object draftCopy = ((target == null)?createNewInstance():target);
        if (draftCopy instanceof WIS) {
            final WIS copy = ((WIS) draftCopy);
            {
                Boolean benutzerShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, (this.benutzer!= null));
                if (benutzerShouldBeCopiedAndSet == Boolean.TRUE) {
                    WIS.BENUTZER sourceBENUTZER;
                    sourceBENUTZER = this.getBENUTZER();
                    WIS.BENUTZER copyBENUTZER = ((WIS.BENUTZER) strategy.copy(LocatorUtils.property(locator, "benutzer", sourceBENUTZER), sourceBENUTZER, (this.benutzer!= null)));
                    copy.setBENUTZER(copyBENUTZER);
                } else {
                    if (benutzerShouldBeCopiedAndSet == Boolean.FALSE) {
                        copy.benutzer = null;
                    }
                }
            }
            {
                Boolean objekteShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, (this.objekte!= null));
                if (objekteShouldBeCopiedAndSet == Boolean.TRUE) {
                    WIS.OBJEKTE sourceOBJEKTE;
                    sourceOBJEKTE = this.getOBJEKTE();
                    WIS.OBJEKTE copyOBJEKTE = ((WIS.OBJEKTE) strategy.copy(LocatorUtils.property(locator, "objekte", sourceOBJEKTE), sourceOBJEKTE, (this.objekte!= null)));
                    copy.setOBJEKTE(copyOBJEKTE);
                } else {
                    if (objekteShouldBeCopiedAndSet == Boolean.FALSE) {
                        copy.objekte = null;
                    }
                }
            }
        }
        return draftCopy;
    }

    @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:55:50+02:00", comments = "JAXB RI v2.2.11")
    public Object createNewInstance() {
        return new WIS();
    }

    @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:55:50+02:00", comments = "JAXB RI v2.2.11")
    public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy2 strategy) {
        if ((object == null)||(this.getClass()!= object.getClass())) {
            return false;
        }
        if (this == object) {
            return true;
        }
        final WIS that = ((WIS) object);
        {
            WIS.BENUTZER lhsBENUTZER;
            lhsBENUTZER = this.getBENUTZER();
            WIS.BENUTZER rhsBENUTZER;
            rhsBENUTZER = that.getBENUTZER();
            if (!strategy.equals(LocatorUtils.property(thisLocator, "benutzer", lhsBENUTZER), LocatorUtils.property(thatLocator, "benutzer", rhsBENUTZER), lhsBENUTZER, rhsBENUTZER, (this.benutzer!= null), (that.benutzer!= null))) {
                return false;
            }
        }
        {
            WIS.OBJEKTE lhsOBJEKTE;
            lhsOBJEKTE = this.getOBJEKTE();
            WIS.OBJEKTE rhsOBJEKTE;
            rhsOBJEKTE = that.getOBJEKTE();
            if (!strategy.equals(LocatorUtils.property(thisLocator, "objekte", lhsOBJEKTE), LocatorUtils.property(thatLocator, "objekte", rhsOBJEKTE), lhsOBJEKTE, rhsOBJEKTE, (this.objekte!= null), (that.objekte!= null))) {
                return false;
            }
        }
        return true;
    }

    @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:55:50+02:00", comments = "JAXB RI v2.2.11")
    public boolean equals(Object object) {
        final EqualsStrategy2 strategy = JAXBEqualsStrategy.INSTANCE;
        return equals(null, null, object, strategy);
    }

    /**
     *
Java class for anonymous complex type.
     *
     *
The following schema fragment specifies the expected content contained within this class.
     *
     *

     * <complexType>
     *   <complexContent>
     *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *       <sequence>
     *         <element name="KDNR" type="{http://www.w3.org/2001/XMLSchema}string"/>
     *       </sequence>
     *     </restriction>
     *   </complexContent>
     * </complexType>
     *

     *
     *
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "", propOrder = {
        "kdnr"
    })
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:55:50+02:00", comments = "JAXB RI v2.2.11")
    public static class BENUTZER implements Serializable, Cloneable, CopyTo2, Equals2, ToString2
    {

        @XmlElement(name = "KDNR", required = true)
        @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:55:50+02:00", comments = "JAXB RI v2.2.11")
        protected String kdnr;

        /**
         * Gets the value of the kdnr property.
         *
         * @return
         *     possible object is
         *     {@link String }
         *
         */
        @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:55:50+02:00", comments = "JAXB RI v2.2.11")
        public String getKDNR() {
            return kdnr;
        }

        /**
         * Sets the value of the kdnr property.
         *
         * @param value
         *     allowed object is
         *     {@link String }
         *
         */
        @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:55:50+02:00", comments = "JAXB RI v2.2.11")
        public void setKDNR(String value) {
            this.kdnr = value;
        }

        @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:55:50+02:00", comments = "JAXB RI v2.2.11")
        public String toString() {
            final ToStringStrategy2 strategy = JAXBToStringStrategy.INSTANCE;
            final StringBuilder buffer = new StringBuilder();
            append(null, buffer, strategy);
            return buffer.toString();
        }

        @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:55:50+02:00", comments = "JAXB RI v2.2.11")
        public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy2 strategy) {
            strategy.appendStart(locator, this, buffer);
            appendFields(locator, buffer, strategy);
            strategy.appendEnd(locator, this, buffer);
            return buffer;
        }

        @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:55:50+02:00", comments = "JAXB RI v2.2.11")
        public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy2 strategy) {
            {
                String theKDNR;
                theKDNR = this.getKDNR();
                strategy.appendField(locator, this, "kdnr", buffer, theKDNR, (this.kdnr!= null));
            }
            return buffer;
        }

        @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:55:50+02:00", comments = "JAXB RI v2.2.11")
        public Object clone() {
            return copyTo(createNewInstance());
        }

        @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:55:50+02:00", comments = "JAXB RI v2.2.11")
        public Object copyTo(Object target) {
            final CopyStrategy2 strategy = JAXBCopyStrategy.INSTANCE;
            return copyTo(null, target, strategy);
        }

        @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:55:50+02:00", comments = "JAXB RI v2.2.11")
        public Object copyTo(ObjectLocator locator, Object target, CopyStrategy2 strategy) {
            final Object draftCopy = ((target == null)?createNewInstance():target);
            if (draftCopy instanceof WIS.BENUTZER) {
                final WIS.BENUTZER copy = ((WIS.BENUTZER) draftCopy);
                {
                    Boolean kdnrShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, (this.kdnr!= null));
                    if (kdnrShouldBeCopiedAndSet == Boolean.TRUE) {
                        String sourceKDNR;
                        sourceKDNR = this.getKDNR();
                        String copyKDNR = ((String) strategy.copy(LocatorUtils.property(locator, "kdnr", sourceKDNR), sourceKDNR, (this.kdnr!= null)));
                        copy.setKDNR(copyKDNR);
                    } else {
                        if (kdnrShouldBeCopiedAndSet == Boolean.FALSE) {
                            copy.kdnr = null;
                        }
                    }
                }
            }
            return draftCopy;
        }

        @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:55:50+02:00", comments = "JAXB RI v2.2.11")
        public Object createNewInstance() {
            return new WIS.BENUTZER();
        }

        @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:55:50+02:00", comments = "JAXB RI v2.2.11")
        public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy2 strategy) {
            if ((object == null)||(this.getClass()!= object.getClass())) {
                return false;
            }
            if (this == object) {
                return true;
            }
            final WIS.BENUTZER that = ((WIS.BENUTZER) object);
            {
                String lhsKDNR;
                lhsKDNR = this.getKDNR();
                String rhsKDNR;
                rhsKDNR = that.getKDNR();
                if (!strategy.equals(LocatorUtils.property(thisLocator, "kdnr", lhsKDNR), LocatorUtils.property(thatLocator, "kdnr", rhsKDNR), lhsKDNR, rhsKDNR, (this.kdnr!= null), (that.kdnr!= null))) {
                    return false;
                }
            }
            return true;
        }

        @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:55:50+02:00", comments = "JAXB RI v2.2.11")
        public boolean equals(Object object) {
            final EqualsStrategy2 strategy = JAXBEqualsStrategy.INSTANCE;
            return equals(null, null, object, strategy);
        }

    }

    /**
     *
Java class for anonymous complex type.
     *
     *
The following schema fragment specifies the expected content contained within this class.
     *
     *

     * <complexType>
     *   <complexContent>
     *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *       <sequence>
     *         <element name="ANZAHL" type="{http://www.w3.org/2001/XMLSchema}positiveInteger"/>
     *         <element name="OBJEKT" type="{}ObjectType" maxOccurs="unbounded" minOccurs="0"/>
     *       </sequence>
     *     </restriction>
     *   </complexContent>
     * </complexType>
     *

     *
     *
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "", propOrder = {
        "anzahl",
        "objekt"
    })
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:55:50+02:00", comments = "JAXB RI v2.2.11")
    public static class OBJEKTE implements Serializable, Cloneable, CopyTo2, Equals2, ToString2
    {

        @XmlElement(name = "ANZAHL", required = true, type = String.class)
        @XmlJavaTypeAdapter(Adapter2 .class)
        @XmlSchemaType(name = "positiveInteger")
        @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:55:50+02:00", comments = "JAXB RI v2.2.11")
        protected BigInteger anzahl;
        @XmlElement(name = "OBJEKT")
        @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:55:50+02:00", comments = "JAXB RI v2.2.11")
        protected List<ObjectType> objekt;

        /**
         * Gets the value of the anzahl property.
         *
         * @return
         *     possible object is
         *     {@link String }
         *
         */
        @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:55:50+02:00", comments = "JAXB RI v2.2.11")
        public BigInteger getANZAHL() {
            return anzahl;
        }

        /**
         * Sets the value of the anzahl property.
         *
         * @param value
         *     allowed object is
         *     {@link String }
         *
         */
        @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:55:50+02:00", comments = "JAXB RI v2.2.11")
        public void setANZAHL(BigInteger value) {
            this.anzahl = value;
        }

        /**
         * Gets the value of the objekt property.
         *
         *

         * 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 set method for the objekt property.
         *
         *

         * For example, to add a new item, do as follows:
         *

         *    getOBJEKT().add(newItem);
         *

         *
         *
         *

         * Objects of the following type(s) are allowed in the list
         * {@link ObjectType }
         *
         *
         */
        @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:55:50+02:00", comments = "JAXB RI v2.2.11")
        public List<ObjectType> getOBJEKT() {
            if (objekt == null) {
                objekt = new ArrayList<ObjectType>();
            }
            return this.objekt;
        }

        @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:55:50+02:00", comments = "JAXB RI v2.2.11")
        public String toString() {
            final ToStringStrategy2 strategy = JAXBToStringStrategy.INSTANCE;
            final StringBuilder buffer = new StringBuilder();
            append(null, buffer, strategy);
            return buffer.toString();
        }

        @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:55:50+02:00", comments = "JAXB RI v2.2.11")
        public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy2 strategy) {
            strategy.appendStart(locator, this, buffer);
            appendFields(locator, buffer, strategy);
            strategy.appendEnd(locator, this, buffer);
            return buffer;
        }

        @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:55:50+02:00", comments = "JAXB RI v2.2.11")
        public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy2 strategy) {
            {
                BigInteger theANZAHL;
                theANZAHL = this.getANZAHL();
                strategy.appendField(locator, this, "anzahl", buffer, theANZAHL, (this.anzahl!= null));
            }
            {
                List<ObjectType> theOBJEKT;
                theOBJEKT = (((this.objekt!= null)&&(!this.objekt.isEmpty()))?this.getOBJEKT():null);
                strategy.appendField(locator, this, "objekt", buffer, theOBJEKT, ((this.objekt!= null)&&(!this.objekt.isEmpty())));
            }
            return buffer;
        }

        @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:55:50+02:00", comments = "JAXB RI v2.2.11")
        public Object clone() {
            return copyTo(createNewInstance());
        }

        @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:55:50+02:00", comments = "JAXB RI v2.2.11")
        public Object copyTo(Object target) {
            final CopyStrategy2 strategy = JAXBCopyStrategy.INSTANCE;
            return copyTo(null, target, strategy);
        }

        @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:55:50+02:00", comments = "JAXB RI v2.2.11")
        public Object copyTo(ObjectLocator locator, Object target, CopyStrategy2 strategy) {
            final Object draftCopy = ((target == null)?createNewInstance():target);
            if (draftCopy instanceof WIS.OBJEKTE) {
                final WIS.OBJEKTE copy = ((WIS.OBJEKTE) draftCopy);
                {
                    Boolean anzahlShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, (this.anzahl!= null));
                    if (anzahlShouldBeCopiedAndSet == Boolean.TRUE) {
                        BigInteger sourceANZAHL;
                        sourceANZAHL = this.getANZAHL();
                        BigInteger copyANZAHL = ((BigInteger) strategy.copy(LocatorUtils.property(locator, "anzahl", sourceANZAHL), sourceANZAHL, (this.anzahl!= null)));
                        copy.setANZAHL(copyANZAHL);
                    } else {
                        if (anzahlShouldBeCopiedAndSet == Boolean.FALSE) {
                            copy.anzahl = null;
                        }
                    }
                }
                {
                    Boolean objektShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, ((this.objekt!= null)&&(!this.objekt.isEmpty())));
                    if (objektShouldBeCopiedAndSet == Boolean.TRUE) {
                        List<ObjectType> sourceOBJEKT;
                        sourceOBJEKT = (((this.objekt!= null)&&(!this.objekt.isEmpty()))?this.getOBJEKT():null);
                        @SuppressWarnings("unchecked")
                        List<ObjectType> copyOBJEKT = ((List<ObjectType> ) strategy.copy(LocatorUtils.property(locator, "objekt", sourceOBJEKT), sourceOBJEKT, ((this.objekt!= null)&&(!this.objekt.isEmpty()))));
                        copy.objekt = null;
                        if (copyOBJEKT!= null) {
                            List<ObjectType> uniqueOBJEKTl = copy.getOBJEKT();
                            uniqueOBJEKTl.addAll(copyOBJEKT);
                        }
                    } else {
                        if (objektShouldBeCopiedAndSet == Boolean.FALSE) {
                            copy.objekt = null;
                        }
                    }
                }
            }
            return draftCopy;
        }

        @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:55:50+02:00", comments = "JAXB RI v2.2.11")
        public Object createNewInstance() {
            return new WIS.OBJEKTE();
        }

        @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:55:50+02:00", comments = "JAXB RI v2.2.11")
        public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy2 strategy) {
            if ((object == null)||(this.getClass()!= object.getClass())) {
                return false;
            }
            if (this == object) {
                return true;
            }
            final WIS.OBJEKTE that = ((WIS.OBJEKTE) object);
            {
                BigInteger lhsANZAHL;
                lhsANZAHL = this.getANZAHL();
                BigInteger rhsANZAHL;
                rhsANZAHL = that.getANZAHL();
                if (!strategy.equals(LocatorUtils.property(thisLocator, "anzahl", lhsANZAHL), LocatorUtils.property(thatLocator, "anzahl", rhsANZAHL), lhsANZAHL, rhsANZAHL, (this.anzahl!= null), (that.anzahl!= null))) {
                    return false;
                }
            }
            {
                List<ObjectType> lhsOBJEKT;
                lhsOBJEKT = (((this.objekt!= null)&&(!this.objekt.isEmpty()))?this.getOBJEKT():null);
                List<ObjectType> rhsOBJEKT;
                rhsOBJEKT = (((that.objekt!= null)&&(!that.objekt.isEmpty()))?that.getOBJEKT():null);
                if (!strategy.equals(LocatorUtils.property(thisLocator, "objekt", lhsOBJEKT), LocatorUtils.property(thatLocator, "objekt", rhsOBJEKT), lhsOBJEKT, rhsOBJEKT, ((this.objekt!= null)&&(!this.objekt.isEmpty())), ((that.objekt!= null)&&(!that.objekt.isEmpty())))) {
                    return false;
                }
            }
            return true;
        }

        @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:55:50+02:00", comments = "JAXB RI v2.2.11")
        public boolean equals(Object object) {
            final EqualsStrategy2 strategy = JAXBEqualsStrategy.INSTANCE;
            return equals(null, null, object, strategy);
        }

    }

}


package org.openestate.io.daft_ie.xml;

import java.io.Serializable;
import java.net.URI;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import javax.annotation.Generated;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import org.jvnet.jaxb2_commons.lang.CopyStrategy2;
import org.jvnet.jaxb2_commons.lang.CopyTo2;
import org.jvnet.jaxb2_commons.lang.Equals2;
import org.jvnet.jaxb2_commons.lang.EqualsStrategy2;
import org.jvnet.jaxb2_commons.lang.JAXBCopyStrategy;
import org.jvnet.jaxb2_commons.lang.JAXBEqualsStrategy;
import org.jvnet.jaxb2_commons.lang.JAXBToStringStrategy;
import org.jvnet.jaxb2_commons.lang.ToString2;
import org.jvnet.jaxb2_commons.lang.ToStringStrategy2;
import org.jvnet.jaxb2_commons.locator.ObjectLocator;
import org.jvnet.jaxb2_commons.locator.util.LocatorUtils;

/**
 *
Java class for anonymous complex type.
 *
 *
The following schema fragment specifies the expected content contained within this class.
 *
 *

 * <complexType>
 *   <complexContent>
 *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       <sequence>
 *         <element name="feed" maxOccurs="unbounded" minOccurs="0">
 *           <complexType>
 *             <complexContent>
 *               <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                 <all>
 *                   <element name="loc" type="{http://www.w3.org/2001/XMLSchema}anyURI"/>
 *                   <element name="lastmod" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
 *                 </all>
 *               </restriction>
 *             </complexContent>
 *           </complexType>
 *         </element>
 *       </sequence>
 *     </restriction>
 *   </complexContent>
 * </complexType>
 *

 *
 *
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
    "feed"
})
@XmlRootElement(name = "feedindex")
@Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:41:42+02:00", comments = "JAXB RI v2.2.11")
public class Feedindex implements Serializable, Cloneable, CopyTo2, Equals2, ToString2
{

    @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:41:42+02:00", comments = "JAXB RI v2.2.11")
    protected List<Feedindex.Feed> feed;

    /**
     * Gets the value of the feed property.
     *
     *

     * 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 set method for the feed property.
     *
     *

     * For example, to add a new item, do as follows:
     *

     *    getFeed().add(newItem);
     *

     *
     *
     *

     * Objects of the following type(s) are allowed in the list
     * {@link Feedindex.Feed }
     *
     *
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:41:42+02:00", comments = "JAXB RI v2.2.11")
    public List<Feedindex.Feed> getFeed() {
        if (feed == null) {
            feed = new ArrayList<Feedindex.Feed>();
        }
        return this.feed;
    }

    @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:41:42+02:00", comments = "JAXB RI v2.2.11")
    public String toString() {
        final ToStringStrategy2 strategy = JAXBToStringStrategy.INSTANCE;
        final StringBuilder buffer = new StringBuilder();
        append(null, buffer, strategy);
        return buffer.toString();
    }

    @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:41:42+02:00", comments = "JAXB RI v2.2.11")
    public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy2 strategy) {
        strategy.appendStart(locator, this, buffer);
        appendFields(locator, buffer, strategy);
        strategy.appendEnd(locator, this, buffer);
        return buffer;
    }

    @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:41:42+02:00", comments = "JAXB RI v2.2.11")
    public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy2 strategy) {
        {
            List<Feedindex.Feed> theFeed;
            theFeed = (((this.feed!= null)&&(!this.feed.isEmpty()))?this.getFeed():null);
            strategy.appendField(locator, this, "feed", buffer, theFeed, ((this.feed!= null)&&(!this.feed.isEmpty())));
        }
        return buffer;
    }

    @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:41:42+02:00", comments = "JAXB RI v2.2.11")
    public Object clone() {
        return copyTo(createNewInstance());
    }

    @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:41:42+02:00", comments = "JAXB RI v2.2.11")
    public Object copyTo(Object target) {
        final CopyStrategy2 strategy = JAXBCopyStrategy.INSTANCE;
        return copyTo(null, target, strategy);
    }

    @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:41:42+02:00", comments = "JAXB RI v2.2.11")
    public Object copyTo(ObjectLocator locator, Object target, CopyStrategy2 strategy) {
        final Object draftCopy = ((target == null)?createNewInstance():target);
        if (draftCopy instanceof Feedindex) {
            final Feedindex copy = ((Feedindex) draftCopy);
            {
                Boolean feedShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, ((this.feed!= null)&&(!this.feed.isEmpty())));
                if (feedShouldBeCopiedAndSet == Boolean.TRUE) {
                    List<Feedindex.Feed> sourceFeed;
                    sourceFeed = (((this.feed!= null)&&(!this.feed.isEmpty()))?this.getFeed():null);
                    @SuppressWarnings("unchecked")
                    List<Feedindex.Feed> copyFeed = ((List<Feedindex.Feed> ) strategy.copy(LocatorUtils.property(locator, "feed", sourceFeed), sourceFeed, ((this.feed!= null)&&(!this.feed.isEmpty()))));
                    copy.feed = null;
                    if (copyFeed!= null) {
                        List<Feedindex.Feed> uniqueFeedl = copy.getFeed();
                        uniqueFeedl.addAll(copyFeed);
                    }
                } else {
                    if (feedShouldBeCopiedAndSet == Boolean.FALSE) {
                        copy.feed = null;
                    }
                }
            }
        }
        return draftCopy;
    }

    @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:41:42+02:00", comments = "JAXB RI v2.2.11")
    public Object createNewInstance() {
        return new Feedindex();
    }

    @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:41:42+02:00", comments = "JAXB RI v2.2.11")
    public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy2 strategy) {
        if ((object == null)||(this.getClass()!= object.getClass())) {
            return false;
        }
        if (this == object) {
            return true;
        }
        final Feedindex that = ((Feedindex) object);
        {
            List<Feedindex.Feed> lhsFeed;
            lhsFeed = (((this.feed!= null)&&(!this.feed.isEmpty()))?this.getFeed():null);
            List<Feedindex.Feed> rhsFeed;
            rhsFeed = (((that.feed!= null)&&(!that.feed.isEmpty()))?that.getFeed():null);
            if (!strategy.equals(LocatorUtils.property(thisLocator, "feed", lhsFeed), LocatorUtils.property(thatLocator, "feed", rhsFeed), lhsFeed, rhsFeed, ((this.feed!= null)&&(!this.feed.isEmpty())), ((that.feed!= null)&&(!that.feed.isEmpty())))) {
                return false;
            }
        }
        return true;
    }

    @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:41:42+02:00", comments = "JAXB RI v2.2.11")
    public boolean equals(Object object) {
        final EqualsStrategy2 strategy = JAXBEqualsStrategy.INSTANCE;
        return equals(null, null, object, strategy);
    }

    /**
     *
Java class for anonymous complex type.
     *
     *
The following schema fragment specifies the expected content contained within this class.
     *
     *

     * <complexType>
     *   <complexContent>
     *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *       <all>
     *         <element name="loc" type="{http://www.w3.org/2001/XMLSchema}anyURI"/>
     *         <element name="lastmod" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
     *       </all>
     *     </restriction>
     *   </complexContent>
     * </complexType>
     *

     *
     *
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "", propOrder = {

    })
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:41:42+02:00", comments = "JAXB RI v2.2.11")
    public static class Feed implements Serializable, Cloneable, CopyTo2, Equals2, ToString2
    {

        @XmlElement(required = true, type = String.class)
        @XmlJavaTypeAdapter(Adapter3 .class)
        @XmlSchemaType(name = "anyURI")
        @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:41:42+02:00", comments = "JAXB RI v2.2.11")
        protected URI loc;
        @XmlElement(type = String.class)
        @XmlJavaTypeAdapter(Adapter1 .class)
        @XmlSchemaType(name = "dateTime")
        @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:41:42+02:00", comments = "JAXB RI v2.2.11")
        protected Calendar lastmod;

        /**
         * Gets the value of the loc property.
         *
         * @return
         *     possible object is
         *     {@link String }
         *
         */
        @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:41:42+02:00", comments = "JAXB RI v2.2.11")
        public URI getLoc() {
            return loc;
        }

        /**
         * Sets the value of the loc property.
         *
         * @param value
         *     allowed object is
         *     {@link String }
         *
         */
        @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:41:42+02:00", comments = "JAXB RI v2.2.11")
        public void setLoc(URI value) {
            this.loc = value;
        }

        /**
         * Gets the value of the lastmod property.
         *
         * @return
         *     possible object is
         *     {@link String }
         *
         */
        @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:41:42+02:00", comments = "JAXB RI v2.2.11")
        public Calendar getLastmod() {
            return lastmod;
        }

        /**
         * Sets the value of the lastmod property.
         *
         * @param value
         *     allowed object is
         *     {@link String }
         *
         */
        @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:41:42+02:00", comments = "JAXB RI v2.2.11")
        public void setLastmod(Calendar value) {
            this.lastmod = value;
        }

        @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:41:42+02:00", comments = "JAXB RI v2.2.11")
        public String toString() {
            final ToStringStrategy2 strategy = JAXBToStringStrategy.INSTANCE;
            final StringBuilder buffer = new StringBuilder();
            append(null, buffer, strategy);
            return buffer.toString();
        }

        @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:41:42+02:00", comments = "JAXB RI v2.2.11")
        public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy2 strategy) {
            strategy.appendStart(locator, this, buffer);
            appendFields(locator, buffer, strategy);
            strategy.appendEnd(locator, this, buffer);
            return buffer;
        }

        @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:41:42+02:00", comments = "JAXB RI v2.2.11")
        public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy2 strategy) {
            {
                URI theLoc;
                theLoc = this.getLoc();
                strategy.appendField(locator, this, "loc", buffer, theLoc, (this.loc!= null));
            }
            {
                Calendar theLastmod;
                theLastmod = this.getLastmod();
                strategy.appendField(locator, this, "lastmod", buffer, theLastmod, (this.lastmod!= null));
            }
            return buffer;
        }

        @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:41:42+02:00", comments = "JAXB RI v2.2.11")
        public Object clone() {
            return copyTo(createNewInstance());
        }

        @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:41:42+02:00", comments = "JAXB RI v2.2.11")
        public Object copyTo(Object target) {
            final CopyStrategy2 strategy = JAXBCopyStrategy.INSTANCE;
            return copyTo(null, target, strategy);
        }

        @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:41:42+02:00", comments = "JAXB RI v2.2.11")
        public Object copyTo(ObjectLocator locator, Object target, CopyStrategy2 strategy) {
            final Object draftCopy = ((target == null)?createNewInstance():target);
            if (draftCopy instanceof Feedindex.Feed) {
                final Feedindex.Feed copy = ((Feedindex.Feed) draftCopy);
                {
                    Boolean locShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, (this.loc!= null));
                    if (locShouldBeCopiedAndSet == Boolean.TRUE) {
                        URI sourceLoc;
                        sourceLoc = this.getLoc();
                        URI copyLoc = ((URI) strategy.copy(LocatorUtils.property(locator, "loc", sourceLoc), sourceLoc, (this.loc!= null)));
                        copy.setLoc(copyLoc);
                    } else {
                        if (locShouldBeCopiedAndSet == Boolean.FALSE) {
                            copy.loc = null;
                        }
                    }
                }
                {
                    Boolean lastmodShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, (this.lastmod!= null));
                    if (lastmodShouldBeCopiedAndSet == Boolean.TRUE) {
                        Calendar sourceLastmod;
                        sourceLastmod = this.getLastmod();
                        Calendar copyLastmod = ((Calendar) strategy.copy(LocatorUtils.property(locator, "lastmod", sourceLastmod), sourceLastmod, (this.lastmod!= null)));
                        copy.setLastmod(copyLastmod);
                    } else {
                        if (lastmodShouldBeCopiedAndSet == Boolean.FALSE) {
                            copy.lastmod = null;
                        }
                    }
                }
            }
            return draftCopy;
        }

        @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:41:42+02:00", comments = "JAXB RI v2.2.11")
        public Object createNewInstance() {
            return new Feedindex.Feed();
        }

        @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:41:42+02:00", comments = "JAXB RI v2.2.11")
        public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy2 strategy) {
            if ((object == null)||(this.getClass()!= object.getClass())) {
                return false;
            }
            if (this == object) {
                return true;
            }
            final Feedindex.Feed that = ((Feedindex.Feed) object);
            {
                URI lhsLoc;
                lhsLoc = this.getLoc();
                URI rhsLoc;
                rhsLoc = that.getLoc();
                if (!strategy.equals(LocatorUtils.property(thisLocator, "loc", lhsLoc), LocatorUtils.property(thatLocator, "loc", rhsLoc), lhsLoc, rhsLoc, (this.loc!= null), (that.loc!= null))) {
                    return false;
                }
            }
            {
                Calendar lhsLastmod;
                lhsLastmod = this.getLastmod();
                Calendar rhsLastmod;
                rhsLastmod = that.getLastmod();
                if (!strategy.equals(LocatorUtils.property(thisLocator, "lastmod", lhsLastmod), LocatorUtils.property(thatLocator, "lastmod", rhsLastmod), lhsLastmod, rhsLastmod, (this.lastmod!= null), (that.lastmod!= null))) {
                    return false;
                }
            }
            return true;
        }

        @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:41:42+02:00", comments = "JAXB RI v2.2.11")
        public boolean equals(Object object) {
            final EqualsStrategy2 strategy = JAXBEqualsStrategy.INSTANCE;
            return equals(null, null, object, strategy);
        }

    }

}


package org.openestate.io.openimmo.xml;

import java.io.Serializable;
import javax.annotation.Generated;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlEnum;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
import org.jvnet.jaxb2_commons.lang.CopyStrategy2;
import org.jvnet.jaxb2_commons.lang.CopyTo2;
import org.jvnet.jaxb2_commons.lang.Equals2;
import org.jvnet.jaxb2_commons.lang.EqualsStrategy2;
import org.jvnet.jaxb2_commons.lang.JAXBCopyStrategy;
import org.jvnet.jaxb2_commons.lang.JAXBEqualsStrategy;
import org.jvnet.jaxb2_commons.lang.JAXBToStringStrategy;
import org.jvnet.jaxb2_commons.lang.ToString2;
import org.jvnet.jaxb2_commons.lang.ToStringStrategy2;
import org.jvnet.jaxb2_commons.locator.ObjectLocator;
import org.jvnet.jaxb2_commons.locator.util.LocatorUtils;

/**
 * Java class for <moebliert> element.
 *
 *
 *
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "")
@XmlRootElement(name = "moebliert")
@Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:54:50+02:00", comments = "JAXB RI v2.2.11")
public class Moebliert implements Serializable, Cloneable, CopyTo2, Equals2, ToString2
{

    @XmlAttribute(name = "moeb")
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:54:50+02:00", comments = "JAXB RI v2.2.11")
    protected Moebliert.Moeb moeb;

    /**
     * Gets the value of the moeb property.
     *
     * @return
     *     possible object is
     *     {@link Moebliert.Moeb }
     *
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:54:50+02:00", comments = "JAXB RI v2.2.11")
    public Moebliert.Moeb getMoeb() {
        return moeb;
    }

    /**
     * Sets the value of the moeb property.
     *
     * @param value
     *     allowed object is
     *     {@link Moebliert.Moeb }
     *
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:54:50+02:00", comments = "JAXB RI v2.2.11")
    public void setMoeb(Moebliert.Moeb value) {
        this.moeb = value;
    }

    @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:54:50+02:00", comments = "JAXB RI v2.2.11")
    public String toString() {
        final ToStringStrategy2 strategy = JAXBToStringStrategy.INSTANCE;
        final StringBuilder buffer = new StringBuilder();
        append(null, buffer, strategy);
        return buffer.toString();
    }

    @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:54:50+02:00", comments = "JAXB RI v2.2.11")
    public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy2 strategy) {
        strategy.appendStart(locator, this, buffer);
        appendFields(locator, buffer, strategy);
        strategy.appendEnd(locator, this, buffer);
        return buffer;
    }

    @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:54:50+02:00", comments = "JAXB RI v2.2.11")
    public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy2 strategy) {
        {
            Moebliert.Moeb theMoeb;
            theMoeb = this.getMoeb();
            strategy.appendField(locator, this, "moeb", buffer, theMoeb, (this.moeb!= null));
        }
        return buffer;
    }

    @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:54:50+02:00", comments = "JAXB RI v2.2.11")
    public Object clone() {
        return copyTo(createNewInstance());
    }

    @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:54:50+02:00", comments = "JAXB RI v2.2.11")
    public Object copyTo(Object target) {
        final CopyStrategy2 strategy = JAXBCopyStrategy.INSTANCE;
        return copyTo(null, target, strategy);
    }

    @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:54:50+02:00", comments = "JAXB RI v2.2.11")
    public Object copyTo(ObjectLocator locator, Object target, CopyStrategy2 strategy) {
        final Object draftCopy = ((target == null)?createNewInstance():target);
        if (draftCopy instanceof Moebliert) {
            final Moebliert copy = ((Moebliert) draftCopy);
            {
                Boolean moebShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, (this.moeb!= null));
                if (moebShouldBeCopiedAndSet == Boolean.TRUE) {
                    Moebliert.Moeb sourceMoeb;
                    sourceMoeb = this.getMoeb();
                    Moebliert.Moeb copyMoeb = ((Moebliert.Moeb) strategy.copy(LocatorUtils.property(locator, "moeb", sourceMoeb), sourceMoeb, (this.moeb!= null)));
                    copy.setMoeb(copyMoeb);
                } else {
                    if (moebShouldBeCopiedAndSet == Boolean.FALSE) {
                        copy.moeb = null;
                    }
                }
            }
        }
        return draftCopy;
    }

    @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:54:50+02:00", comments = "JAXB RI v2.2.11")
    public Object createNewInstance() {
        return new Moebliert();
    }

    @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:54:50+02:00", comments = "JAXB RI v2.2.11")
    public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy2 strategy) {
        if ((object == null)||(this.getClass()!= object.getClass())) {
            return false;
        }
        if (this == object) {
            return true;
        }
        final Moebliert that = ((Moebliert) object);
        {
            Moebliert.Moeb lhsMoeb;
            lhsMoeb = this.getMoeb();
            Moebliert.Moeb rhsMoeb;
            rhsMoeb = that.getMoeb();
            if (!strategy.equals(LocatorUtils.property(thisLocator, "moeb", lhsMoeb), LocatorUtils.property(thatLocator, "moeb", rhsMoeb), lhsMoeb, rhsMoeb, (this.moeb!= null), (that.moeb!= null))) {
                return false;
            }
        }
        return true;
    }

    @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:54:50+02:00", comments = "JAXB RI v2.2.11")
    public boolean equals(Object object) {
        final EqualsStrategy2 strategy = JAXBEqualsStrategy.INSTANCE;
        return equals(null, null, object, strategy);
    }

    /**
     *
     *                     Java enum for moeb attribute in <moebliert> elements.
     *
     *
Java class for null.
     *
     *
The following schema fragment specifies the expected content contained within this class.
     *

     *

     * <simpleType>
     *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
     *     <enumeration value="VOLL"/>
     *     <enumeration value="TEIL"/>
     *   </restriction>
     * </simpleType>
     *

     *
     */
    @XmlType(name = "")
    @XmlEnum
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2018-10-12T02:54:50+02:00", comments = "JAXB RI v2.2.11")
    public enum Moeb {

        VOLL,
        TEIL;

        public String value() {
            return name();
        }

        public static Moebliert.Moeb fromValue(String v) {
            return valueOf(v);
        }

    }

}