Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
   //
   // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 
   // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
   // Any modifications to this file will be lost upon recompilation of the source schema. 
   // Generated on: 2015.04.16 at 07:39:09 AM CEST 
   //
   
   
   package net.opengis.iso19139.gmd.v_20060504;
  
  import java.util.List;
Standardized resource reference

Java class for CI_Citation_Type complex type.

The following schema fragment specifies the expected content contained within this class.

 <complexType name="CI_Citation_Type">
   <complexContent>
     <extension base="{http://www.isotc211.org/2005/gco}AbstractObject_Type">
       <sequence>
         <element name="title" type="{http://www.isotc211.org/2005/gco}CharacterString_PropertyType"/>
         <element name="alternateTitle" type="{http://www.isotc211.org/2005/gco}CharacterString_PropertyType" maxOccurs="unbounded" minOccurs="0"/>
         <element name="date" type="{http://www.isotc211.org/2005/gmd}CI_Date_PropertyType" maxOccurs="unbounded"/>
         <element name="edition" type="{http://www.isotc211.org/2005/gco}CharacterString_PropertyType" minOccurs="0"/>
         <element name="editionDate" type="{http://www.isotc211.org/2005/gco}Date_PropertyType" minOccurs="0"/>
         <element name="identifier" type="{http://www.isotc211.org/2005/gmd}MD_Identifier_PropertyType" maxOccurs="unbounded" minOccurs="0"/>
         <element name="citedResponsibleParty" type="{http://www.isotc211.org/2005/gmd}CI_ResponsibleParty_PropertyType" maxOccurs="unbounded" minOccurs="0"/>
         <element name="presentationForm" type="{http://www.isotc211.org/2005/gmd}CI_PresentationFormCode_PropertyType" maxOccurs="unbounded" minOccurs="0"/>
         <element name="series" type="{http://www.isotc211.org/2005/gmd}CI_Series_PropertyType" minOccurs="0"/>
         <element name="otherCitationDetails" type="{http://www.isotc211.org/2005/gco}CharacterString_PropertyType" minOccurs="0"/>
         <element name="collectiveTitle" type="{http://www.isotc211.org/2005/gco}CharacterString_PropertyType" minOccurs="0"/>
         <element name="ISBN" type="{http://www.isotc211.org/2005/gco}CharacterString_PropertyType" minOccurs="0"/>
         <element name="ISSN" type="{http://www.isotc211.org/2005/gco}CharacterString_PropertyType" minOccurs="0"/>
       </sequence>
     </extension>
   </complexContent>
 </complexType>
 
  
  @XmlType(name = "CI_Citation_Type", propOrder = {
      "title",
      "alternateTitle",
      "date",
      "edition",
      "editionDate",
      "identifier",
      "citedResponsibleParty",
      "presentationForm",
      "series",
      "otherCitationDetails",
      "collectiveTitle",
      "isbn",
      "issn"
  })
  public class CICitationType
      extends AbstractObjectType
      implements CloneableCopyToEqualsHashCodeMergeFromToString
  {
  
      @XmlElement(required = true)
      protected CharacterStringPropertyType title;
      @XmlElement(required = true)
      protected List<CIDatePropertyTypedate;
      protected CharacterStringPropertyType edition;
     protected DatePropertyType editionDate;
     protected CISeriesPropertyType series;
     @XmlElement(name = "ISBN")
     protected CharacterStringPropertyType isbn;
     @XmlElement(name = "ISSN")
     protected CharacterStringPropertyType issn;

    
Gets the value of the title property.

Returns:
possible object is
 
         return ;
     }

    
Sets the value of the title property.

Parameters:
value allowed object is
 
     public void setTitle(CharacterStringPropertyType value) {
         this. = value;
     }

    
Gets the value of the alternateTitle 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 alternateTitle property.

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

    getAlternateTitle().add(newItem);
 

Objects of the following type(s) are allowed in the list

 
         if ( == null) {
              = new ArrayList<CharacterStringPropertyType>();
         }
         return this.;
     }

    
Gets the value of the date 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 date property.

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

    getDate().add(newItem);
 

Objects of the following type(s) are allowed in the list

 
     public List<CIDatePropertyTypegetDate() {
         if ( == null) {
              = new ArrayList<CIDatePropertyType>();
         }
         return this.;
     }

    
Gets the value of the edition property.

Returns:
possible object is
 
         return ;
     }

    
Sets the value of the edition property.

Parameters:
value allowed object is
 
     public void setEdition(CharacterStringPropertyType value) {
         this. = value;
     }

    
Gets the value of the editionDate property.

Returns:
possible object is
 
     public DatePropertyType getEditionDate() {
         return ;
     }

    
Sets the value of the editionDate property.

Parameters:
value allowed object is
 
     public void setEditionDate(DatePropertyType value) {
         this. = value;
     }

    
Gets the value of the identifier 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 identifier property.

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

    getIdentifier().add(newItem);
 

Objects of the following type(s) are allowed in the list

 
         if ( == null) {
              = new ArrayList<MDIdentifierPropertyType>();
         }
         return this.;
     }

    
Gets the value of the citedResponsibleParty 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 citedResponsibleParty property.

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

    getCitedResponsibleParty().add(newItem);
 

Objects of the following type(s) are allowed in the list

 
         if ( == null) {
         }
         return this.;
     }

    
Gets the value of the presentationForm 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 presentationForm property.

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

    getPresentationForm().add(newItem);
 

