public MetadataTargetKeyValuesMutableObjectCore(IMetadataTargetKeyValues createdFrom)
     : base(createdFrom)
 {
     foreach (ICrossReference crossRef in createdFrom.ObjectReferences)
     {
         this.objectReferences.Add(new StructureReferenceImpl(crossRef.TargetUrn));
     }
     foreach (IDataSetReference dsRef in createdFrom.DatasetReferences)
     {
         this.datasetReferences.Add(new DataSetReferenceMutableObjectCore(dsRef));
     }
 }
 public DataSetReferenceCore(SetReferenceType sRefType, IMetadataTargetKeyValues parent)
     : base(SdmxStructureType.GetFromEnum(SdmxStructureEnumType.DatasetReference), parent)
 {
     this._datasetId = sRefType.ID;
     this._dataProviderReference = RefUtil.CreateReference(this, sRefType.DataProvider);
     try
     {
         Validate();
     }
     catch (SdmxSemmanticException e)
     {
         throw new SdmxSemmanticException(e, ExceptionCode.FailValidation, this);
     }
 }
 public DataSetReferenceCore(IDataSetReferenceMutableObject mutableObject, IMetadataTargetKeyValues parent)
     : base(mutableObject, parent)
 {
     this._datasetId = mutableObject.DatasetId;
     if (mutableObject.DataProviderReference != null)
     {
         this._dataProviderReference = new CrossReferenceImpl(this, mutableObject.DataProviderReference);
         try
         {
             Validate();
         }
         catch (SdmxSemmanticException e)
         {
             throw new SdmxSemmanticException(e, ExceptionCode.FailValidation, this);
         }
     }
 }