public Property OpenBankingToPublic_ComplexTree_V3_1_2_ToPublic(
            string name,
            ObModels.PaymentInitiation.V3p1p4.Model.OBAddressTypeCode obAddressTypeCode)
        {
            var mapper = new EntityMapper();

            var obPostalAddress = new ObModels.PaymentInitiation.V3p1p4.Model.OBPostalAddress6
            {
                AddressType = obAddressTypeCode
            };
            var value = new OBWriteInternational3DataInitiationCreditor(name, obPostalAddress);

            Func <bool> rule = () =>
            {
                var r1 = mapper.Map(value,
                                    typeof(OBWriteInternational2DataInitiationCreditor)) as
                         OBWriteInternational2DataInitiationCreditor;

                return(r1 != null &&
                       r1.Name == value.Name &&
                       r1.PostalAddress != null &&
                       r1.PostalAddress.BuildingNumber == value.PostalAddress.BuildingNumber);
            };


            return(rule.When(value != null && value.PostalAddress != null));
        }
        public Property OpenBankingToPublic_SimpleMap_V3_1_2_RC1_ToPublic_2(ObModels.PaymentInitiation.V3p1p4.Model.OBPostalAddress6 value)
        {
            var mapper = new EntityMapper();

            Func <bool> rule = () =>
            {
                var r1 = mapper.Map(value, typeof(OBPostalAddress6)) as
                         OBPostalAddress6;

                return(r1.AddressLine.SequenceEqual(value.AddressLine) &&
                       r1.BuildingNumber == value.BuildingNumber &&
                       r1.AddressType.ToString() == value.AddressType.ToString() &&
                       r1.Country == value.Country &&
                       r1.CountrySubDivision == value.CountrySubDivision &&
                       r1.Department == value.Department &&
                       r1.PostCode == value.PostCode &&
                       r1.StreetName == value.StreetName &&
                       r1.SubDepartment == value.SubDepartment &&
                       r1.TownName == value.TownName);
            };


            return(rule.When(value != null));
        }