Potential fix for the double read that was happening when reader.ReadToNextSibling(x) was true and the method called reader.ReadToFollowing(x) at the beginning of the while loop