/// <summary>
        /// Saves content of this GPXDocument to the output steam
        /// </summary>
        /// <param name="output">The output stram</param>
        public void Save(Stream output)
        {
            using (GPXXmlDataWriter writer = new GPXXmlDataWriter(output)) {
                foreach (GPXPoint waypoint in Waypoints) {
                    writer.WriteWaypoint(waypoint);
                }

                foreach (GPXRoute route in Routes) {
                    writer.WriteRoute(route);
                }

                foreach (GPXTrack track in Tracks) {
                    writer.WriteTrack(track);
                }

                writer.Close();
            }
        }