private bool InternalNextResult(bool first)
 {
     if (!first)
     {
         this.InitResultData();
         this.SkipRootContents();
     }
     if (XmlaClient.IsEmptyResultS(this.xmlReader))
     {
         if (this.IsAffectedObjects)
         {
             throw new AdomdUnknownResponseException(XmlaSR.UnknownServerResponseFormat, "Got an empty result inside AffectedObjects");
         }
         this.RowsetName = null;
         this.xmlReader.ReadStartElement("root", "urn:schemas-microsoft-com:xml-analysis:empty");
         this.GenerateSchemaForEmptyResult();
         this.emptyResult = true;
         this.EnsureResultForNewRowset();
         return(true);
     }
     else
     {
         if (this.xmlReader.IsStartElement("root", "urn:schemas-microsoft-com:xml-analysis:rowset"))
         {
             this.RowsetName = this.xmlReader.GetAttribute("name");
             this.rowsetNames.Add(this.RowsetName);
             XmlaClient.StartRowsetResponseS(this.xmlReader);
             this.LoadResponseSchema();
             this.dataReady   = true;
             this.emptyResult = false;
             this.EnsureResultForNewRowset();
             return(true);
         }
         if (first)
         {
             throw new AdomdUnknownResponseException(XmlaSR.UnknownServerResponseFormat, "Expected at least one root element");
         }
         this.CheckForMessages();
         XmlaClient.EndElementS(this.xmlReader, this.IsAffectedObjects ? "AffectedObjects" : "results", "http://schemas.microsoft.com/analysisservices/2003/xmla-multipleresults");
         this.isMultipleResult = false;
         return(false);
     }
 }