/// <summary>
 /// Equals the specified other.
 /// </summary>
 /// <param name="other">The other.</param>
 /// <returns></returns>
 protected bool Equals(MetadataSetObjectCore other)
 {
     return string.Equals(this.setId, other.setId) && Equals(this.dataProviderReference, other.dataProviderReference) && Equals(this.publicationPeriod, other.publicationPeriod) && Equals(this.publicationYear, other.publicationYear) && Equals(this.reports, other.reports) && Equals(this.structureRef, other.structureRef) && Equals(this.reportingBeginDate, other.reportingBeginDate) && Equals(this.reportingEndDate, other.reportingEndDate) && Equals(this.validFromDate, other.validFromDate) && Equals(this.validToDate, other.validToDate) && Equals(this.names, other.names);
 }
 private MetadataSetObjectCore(MetadataSetObjectCore metadataSet, IMetadataReport report) :
     base(SdmxStructureType.GetFromEnum(SdmxStructureEnumType.MetadataSet), null)
 {
     this.setId = metadataSet.setId;
     this.structureRef = metadataSet.structureRef;
     this.reportingBeginDate = metadataSet.reportingBeginDate;
     this.reportingEndDate = metadataSet.reportingEndDate;
     this.publicationYear = metadataSet.publicationYear;
     this.validFromDate = metadataSet.validFromDate;
     this.validToDate = metadataSet.validToDate;
     this.publicationPeriod = metadataSet.publicationPeriod;
     this.dataProviderReference = metadataSet.dataProviderReference;
     this.names = metadataSet.names;
     this.reports.Add(report);
 }