Inheritance: KonfigurasjonsException
        public static Forretningskvittering GetForretningskvittering(string xml)
        {
            var xmlDocument = new XmlDocument();
            xmlDocument.LoadXml(xml);

            if (IsLeveringskvittering(xmlDocument))
                return new Leveringskvittering(xmlDocument, NamespaceManager(xmlDocument));

            if (IsVarslingFeiletkvittering(xmlDocument))
                return new VarslingFeiletKvittering(xmlDocument, NamespaceManager(xmlDocument));

            if (IsFeilmelding(xmlDocument))
                return new Feilmelding(xmlDocument, NamespaceManager(xmlDocument));

            if (IsÅpningskvittering(xmlDocument))
                return new Åpningskvittering(xmlDocument, NamespaceManager(xmlDocument));

            if (IsMottaksKvittering(xmlDocument))
                return new Mottakskvittering(xmlDocument, NamespaceManager(xmlDocument));

            if (IsReturpost(xmlDocument))
                return new Returpostkvittering(xmlDocument, NamespaceManager(xmlDocument));

            if (IsTomKøKvittering(xmlDocument))
                return null;

            var ingenKvitteringstypeFunnetException = new XmlParseException(
                "Klarte ikke å finne ut hvilken type Forretningskvittering som ble tatt inn. Sjekk rådata for mer informasjon.")
            {
                Rådata = xml
            };

            throw ingenKvitteringstypeFunnetException;
        }
        public static Kvittering GetKvittering(XmlDocument xmlDocument)
        {
            var kvittering = (Kvittering) LagForretningskvittering(xmlDocument) ?? LagTransportkvittering(xmlDocument);

            if (kvittering == null)
            {
                var ingenKvitteringstypeFunnetException = new XmlParseException(
                    "Klarte ikke å finne ut hvilken type Kvittering som ble tatt inn. Sjekk rådata for mer informasjon.")
                {
                    Rådata = xmlDocument.OuterXml
                };

                throw ingenKvitteringstypeFunnetException;
            }

            return kvittering;
        }
        public static Transportkvittering GetTransportkvittering(string xml)
        {
            var xmlDocument = new XmlDocument();
            xmlDocument.LoadXml(xml);

            if (IsTransportOkKvittering(xmlDocument))
                return new TransportOkKvittering(xmlDocument, NamespaceManager(xmlDocument));

            if (IsTransportFeiletKvittering(xmlDocument))
                return new TransportFeiletKvittering(xmlDocument, NamespaceManager(xmlDocument));

            var exception = new XmlParseException(
                "Klarte ikke å finne ut hvilken type Transportkvittering som ble tatt inn. Sjekk rådata for mer informasjon.")
            {
                Rådata = xml
            };

            throw exception;
        }