public string Serialize(EtlPackage package)
            {
                if (package == null)
                {
                    return(null);
                }

                using (var writer = new StringWriter())
                {
                    var ser = new XmlSerializer(typeof(EtlPackage), _overridesProvider.GetXmlOverrides());
                    ser.Serialize(writer, package);

                    return(writer.ToString());
                }
            }
            public EtlPackage Deserialize(string xml)
            {
                Reset();

                if (string.IsNullOrEmpty(xml))
                {
                    return(null);
                }

                var ser = new XmlSerializer(typeof(EtlPackage), _overridesProvider.GetXmlOverrides());

                ser.UnknownElement += new XmlElementEventHandler(HandleUnknownElement);

                using (var reader = new StringReader(xml))
                {
                    var result = (EtlPackage)ser.Deserialize(reader);
                    return(result);
                }
            }