/// <summary>
        /// The get structure set beans.
        /// </summary>
        /// <param name="xref">
        /// The xref.
        /// </param>
        /// <param name="structureWriter">
        /// The structure writer.
        /// </param>
        /// <exception cref="ArgumentException">
        /// </exception>
        public virtual void GetStructureSetBeans(IMaintainableRefObject xref, IStructureWritingEngine structureWriter)
        {
            if (structureWriter == null)
            {
                throw new ArgumentException("IStructureWritingEngine can not be null");
            }

            ISet<IStructureSetObject> mBeans = this.SdmxObjectRetrievalManager.GetStructureSetBeans(xref);
            ISdmxObjects beans = new SdmxObjectsImpl(null, mBeans);
            structureWriter.WriteStructures(beans);
        }
        /// <summary>
        /// The get maintainable with references.
        /// </summary>
        /// <param name="query">
        /// The query.
        /// </param>
        /// <param name="structureWriter">
        /// The structure writer.
        /// </param>
        /// <exception cref="ArgumentException">
        /// </exception>
        public virtual void GetMaintainableWithReferences(
            IStructureReference query, IStructureWritingEngine structureWriter)
        {
            if (structureWriter == null)
            {
                throw new ArgumentException("IStructureWritingEngine can not be null");
            }

            ISet<IMaintainableObject> mBeans = this.SdmxObjectRetrievalManager.GetMaintainableWithReferences(query);
            ISdmxObjects beans = new SdmxObjectsImpl(null, mBeans);
            structureWriter.WriteStructures(beans);
        }