public XDocument BuildComplexDataQuery(IComplexDataQuery query)
        {
                
            var queryMessageType = new GenericDataQueryType();
            
            queryMessageType.Header = new BasicHeaderType();
            V21Helper.SetHeader(queryMessageType.Header, null);
            var queryType = new DataQueryType();
            queryMessageType.BaseDataQueryType = queryType;

            var coreBuilder = new ComplexDataQueryCoreBuilderV21();
            coreBuilder.FillDataQueryType(queryType, query);
            
            var queryMessageDocument = new GenericDataQuery(queryMessageType);
            var xDoc = new XDocument(queryMessageDocument.Untyped);

            return xDoc;
        }
        public XDocument BuildComplexDataQuery(IComplexDataQuery query)
        {
            
            var timeSeriesQueryDataType = new StructureSpecificTimeSeriesDataQueryType();

            timeSeriesQueryDataType.Header = new BasicHeaderType();

            V21Helper.SetHeader(timeSeriesQueryDataType.Header, null);

            var queryType = new Org.Sdmx.Resources.SdmxMl.Schemas.V21.Query.DataQueryType();
           

            var coreBuilder = new ComplexDataQueryCoreBuilderV21();
            coreBuilder.FillDataQueryType(queryType, query);
           
            timeSeriesQueryDataType.BaseDataQueryType = queryType;
            
            var queryMessageDocument = new StructureSpecificTimeSeriesDataQuery(timeSeriesQueryDataType);

            return new XDocument(queryMessageDocument.Untyped);
        }