Public virtual methods are bad, so I'm making ```GetXml``` protected and renamed it as ```PopulateXmlDocument``` (i.e. what it really does).