Objects of the following type(s) are allowed in the list

 
         if ( == null) {
         }
         return this.;
     }

    
Gets the value of the series property.

Returns:
possible object is
 
     public CISeriesPropertyType getSeries() {
         return ;
     }

    
Sets the value of the series property.

Parameters:
value allowed object is
 
     public void setSeries(CISeriesPropertyType value) {
         this. = value;
     }

    
Gets the value of the otherCitationDetails property.

Returns:
possible object is
 
         return ;
     }

    
Sets the value of the otherCitationDetails property.

Parameters:
value allowed object is
 
     public void setOtherCitationDetails(CharacterStringPropertyType value) {
         this. = value;
     }

    
Gets the value of the collectiveTitle property.

Returns:
possible object is
 
         return ;
     }

    
Sets the value of the collectiveTitle property.

Parameters:
value allowed object is
 
     public void setCollectiveTitle(CharacterStringPropertyType value) {
         this. = value;
     }

    
Gets the value of the isbn property.

Returns:
possible object is
 
     public CharacterStringPropertyType getISBN() {
         return ;
     }

    
Sets the value of the isbn property.

Parameters:
value allowed object is
 
     public void setISBN(CharacterStringPropertyType value) {
         this. = value;
     }

    
Gets the value of the issn property.

Returns:
possible object is
 
     public CharacterStringPropertyType getISSN() {
         return ;
     }

    
Sets the value of the issn property.

