/// <summary>
        ///   The store ref.
        /// </summary>
        /// <param name="referencedFrom"> The referenced from. </param>
        /// <param name="reference"> The reference. </param>
        private void StoreRef(ISdmxObject referencedFrom, IIdentifiableObject reference)
        {
            IIdentifiableObject refFromIdentifiable;
            if (referencedFrom.StructureType.IsIdentifiable)
            {
                refFromIdentifiable = (IIdentifiableObject)referencedFrom;
            }
            else
            {
                refFromIdentifiable = referencedFrom.GetParent<IIdentifiableObject>(true);
            }

            ISet<IIdentifiableObject> refList;
            if (!this._crossReferences.TryGetValue(refFromIdentifiable, out refList))
            {
                refList = new HashSet<IIdentifiableObject>();
                this._crossReferences.Add(refFromIdentifiable, refList);
            }

            refList.Add(reference);
        }