Parameters:
value allowed object is
 
     public void setISSN(CharacterStringPropertyType value) {
         this. = value;
     }
 
     public String toString() {
         final ToStringStrategy strategy = .;
         final StringBuilder buffer = new StringBuilder();
         append(nullbufferstrategy);
         return buffer.toString();
     }
 
     public StringBuilder append(ObjectLocator locatorStringBuilder bufferToStringStrategy strategy) {
         strategy.appendStart(locatorthisbuffer);
         appendFields(locatorbufferstrategy);
         strategy.appendEnd(locatorthisbuffer);
         return buffer;
     }
 
     public StringBuilder appendFields(ObjectLocator locatorStringBuilder bufferToStringStrategy strategy) {
         super.appendFields(locatorbufferstrategy);
         {
             CharacterStringPropertyType theTitle;
             theTitle = this.getTitle();
             strategy.appendField(locatorthis"title"buffertheTitle);
         }
         {
             List<CharacterStringPropertyTypetheAlternateTitle;
             theAlternateTitle = (((this.!= null)&&(!this..isEmpty()))?this.getAlternateTitle():null);
             strategy.appendField(locatorthis"alternateTitle"buffertheAlternateTitle);
         }
         {
             List<CIDatePropertyTypetheDate;
             theDate = (((this.!= null)&&(!this..isEmpty()))?this.getDate():null);
             strategy.appendField(locatorthis"date"buffertheDate);
         }
         {
             CharacterStringPropertyType theEdition;
             theEdition = this.getEdition();
             strategy.appendField(locatorthis"edition"buffertheEdition);
         }
         {
             DatePropertyType theEditionDate;
             theEditionDate = this.getEditionDate();
             strategy.appendField(locatorthis"editionDate"buffertheEditionDate);
         }
         {
             List<MDIdentifierPropertyTypetheIdentifier;
             theIdentifier = (((this.!= null)&&(!this..isEmpty()))?this.getIdentifier():null);
             strategy.appendField(locatorthis"identifier"buffertheIdentifier);
         }
         {
             List<CIResponsiblePartyPropertyTypetheCitedResponsibleParty;
             theCitedResponsibleParty = (((this.!= null)&&(!this..isEmpty()))?this.getCitedResponsibleParty():null);
             strategy.appendField(locatorthis"citedResponsibleParty"buffertheCitedResponsibleParty);
         }
         {
             List<CIPresentationFormCodePropertyTypethePresentationForm;
             thePresentationForm = (((this.!= null)&&(!this..isEmpty()))?this.getPresentationForm():null);
             strategy.appendField(locatorthis"presentationForm"bufferthePresentationForm);
         }
         {
             CISeriesPropertyType theSeries;
             theSeries = this.getSeries();
             strategy.appendField(locatorthis"series"buffertheSeries);
         }
         {
             CharacterStringPropertyType theOtherCitationDetails;
             theOtherCitationDetails = this.getOtherCitationDetails();
             strategy.appendField(locatorthis"otherCitationDetails"buffertheOtherCitationDetails);
         }
         {
             CharacterStringPropertyType theCollectiveTitle;
             theCollectiveTitle = this.getCollectiveTitle();
             strategy.appendField(locatorthis"collectiveTitle"buffertheCollectiveTitle);
         }
         {
             CharacterStringPropertyType theISBN;
             theISBN = this.getISBN();
             strategy.appendField(locatorthis"isbn"buffertheISBN);
         }
         {
             CharacterStringPropertyType theISSN;
             theISSN = this.getISSN();
             strategy.appendField(locatorthis"issn"buffertheISSN);
         }
         return buffer;
     }
 
     public boolean equals(ObjectLocator thisLocatorObjectLocator thatLocatorObject objectEqualsStrategy strategy) {
         if (!(object instanceof CICitationType)) {
             return false;
         }
         if (this == object) {
             return true;
         }
         if (!super.equals(thisLocatorthatLocatorobjectstrategy)) {
             return false;
         }
         final CICitationType that = ((CICitationTypeobject);
         {
             CharacterStringPropertyType lhsTitle;
             lhsTitle = this.getTitle();
             CharacterStringPropertyType rhsTitle;
             rhsTitle = that.getTitle();
             if (!strategy.equals(LocatorUtils.property(thisLocator"title"lhsTitle), LocatorUtils.property(thatLocator"title"rhsTitle), lhsTitlerhsTitle)) {
                 return false;
             }
         }
         {
             List<CharacterStringPropertyTypelhsAlternateTitle;
             lhsAlternateTitle = (((this.!= null)&&(!this..isEmpty()))?this.getAlternateTitle():null);
             List<CharacterStringPropertyTyperhsAlternateTitle;
             rhsAlternateTitle = (((that.alternateTitle!= null)&&(!that.alternateTitle.isEmpty()))?that.getAlternateTitle():null);
             if (!strategy.equals(LocatorUtils.property(thisLocator"alternateTitle"lhsAlternateTitle), LocatorUtils.property(thatLocator"alternateTitle"rhsAlternateTitle), lhsAlternateTitlerhsAlternateTitle)) {
                 return false;
             }
         }
         {
             List<CIDatePropertyTypelhsDate;
             lhsDate = (((this.!= null)&&(!this..isEmpty()))?this.getDate():null);
             List<CIDatePropertyTyperhsDate;
             rhsDate = (((that.date!= null)&&(!that.date.isEmpty()))?that.getDate():null);
             if (!strategy.equals(LocatorUtils.property(thisLocator"date"lhsDate), LocatorUtils.property(thatLocator"date"rhsDate), lhsDaterhsDate)) {
                 return false;
             }
         }
         {
             CharacterStringPropertyType lhsEdition;
             lhsEdition = this.getEdition();
             CharacterStringPropertyType rhsEdition;
             rhsEdition = that.getEdition();
             if (!strategy.equals(LocatorUtils.property(thisLocator"edition"lhsEdition), LocatorUtils.property(thatLocator"edition"rhsEdition), lhsEditionrhsEdition)) {
                 return false;
             }
         }
         {
             DatePropertyType lhsEditionDate;
             lhsEditionDate = this.getEditionDate();
             DatePropertyType rhsEditionDate;
             rhsEditionDate = that.getEditionDate();
             if (!strategy.equals(LocatorUtils.property(thisLocator"editionDate"lhsEditionDate), LocatorUtils.property(thatLocator"editionDate"rhsEditionDate), lhsEditionDaterhsEditionDate)) {
                 return false;
             }
         }
         {
             List<MDIdentifierPropertyTypelhsIdentifier;
             lhsIdentifier = (((this.!= null)&&(!this..isEmpty()))?this.getIdentifier():null);
             List<MDIdentifierPropertyTyperhsIdentifier;
             rhsIdentifier = (((that.identifier!= null)&&(!that.identifier.isEmpty()))?that.getIdentifier():null);
             if (!strategy.equals(LocatorUtils.property(thisLocator"identifier"lhsIdentifier), LocatorUtils.property(thatLocator"identifier"rhsIdentifier), lhsIdentifierrhsIdentifier)) {
                 return false;
             }
         }
         {
             List<CIResponsiblePartyPropertyTypelhsCitedResponsibleParty;
             lhsCitedResponsibleParty = (((this.!= null)&&(!this..isEmpty()))?this.getCitedResponsibleParty():null);
             List<CIResponsiblePartyPropertyTyperhsCitedResponsibleParty;
             rhsCitedResponsibleParty = (((that.citedResponsibleParty!= null)&&(!that.citedResponsibleParty.isEmpty()))?that.getCitedResponsibleParty():null);
             if (!strategy.equals(LocatorUtils.property(thisLocator"citedResponsibleParty"lhsCitedResponsibleParty), LocatorUtils.property(thatLocator"citedResponsibleParty"rhsCitedResponsibleParty), lhsCitedResponsiblePartyrhsCitedResponsibleParty)) {
                 return false;
             }
         }
         {
             List<CIPresentationFormCodePropertyTypelhsPresentationForm;
             lhsPresentationForm = (((this.!= null)&&(!this..isEmpty()))?this.getPresentationForm():null);
             List<CIPresentationFormCodePropertyTyperhsPresentationForm;
             rhsPresentationForm = (((that.presentationForm!= null)&&(!that.presentationForm.isEmpty()))?that.getPresentationForm():null);
             if (!strategy.equals(LocatorUtils.property(thisLocator"presentationForm"lhsPresentationForm), LocatorUtils.property(thatLocator"presentationForm"rhsPresentationForm), lhsPresentationFormrhsPresentationForm)) {
                 return false;
             }
         }
         {
             CISeriesPropertyType lhsSeries;
             lhsSeries = this.getSeries();
             CISeriesPropertyType rhsSeries;
             rhsSeries = that.getSeries();
             if (!strategy.equals(LocatorUtils.property(thisLocator"series"lhsSeries), LocatorUtils.property(thatLocator"series"rhsSeries), lhsSeriesrhsSeries)) {
                 return false;
             }
         }
         {
             CharacterStringPropertyType lhsOtherCitationDetails;
             lhsOtherCitationDetails = this.getOtherCitationDetails();
             CharacterStringPropertyType rhsOtherCitationDetails;
             rhsOtherCitationDetails = that.getOtherCitationDetails();
             if (!strategy.equals(LocatorUtils.property(thisLocator"otherCitationDetails"lhsOtherCitationDetails), LocatorUtils.property(thatLocator"otherCitationDetails"rhsOtherCitationDetails), lhsOtherCitationDetailsrhsOtherCitationDetails)) {
                 return false;
             }
         }
         {
             CharacterStringPropertyType lhsCollectiveTitle;
             lhsCollectiveTitle = this.getCollectiveTitle();
             CharacterStringPropertyType rhsCollectiveTitle;
             rhsCollectiveTitle = that.getCollectiveTitle();
             if (!strategy.equals(LocatorUtils.property(thisLocator"collectiveTitle"lhsCollectiveTitle), LocatorUtils.property(thatLocator"collectiveTitle"rhsCollectiveTitle), lhsCollectiveTitlerhsCollectiveTitle)) {
                 return false;
             }
         }
         {
             CharacterStringPropertyType lhsISBN;
             lhsISBN = this.getISBN();
             CharacterStringPropertyType rhsISBN;
             rhsISBN = that.getISBN();
             if (!strategy.equals(LocatorUtils.property(thisLocator"isbn"lhsISBN), LocatorUtils.property(thatLocator"isbn"rhsISBN), lhsISBNrhsISBN)) {
                 return false;
             }
         }
         {
             CharacterStringPropertyType lhsISSN;
             lhsISSN = this.getISSN();
             CharacterStringPropertyType rhsISSN;
             rhsISSN = that.getISSN();
             if (!strategy.equals(LocatorUtils.property(thisLocator"issn"lhsISSN), LocatorUtils.property(thatLocator"issn"rhsISSN), lhsISSNrhsISSN)) {
                 return false;
             }
         }
         return true;
     }
 
     public boolean equals(Object object) {
         final EqualsStrategy strategy = .;
         return equals(nullnullobjectstrategy);
     }
 
     public int hashCode(ObjectLocator locatorHashCodeStrategy strategy) {
         int currentHashCode = super.hashCode(locatorstrategy);
         {
             CharacterStringPropertyType theTitle;
             theTitle = this.getTitle();
             currentHashCode = strategy.hashCode(LocatorUtils.property(locator"title"theTitle), currentHashCodetheTitle);
         }
         {
             List<CharacterStringPropertyTypetheAlternateTitle;
             theAlternateTitle = (((this.!= null)&&(!this..isEmpty()))?this.getAlternateTitle():null);
             currentHashCode = strategy.hashCode(LocatorUtils.property(locator"alternateTitle"theAlternateTitle), currentHashCodetheAlternateTitle);
         }
         {
             List<CIDatePropertyTypetheDate;
             theDate = (((this.!= null)&&(!this..isEmpty()))?this.getDate():null);
             currentHashCode = strategy.hashCode(LocatorUtils.property(locator"date"theDate), currentHashCodetheDate);
         }
         {
             CharacterStringPropertyType theEdition;
             theEdition = this.getEdition();
             currentHashCode = strategy.hashCode(LocatorUtils.property(locator"edition"theEdition), currentHashCodetheEdition);
         }
         {
             DatePropertyType theEditionDate;
             theEditionDate = this.getEditionDate();
             currentHashCode = strategy.hashCode(LocatorUtils.property(locator"editionDate"theEditionDate), currentHashCodetheEditionDate);
         }
         {
             List<MDIdentifierPropertyTypetheIdentifier;
             theIdentifier = (((this.!= null)&&(!this..isEmpty()))?this.getIdentifier():null);
             currentHashCode = strategy.hashCode(LocatorUtils.property(locator"identifier"theIdentifier), currentHashCodetheIdentifier);
         }
         {
             List<CIResponsiblePartyPropertyTypetheCitedResponsibleParty;
             theCitedResponsibleParty = (((this.!= null)&&(!this..isEmpty()))?this.getCitedResponsibleParty():null);
             currentHashCode = strategy.hashCode(LocatorUtils.property(locator"citedResponsibleParty"theCitedResponsibleParty), currentHashCodetheCitedResponsibleParty);
         }
         {
             List<CIPresentationFormCodePropertyTypethePresentationForm;
             thePresentationForm = (((this.!= null)&&(!this..isEmpty()))?this.getPresentationForm():null);
             currentHashCode = strategy.hashCode(LocatorUtils.property(locator"presentationForm"thePresentationForm), currentHashCodethePresentationForm);
         }
         {
             CISeriesPropertyType theSeries;
             theSeries = this.getSeries();
             currentHashCode = strategy.hashCode(LocatorUtils.property(locator"series"theSeries), currentHashCodetheSeries);
         }
         {
             CharacterStringPropertyType theOtherCitationDetails;
             theOtherCitationDetails = this.getOtherCitationDetails();
             currentHashCode = strategy.hashCode(LocatorUtils.property(locator"otherCitationDetails"theOtherCitationDetails), currentHashCodetheOtherCitationDetails);
         }
         {
             CharacterStringPropertyType theCollectiveTitle;
             theCollectiveTitle = this.getCollectiveTitle();
             currentHashCode = strategy.hashCode(LocatorUtils.property(locator"collectiveTitle"theCollectiveTitle), currentHashCodetheCollectiveTitle);
         }
         {
             CharacterStringPropertyType theISBN;
             theISBN = this.getISBN();
             currentHashCode = strategy.hashCode(LocatorUtils.property(locator"isbn"theISBN), currentHashCodetheISBN);
         }
         {
             CharacterStringPropertyType theISSN;
             theISSN = this.getISSN();
             currentHashCode = strategy.hashCode(LocatorUtils.property(locator"issn"theISSN), currentHashCodetheISSN);
         }
         return currentHashCode;
     }
 
     public int hashCode() {
         final HashCodeStrategy strategy = .;
         return this.hashCode(nullstrategy);
     }
 
     public Object clone() {
         return copyTo(createNewInstance());
     }
 
     public Object copyTo(Object target) {
         final CopyStrategy strategy = .;
         return copyTo(nulltargetstrategy);
     }
 
     public Object copyTo(ObjectLocator locatorObject targetCopyStrategy strategy) {
         final Object draftCopy = ((target == null)?createNewInstance():target);
         super.copyTo(locatordraftCopystrategy);
         if (draftCopy instanceof CICitationType) {
             final CICitationType copy = ((CICitationTypedraftCopy);
             if (this.!= null) {
                 CharacterStringPropertyType sourceTitle;
                 sourceTitle = this.getTitle();
                 CharacterStringPropertyType copyTitle = ((CharacterStringPropertyTypestrategy.copy(LocatorUtils.property(locator"title"sourceTitle), sourceTitle));
                 copy.setTitle(copyTitle);
             } else {
                 copy.title = null;
             }
             if ((this.!= null)&&(!this..isEmpty())) {
                 List<CharacterStringPropertyTypesourceAlternateTitle;
                 sourceAlternateTitle = (((this.!= null)&&(!this..isEmpty()))?this.getAlternateTitle():null);
                 @SuppressWarnings("unchecked")
                 List<CharacterStringPropertyTypecopyAlternateTitle = ((List<CharacterStringPropertyType> ) strategy.copy(LocatorUtils.property(locator"alternateTitle"sourceAlternateTitle), sourceAlternateTitle));
                 copy.alternateTitle = null;
                 if (copyAlternateTitle!= null) {
                     List<CharacterStringPropertyTypeuniqueAlternateTitlel = copy.getAlternateTitle();
                     uniqueAlternateTitlel.addAll(copyAlternateTitle);
                 }
             } else {
                 copy.alternateTitle = null;
             }
             if ((this.!= null)&&(!this..isEmpty())) {
                 List<CIDatePropertyTypesourceDate;
                 sourceDate = (((this.!= null)&&(!this..isEmpty()))?this.getDate():null);
                 @SuppressWarnings("unchecked")
                 List<CIDatePropertyTypecopyDate = ((List<CIDatePropertyType> ) strategy.copy(LocatorUtils.property(locator"date"sourceDate), sourceDate));
                 copy.date = null;
                 if (copyDate!= null) {
                     List<CIDatePropertyTypeuniqueDatel = copy.getDate();
                     uniqueDatel.addAll(copyDate);
                 }
             } else {
                 copy.date = null;
             }
             if (this.!= null) {
                 CharacterStringPropertyType sourceEdition;
                 sourceEdition = this.getEdition();
                 CharacterStringPropertyType copyEdition = ((CharacterStringPropertyTypestrategy.copy(LocatorUtils.property(locator"edition"sourceEdition), sourceEdition));
                 copy.setEdition(copyEdition);
             } else {
                 copy.edition = null;
             }
             if (this.!= null) {
                 DatePropertyType sourceEditionDate;
                 sourceEditionDate = this.getEditionDate();
                 DatePropertyType copyEditionDate = ((DatePropertyTypestrategy.copy(LocatorUtils.property(locator"editionDate"sourceEditionDate), sourceEditionDate));
                 copy.setEditionDate(copyEditionDate);
             } else {
                 copy.editionDate = null;
             }
             if ((this.!= null)&&(!this..isEmpty())) {
                 List<MDIdentifierPropertyTypesourceIdentifier;
                 sourceIdentifier = (((this.!= null)&&(!this..isEmpty()))?this.getIdentifier():null);
                 @SuppressWarnings("unchecked")
                 List<MDIdentifierPropertyTypecopyIdentifier = ((List<MDIdentifierPropertyType> ) strategy.copy(LocatorUtils.property(locator"identifier"sourceIdentifier), sourceIdentifier));
                 copy.identifier = null;
                 if (copyIdentifier!= null) {
                     List<MDIdentifierPropertyTypeuniqueIdentifierl = copy.getIdentifier();
                     uniqueIdentifierl.addAll(copyIdentifier);
                 }
             } else {
                 copy.identifier = null;
             }
             if ((this.!= null)&&(!this..isEmpty())) {
                 List<CIResponsiblePartyPropertyTypesourceCitedResponsibleParty;
                 sourceCitedResponsibleParty = (((this.!= null)&&(!this..isEmpty()))?this.getCitedResponsibleParty():null);
                 @SuppressWarnings("unchecked")
                 List<CIResponsiblePartyPropertyTypecopyCitedResponsibleParty = ((List<CIResponsiblePartyPropertyType> ) strategy.copy(LocatorUtils.property(locator"citedResponsibleParty"sourceCitedResponsibleParty), sourceCitedResponsibleParty));
                 copy.citedResponsibleParty = null;
                 if (copyCitedResponsibleParty!= null) {
                     List<CIResponsiblePartyPropertyTypeuniqueCitedResponsiblePartyl = copy.getCitedResponsibleParty();
                     uniqueCitedResponsiblePartyl.addAll(copyCitedResponsibleParty);
                 }
             } else {
                 copy.citedResponsibleParty = null;
             }
             if ((this.!= null)&&(!this..isEmpty())) {
                 List<CIPresentationFormCodePropertyTypesourcePresentationForm;
                 sourcePresentationForm = (((this.!= null)&&(!this..isEmpty()))?this.getPresentationForm():null);
                 @SuppressWarnings("unchecked")
                 List<CIPresentationFormCodePropertyTypecopyPresentationForm = ((List<CIPresentationFormCodePropertyType> ) strategy.copy(LocatorUtils.property(locator"presentationForm"sourcePresentationForm), sourcePresentationForm));
                 copy.presentationForm = null;
                 if (copyPresentationForm!= null) {
                     List<CIPresentationFormCodePropertyTypeuniquePresentationForml = copy.getPresentationForm();
                     uniquePresentationForml.addAll(copyPresentationForm);
                 }
             } else {
                 copy.presentationForm = null;
             }
             if (this.!= null) {
                 CISeriesPropertyType sourceSeries;
                 sourceSeries = this.getSeries();
                 CISeriesPropertyType copySeries = ((CISeriesPropertyTypestrategy.copy(LocatorUtils.property(locator"series"sourceSeries), sourceSeries));
                 copy.setSeries(copySeries);
             } else {
                 copy.series = null;
             }
             if (this.!= null) {
                 CharacterStringPropertyType sourceOtherCitationDetails;
                 sourceOtherCitationDetails = this.getOtherCitationDetails();
                 CharacterStringPropertyType copyOtherCitationDetails = ((CharacterStringPropertyTypestrategy.copy(LocatorUtils.property(locator"otherCitationDetails"sourceOtherCitationDetails), sourceOtherCitationDetails));
                 copy.setOtherCitationDetails(copyOtherCitationDetails);
             } else {
                 copy.otherCitationDetails = null;
             }
             if (this.!= null) {
                 CharacterStringPropertyType sourceCollectiveTitle;
                 sourceCollectiveTitle = this.getCollectiveTitle();
                 CharacterStringPropertyType copyCollectiveTitle = ((CharacterStringPropertyTypestrategy.copy(LocatorUtils.property(locator"collectiveTitle"sourceCollectiveTitle), sourceCollectiveTitle));
                 copy.setCollectiveTitle(copyCollectiveTitle);
             } else {
                 copy.collectiveTitle = null;
             }
             if (this.!= null) {
                 CharacterStringPropertyType sourceISBN;
                 sourceISBN = this.getISBN();
                 CharacterStringPropertyType copyISBN = ((CharacterStringPropertyTypestrategy.copy(LocatorUtils.property(locator"isbn"sourceISBN), sourceISBN));
                 copy.setISBN(copyISBN);
             } else {
                 copy.isbn = null;
             }
             if (this.!= null) {
                 CharacterStringPropertyType sourceISSN;
                 sourceISSN = this.getISSN();
                 CharacterStringPropertyType copyISSN = ((CharacterStringPropertyTypestrategy.copy(LocatorUtils.property(locator"issn"sourceISSN), sourceISSN));
                 copy.setISSN(copyISSN);
             } else {
                 copy.issn = null;
             }
         }
         return draftCopy;
     }
 
     public Object createNewInstance() {
         return new CICitationType();
     }
 
     public void mergeFrom(Object leftObject right) {
         final MergeStrategy strategy = .;
         mergeFrom(nullnullleftrightstrategy);
     }
 
     public void mergeFrom(ObjectLocator leftLocatorObjectLocator rightLocatorObject leftObject rightMergeStrategy strategy) {
         super.mergeFrom(leftLocatorrightLocatorleftrightstrategy);
         if (right instanceof CICitationType) {
             final CICitationType target = this;
             final CICitationType leftObject = ((CICitationTypeleft);
             final CICitationType rightObject = ((CICitationTyperight);
             {
                 CharacterStringPropertyType lhsTitle;
                 lhsTitle = leftObject.getTitle();
                 CharacterStringPropertyType rhsTitle;
                 rhsTitle = rightObject.getTitle();
                 CharacterStringPropertyType mergedTitle = ((CharacterStringPropertyTypestrategy.merge(LocatorUtils.property(leftLocator"title"lhsTitle), LocatorUtils.property(rightLocator"title"rhsTitle), lhsTitlerhsTitle));
                 target.setTitle(mergedTitle);
             }
             {
                 List<CharacterStringPropertyTypelhsAlternateTitle;
                 lhsAlternateTitle = (((leftObject.alternateTitle!= null)&&(!leftObject.alternateTitle.isEmpty()))?leftObject.getAlternateTitle():null);
                 List<CharacterStringPropertyTyperhsAlternateTitle;
                 rhsAlternateTitle = (((rightObject.alternateTitle!= null)&&(!rightObject.alternateTitle.isEmpty()))?rightObject.getAlternateTitle():null);
                 List<CharacterStringPropertyTypemergedAlternateTitle = ((List<CharacterStringPropertyType> ) strategy.merge(LocatorUtils.property(leftLocator"alternateTitle"lhsAlternateTitle), LocatorUtils.property(rightLocator"alternateTitle"rhsAlternateTitle), lhsAlternateTitlerhsAlternateTitle));
                 target.alternateTitle = null;
                 if (mergedAlternateTitle!= null) {
                     List<CharacterStringPropertyTypeuniqueAlternateTitlel = target.getAlternateTitle();
                     uniqueAlternateTitlel.addAll(mergedAlternateTitle);
                 }
             }
             {
                 List<CIDatePropertyTypelhsDate;
                 lhsDate = (((leftObject.date!= null)&&(!leftObject.date.isEmpty()))?leftObject.getDate():null);
                 List<CIDatePropertyTyperhsDate;
                 rhsDate = (((rightObject.date!= null)&&(!rightObject.date.isEmpty()))?rightObject.getDate():null);
                 List<CIDatePropertyTypemergedDate = ((List<CIDatePropertyType> ) strategy.merge(LocatorUtils.property(leftLocator"date"lhsDate), LocatorUtils.property(rightLocator"date"rhsDate), lhsDaterhsDate));
                 target.date = null;
                 if (mergedDate!= null) {
                     List<CIDatePropertyTypeuniqueDatel = target.getDate();
                     uniqueDatel.addAll(mergedDate);
                 }
             }
             {
                 CharacterStringPropertyType lhsEdition;
                 lhsEdition = leftObject.getEdition();
                 CharacterStringPropertyType rhsEdition;
                 rhsEdition = rightObject.getEdition();
                 CharacterStringPropertyType mergedEdition = ((CharacterStringPropertyTypestrategy.merge(LocatorUtils.property(leftLocator"edition"lhsEdition), LocatorUtils.property(rightLocator"edition"rhsEdition), lhsEditionrhsEdition));
                 target.setEdition(mergedEdition);
             }
             {
                 DatePropertyType lhsEditionDate;
                 lhsEditionDate = leftObject.getEditionDate();
                 DatePropertyType rhsEditionDate;
                 rhsEditionDate = rightObject.getEditionDate();
                 DatePropertyType mergedEditionDate = ((DatePropertyTypestrategy.merge(LocatorUtils.property(leftLocator"editionDate"lhsEditionDate), LocatorUtils.property(rightLocator"editionDate"rhsEditionDate), lhsEditionDaterhsEditionDate));
                 target.setEditionDate(mergedEditionDate);
             }
             {
                 List<MDIdentifierPropertyTypelhsIdentifier;
                 lhsIdentifier = (((leftObject.identifier!= null)&&(!leftObject.identifier.isEmpty()))?leftObject.getIdentifier():null);
                 List<MDIdentifierPropertyTyperhsIdentifier;
                 rhsIdentifier = (((rightObject.identifier!= null)&&(!rightObject.identifier.isEmpty()))?rightObject.getIdentifier():null);
                 List<MDIdentifierPropertyTypemergedIdentifier = ((List<MDIdentifierPropertyType> ) strategy.merge(LocatorUtils.property(leftLocator"identifier"lhsIdentifier), LocatorUtils.property(rightLocator"identifier"rhsIdentifier), lhsIdentifierrhsIdentifier));
                 target.identifier = null;
                 if (mergedIdentifier!= null) {
                     List<MDIdentifierPropertyTypeuniqueIdentifierl = target.getIdentifier();
                     uniqueIdentifierl.addAll(mergedIdentifier);
                 }
             }
             {
                 List<CIResponsiblePartyPropertyTypelhsCitedResponsibleParty;
                 lhsCitedResponsibleParty = (((leftObject.citedResponsibleParty!= null)&&(!leftObject.citedResponsibleParty.isEmpty()))?leftObject.getCitedResponsibleParty():null);
                 List<CIResponsiblePartyPropertyTyperhsCitedResponsibleParty;
                 rhsCitedResponsibleParty = (((rightObject.citedResponsibleParty!= null)&&(!rightObject.citedResponsibleParty.isEmpty()))?rightObject.getCitedResponsibleParty():null);
                 List<CIResponsiblePartyPropertyTypemergedCitedResponsibleParty = ((List<CIResponsiblePartyPropertyType> ) strategy.merge(LocatorUtils.property(leftLocator"citedResponsibleParty"lhsCitedResponsibleParty), LocatorUtils.property(rightLocator"citedResponsibleParty"rhsCitedResponsibleParty), lhsCitedResponsiblePartyrhsCitedResponsibleParty));
                 target.citedResponsibleParty = null;
                 if (mergedCitedResponsibleParty!= null) {
                     List<CIResponsiblePartyPropertyTypeuniqueCitedResponsiblePartyl = target.getCitedResponsibleParty();
                     uniqueCitedResponsiblePartyl.addAll(mergedCitedResponsibleParty);
                 }
             }
             {
                 List<CIPresentationFormCodePropertyTypelhsPresentationForm;
                 lhsPresentationForm = (((leftObject.presentationForm!= null)&&(!leftObject.presentationForm.isEmpty()))?leftObject.getPresentationForm():null);
                 List<CIPresentationFormCodePropertyTyperhsPresentationForm;
                 rhsPresentationForm = (((rightObject.presentationForm!= null)&&(!rightObject.presentationForm.isEmpty()))?rightObject.getPresentationForm():null);
                 List<CIPresentationFormCodePropertyTypemergedPresentationForm = ((List<CIPresentationFormCodePropertyType> ) strategy.merge(LocatorUtils.property(leftLocator"presentationForm"lhsPresentationForm), LocatorUtils.property(rightLocator"presentationForm"rhsPresentationForm), lhsPresentationFormrhsPresentationForm));
                 target.presentationForm = null;
                 if (mergedPresentationForm!= null) {
                     List<CIPresentationFormCodePropertyTypeuniquePresentationForml = target.getPresentationForm();
                     uniquePresentationForml.addAll(mergedPresentationForm);
                 }
             }
             {
                 CISeriesPropertyType lhsSeries;
                 lhsSeries = leftObject.getSeries();
                 CISeriesPropertyType rhsSeries;
                 rhsSeries = rightObject.getSeries();
                 CISeriesPropertyType mergedSeries = ((CISeriesPropertyTypestrategy.merge(LocatorUtils.property(leftLocator"series"lhsSeries), LocatorUtils.property(rightLocator"series"rhsSeries), lhsSeriesrhsSeries));
                 target.setSeries(mergedSeries);
             }
             {
                 CharacterStringPropertyType lhsOtherCitationDetails;
                lhsOtherCitationDetails = leftObject.getOtherCitationDetails();
                CharacterStringPropertyType rhsOtherCitationDetails;
                rhsOtherCitationDetails = rightObject.getOtherCitationDetails();
                CharacterStringPropertyType mergedOtherCitationDetails = ((CharacterStringPropertyTypestrategy.merge(LocatorUtils.property(leftLocator"otherCitationDetails"lhsOtherCitationDetails), LocatorUtils.property(rightLocator"otherCitationDetails"rhsOtherCitationDetails), lhsOtherCitationDetailsrhsOtherCitationDetails));
                target.setOtherCitationDetails(mergedOtherCitationDetails);
            }
            {
                CharacterStringPropertyType lhsCollectiveTitle;
                lhsCollectiveTitle = leftObject.getCollectiveTitle();
                CharacterStringPropertyType rhsCollectiveTitle;
                rhsCollectiveTitle = rightObject.getCollectiveTitle();
                CharacterStringPropertyType mergedCollectiveTitle = ((CharacterStringPropertyTypestrategy.merge(LocatorUtils.property(leftLocator"collectiveTitle"lhsCollectiveTitle), LocatorUtils.property(rightLocator"collectiveTitle"rhsCollectiveTitle), lhsCollectiveTitlerhsCollectiveTitle));
                target.setCollectiveTitle(mergedCollectiveTitle);
            }
            {
                CharacterStringPropertyType lhsISBN;
                lhsISBN = leftObject.getISBN();
                CharacterStringPropertyType rhsISBN;
                rhsISBN = rightObject.getISBN();
                CharacterStringPropertyType mergedISBN = ((CharacterStringPropertyTypestrategy.merge(LocatorUtils.property(leftLocator"isbn"lhsISBN), LocatorUtils.property(rightLocator"isbn"rhsISBN), lhsISBNrhsISBN));
                target.setISBN(mergedISBN);
            }
            {
                CharacterStringPropertyType lhsISSN;
                lhsISSN = leftObject.getISSN();
                CharacterStringPropertyType rhsISSN;
                rhsISSN = rightObject.getISSN();
                CharacterStringPropertyType mergedISSN = ((CharacterStringPropertyTypestrategy.merge(LocatorUtils.property(leftLocator"issn"lhsISSN), LocatorUtils.property(rightLocator"issn"rhsISSN), lhsISSNrhsISSN));
                target.setISSN(mergedISSN);
            }
        }
    }
    public void setAlternateTitle(List<CharacterStringPropertyTypevalue) {
        this. = null;
        List<CharacterStringPropertyTypedraftl = this.getAlternateTitle();
        draftl.addAll(value);
    }
    public void setDate(List<CIDatePropertyTypevalue) {
        this. = null;
        List<CIDatePropertyTypedraftl = this.getDate();
        draftl.addAll(value);
    }
    public void setIdentifier(List<MDIdentifierPropertyTypevalue) {
        this. = null;
        List<MDIdentifierPropertyTypedraftl = this.getIdentifier();
        draftl.addAll(value);
    }
        this. = null;
        draftl.addAll(value);
    }
        this. = null;
        draftl.addAll(value);
    }
        setTitle(value);
        return this;
    }
        if (values!= null) {
            for (CharacterStringPropertyType valuevalues) {
                getAlternateTitle().add(value);
            }
        }
        return this;
    }
        if (values!= null) {
            getAlternateTitle().addAll(values);
        }
        return this;
    }
    public CICitationType withDate(CIDatePropertyType... values) {
        if (values!= null) {
            for (CIDatePropertyType valuevalues) {
                getDate().add(value);
            }
        }
        return this;
    }
        if (values!= null) {
            getDate().addAll(values);
        }
        return this;
    }
        setEdition(value);
        return this;
    }
        setEditionDate(value);
        return this;
    }
        if (values!= null) {
            for (MDIdentifierPropertyType valuevalues) {
                getIdentifier().add(value);
            }
        }
        return this;
    }
        if (values!= null) {
            getIdentifier().addAll(values);
        }
        return this;
    }
        if (values!= null) {
            for (CIResponsiblePartyPropertyType valuevalues) {
                getCitedResponsibleParty().add(value);
            }
        }
        return this;
    }
        if (values!= null) {
            getCitedResponsibleParty().addAll(values);
        }
        return this;
    }
    public