diff --git a/src/main/java/no/digipost/api/datatypes/types/Address.java b/src/main/java/no/digipost/api/datatypes/types/Address.java
index fef43cdc..c41ed6e3 100644
--- a/src/main/java/no/digipost/api/datatypes/types/Address.java
+++ b/src/main/java/no/digipost/api/datatypes/types/Address.java
@@ -4,6 +4,7 @@
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.Value;
+import lombok.With;
import lombok.experimental.Wither;
import no.digipost.api.datatypes.documentation.Description;
@@ -15,7 +16,7 @@
@Value
@AllArgsConstructor
@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE)
-@Wither
+@With
public class Address {
@XmlElement(name = "street-address")
diff --git a/src/main/java/no/digipost/api/datatypes/types/Appointment.java b/src/main/java/no/digipost/api/datatypes/types/Appointment.java
index 9e101ece..5d056672 100644
--- a/src/main/java/no/digipost/api/datatypes/types/Appointment.java
+++ b/src/main/java/no/digipost/api/datatypes/types/Appointment.java
@@ -4,6 +4,7 @@
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.Value;
+import lombok.With;
import lombok.experimental.Wither;
import no.digipost.api.datatypes.DataType;
import no.digipost.api.datatypes.documentation.Description;
@@ -23,7 +24,7 @@
@Value
@AllArgsConstructor
@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE)
-@Wither
+@With
@Description("Appointment represents a meeting set for a specific place and time")
public class Appointment implements DataType {
diff --git a/src/main/java/no/digipost/api/datatypes/types/Barcode.java b/src/main/java/no/digipost/api/datatypes/types/Barcode.java
index 8dd61dd7..b6908a9f 100644
--- a/src/main/java/no/digipost/api/datatypes/types/Barcode.java
+++ b/src/main/java/no/digipost/api/datatypes/types/Barcode.java
@@ -4,6 +4,7 @@
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.Value;
+import lombok.With;
import lombok.experimental.Wither;
import no.digipost.api.datatypes.documentation.Description;
@@ -15,7 +16,7 @@
@Value
@AllArgsConstructor
@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE)
-@Wither
+@With
public class Barcode {
public static final String CODE_128 = "code-128";
diff --git a/src/main/java/no/digipost/api/datatypes/types/Boligdetaljer.java b/src/main/java/no/digipost/api/datatypes/types/Boligdetaljer.java
index 27fb5934..5b9fc213 100644
--- a/src/main/java/no/digipost/api/datatypes/types/Boligdetaljer.java
+++ b/src/main/java/no/digipost/api/datatypes/types/Boligdetaljer.java
@@ -4,6 +4,7 @@
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.Value;
+import lombok.With;
import lombok.experimental.Wither;
import no.digipost.api.datatypes.ComplementedBy;
import no.digipost.api.datatypes.DataType;
@@ -25,7 +26,7 @@
@Value
@AllArgsConstructor
@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE)
-@Wither
+@With
@Description("Details about a Residence, and may be joined with Residence to retrieve the core fields of a Residence.")
@ComplementedBy({Boligdetaljer.class})
public class Boligdetaljer implements DataType {
diff --git a/src/main/java/no/digipost/api/datatypes/types/Event.java b/src/main/java/no/digipost/api/datatypes/types/Event.java
index f8a37050..9553739c 100644
--- a/src/main/java/no/digipost/api/datatypes/types/Event.java
+++ b/src/main/java/no/digipost/api/datatypes/types/Event.java
@@ -4,6 +4,7 @@
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.Value;
+import lombok.With;
import lombok.experimental.Wither;
import no.digipost.api.datatypes.DataType;
import no.digipost.api.datatypes.documentation.Description;
@@ -21,7 +22,7 @@
@Value
@AllArgsConstructor
@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE)
-@Wither
+@With
@Description("Event represents an event that occurs over a time period or several days. Eg. a conference or an election")
public class Event implements DataType {
diff --git a/src/main/java/no/digipost/api/datatypes/types/ExternalLink.java b/src/main/java/no/digipost/api/datatypes/types/ExternalLink.java
index c01a8490..1ed95eb8 100644
--- a/src/main/java/no/digipost/api/datatypes/types/ExternalLink.java
+++ b/src/main/java/no/digipost/api/datatypes/types/ExternalLink.java
@@ -4,6 +4,7 @@
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.Value;
+import lombok.With;
import lombok.experimental.Wither;
import no.digipost.api.datatypes.DataType;
import no.digipost.api.datatypes.documentation.Description;
@@ -20,7 +21,7 @@
@XmlRootElement
@Value
-@Wither
+@With
@AllArgsConstructor
@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE)
@Description("An external URL, along with an optional description and deadline for resources such as a survey.")
diff --git a/src/main/java/no/digipost/api/datatypes/types/ForeignCurrencyPayment.java b/src/main/java/no/digipost/api/datatypes/types/ForeignCurrencyPayment.java
index 95fdb49a..72298b4e 100644
--- a/src/main/java/no/digipost/api/datatypes/types/ForeignCurrencyPayment.java
+++ b/src/main/java/no/digipost/api/datatypes/types/ForeignCurrencyPayment.java
@@ -4,6 +4,7 @@
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.Value;
+import lombok.With;
import lombok.experimental.Wither;
import no.digipost.api.datatypes.documentation.Description;
@@ -16,7 +17,7 @@
@Value
@AllArgsConstructor
@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE)
-@Wither
+@With
@Description("Payment in foreign currency with conversion")
public class ForeignCurrencyPayment {
diff --git a/src/main/java/no/digipost/api/datatypes/types/Heftelse.java b/src/main/java/no/digipost/api/datatypes/types/Heftelse.java
index 84647e33..6a80e3f8 100644
--- a/src/main/java/no/digipost/api/datatypes/types/Heftelse.java
+++ b/src/main/java/no/digipost/api/datatypes/types/Heftelse.java
@@ -4,6 +4,7 @@
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.Value;
+import lombok.With;
import lombok.experimental.Wither;
import javax.validation.constraints.NotNull;
@@ -15,7 +16,7 @@
@Value
@AllArgsConstructor
@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE)
-@Wither
+@With
public class Heftelse {
@XmlElement
diff --git a/src/main/java/no/digipost/api/datatypes/types/Inkasso.java b/src/main/java/no/digipost/api/datatypes/types/Inkasso.java
index 8449ce33..6a68ee97 100644
--- a/src/main/java/no/digipost/api/datatypes/types/Inkasso.java
+++ b/src/main/java/no/digipost/api/datatypes/types/Inkasso.java
@@ -4,6 +4,7 @@
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.Value;
+import lombok.With;
import lombok.experimental.Wither;
import no.digipost.api.datatypes.DataType;
import no.digipost.api.datatypes.documentation.Description;
@@ -19,7 +20,7 @@
@Value
@AllArgsConstructor
@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE)
-@Wither
+@With
@Description("A debt collection payment")
public class Inkasso implements DataType {
@XmlElement
diff --git a/src/main/java/no/digipost/api/datatypes/types/Link.java b/src/main/java/no/digipost/api/datatypes/types/Link.java
index d2798a70..f274d6f6 100644
--- a/src/main/java/no/digipost/api/datatypes/types/Link.java
+++ b/src/main/java/no/digipost/api/datatypes/types/Link.java
@@ -4,6 +4,7 @@
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.Value;
+import lombok.With;
import lombok.experimental.Wither;
import no.digipost.api.datatypes.documentation.Description;
import no.digipost.api.datatypes.validation.WebUrl;
@@ -19,7 +20,7 @@
@Value
@AllArgsConstructor
@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE)
-@Wither
+@With
@Description("A link is a represention of an element in html with href-url and a text. description")
public class Link {
diff --git a/src/main/java/no/digipost/api/datatypes/types/Matrikkel.java b/src/main/java/no/digipost/api/datatypes/types/Matrikkel.java
index c90e9c2f..00a59676 100644
--- a/src/main/java/no/digipost/api/datatypes/types/Matrikkel.java
+++ b/src/main/java/no/digipost/api/datatypes/types/Matrikkel.java
@@ -4,6 +4,7 @@
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.Value;
+import lombok.With;
import lombok.experimental.Wither;
import javax.validation.Valid;
@@ -17,7 +18,7 @@
@Value
@AllArgsConstructor
@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE)
-@Wither
+@With
public class Matrikkel {
/**
diff --git a/src/main/java/no/digipost/api/datatypes/types/Omsetningshistorikk.java b/src/main/java/no/digipost/api/datatypes/types/Omsetningshistorikk.java
index 2ba0ac0d..1bcca9a9 100644
--- a/src/main/java/no/digipost/api/datatypes/types/Omsetningshistorikk.java
+++ b/src/main/java/no/digipost/api/datatypes/types/Omsetningshistorikk.java
@@ -4,6 +4,7 @@
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.Value;
+import lombok.With;
import lombok.experimental.Wither;
import no.digipost.api.datatypes.documentation.Description;
@@ -18,7 +19,7 @@
@Value
@AllArgsConstructor
@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE)
-@Wither
+@With
@Description("A previous transaction or sale")
public class Omsetningshistorikk {
diff --git a/src/main/java/no/digipost/api/datatypes/types/Residence.java b/src/main/java/no/digipost/api/datatypes/types/Residence.java
index aadedb77..de669669 100644
--- a/src/main/java/no/digipost/api/datatypes/types/Residence.java
+++ b/src/main/java/no/digipost/api/datatypes/types/Residence.java
@@ -4,6 +4,7 @@
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.Value;
+import lombok.With;
import lombok.experimental.Wither;
import no.digipost.api.datatypes.DataType;
import no.digipost.api.datatypes.documentation.Description;
@@ -18,7 +19,7 @@
@Value
@AllArgsConstructor
@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE)
-@Wither
+@With
@Description("Residence is a way of linking separate data for the same residence")
public class Residence implements DataType {
diff --git a/src/main/java/no/digipost/api/datatypes/types/ResidenceAddress.java b/src/main/java/no/digipost/api/datatypes/types/ResidenceAddress.java
index b722e5bb..a687ab60 100644
--- a/src/main/java/no/digipost/api/datatypes/types/ResidenceAddress.java
+++ b/src/main/java/no/digipost/api/datatypes/types/ResidenceAddress.java
@@ -4,6 +4,7 @@
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.Value;
+import lombok.With;
import lombok.experimental.Wither;
import no.digipost.api.datatypes.documentation.Description;
@@ -17,7 +18,7 @@
@Value
@AllArgsConstructor
@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE)
-@Wither
+@With
public class ResidenceAddress {
public ResidenceAddress(String houseNumber, String streetName, String postalCode, String city) {
diff --git a/src/main/java/no/digipost/api/datatypes/types/SignedDocument.java b/src/main/java/no/digipost/api/datatypes/types/SignedDocument.java
index 6f067a54..2847005a 100644
--- a/src/main/java/no/digipost/api/datatypes/types/SignedDocument.java
+++ b/src/main/java/no/digipost/api/datatypes/types/SignedDocument.java
@@ -4,6 +4,7 @@
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.Value;
+import lombok.With;
import lombok.experimental.Wither;
import no.digipost.api.datatypes.DataType;
import no.digipost.api.datatypes.documentation.Description;
@@ -18,7 +19,7 @@
@Value
@AllArgsConstructor
@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE)
-@Wither
+@With
@Description("Details about a signed document")
public class SignedDocument implements DataType {
diff --git a/src/main/java/no/digipost/api/datatypes/types/TimeInterval.java b/src/main/java/no/digipost/api/datatypes/types/TimeInterval.java
index 5006d58c..127e4558 100644
--- a/src/main/java/no/digipost/api/datatypes/types/TimeInterval.java
+++ b/src/main/java/no/digipost/api/datatypes/types/TimeInterval.java
@@ -4,7 +4,7 @@
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.Value;
-import lombok.experimental.Wither;
+import lombok.With;
import no.digipost.api.datatypes.documentation.Description;
import javax.validation.constraints.NotNull;
@@ -17,7 +17,7 @@
@Value
@AllArgsConstructor
@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE)
-@Wither
+@With
public class TimeInterval {
@XmlElement(name = "start-time", required = true)
diff --git a/src/main/java/no/digipost/api/datatypes/types/pickup/Cost.java b/src/main/java/no/digipost/api/datatypes/types/pickup/Cost.java
index dfcd77fb..47aac708 100644
--- a/src/main/java/no/digipost/api/datatypes/types/pickup/Cost.java
+++ b/src/main/java/no/digipost/api/datatypes/types/pickup/Cost.java
@@ -4,6 +4,7 @@
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.Value;
+import lombok.With;
import lombok.experimental.Wither;
import no.digipost.api.datatypes.documentation.Description;
@@ -15,7 +16,7 @@
@Value
@AllArgsConstructor
@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE)
-@Wither
+@With
public class Cost {
@XmlElement(name = "value-to-be-payed", required = true)
diff --git a/src/main/java/no/digipost/api/datatypes/types/pickup/Package.java b/src/main/java/no/digipost/api/datatypes/types/pickup/Package.java
index c0d68406..5c98ffff 100644
--- a/src/main/java/no/digipost/api/datatypes/types/pickup/Package.java
+++ b/src/main/java/no/digipost/api/datatypes/types/pickup/Package.java
@@ -4,6 +4,7 @@
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.Value;
+import lombok.With;
import lombok.experimental.Wither;
import no.digipost.api.datatypes.documentation.Description;
@@ -14,7 +15,7 @@
@Value
@AllArgsConstructor
@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE)
-@Wither
+@With
public class Package {
@XmlElement(name = "length")
diff --git a/src/main/java/no/digipost/api/datatypes/types/pickup/PickupNotice.java b/src/main/java/no/digipost/api/datatypes/types/pickup/PickupNotice.java
index 987b111b..ca236b1d 100644
--- a/src/main/java/no/digipost/api/datatypes/types/pickup/PickupNotice.java
+++ b/src/main/java/no/digipost/api/datatypes/types/pickup/PickupNotice.java
@@ -4,6 +4,7 @@
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.Value;
+import lombok.With;
import lombok.experimental.Wither;
import no.digipost.api.datatypes.ComplementedBy;
import no.digipost.api.datatypes.DataType;
@@ -24,7 +25,7 @@
@Value
@AllArgsConstructor
@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE)
-@Wither
+@With
@Description("Details about a pickup notice")
@ComplementedBy({PickupNotice.class, PickupNoticeStatus.class})
public class PickupNotice implements DataType {
diff --git a/src/main/java/no/digipost/api/datatypes/types/pickup/PickupNoticeStatus.java b/src/main/java/no/digipost/api/datatypes/types/pickup/PickupNoticeStatus.java
index fa5be3c5..1b661cf9 100644
--- a/src/main/java/no/digipost/api/datatypes/types/pickup/PickupNoticeStatus.java
+++ b/src/main/java/no/digipost/api/datatypes/types/pickup/PickupNoticeStatus.java
@@ -4,6 +4,7 @@
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.Value;
+import lombok.With;
import lombok.experimental.Wither;
import no.digipost.api.datatypes.DataType;
import no.digipost.api.datatypes.documentation.Description;
@@ -20,7 +21,7 @@
@Value
@AllArgsConstructor
@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE)
-@Wither
+@With
@Description("Updates to status for PickupNotice")
public class PickupNoticeStatus implements DataType {
diff --git a/src/main/java/no/digipost/api/datatypes/types/pickup/PickupPlace.java b/src/main/java/no/digipost/api/datatypes/types/pickup/PickupPlace.java
index 53fb90e3..7cffc3ad 100644
--- a/src/main/java/no/digipost/api/datatypes/types/pickup/PickupPlace.java
+++ b/src/main/java/no/digipost/api/datatypes/types/pickup/PickupPlace.java
@@ -4,6 +4,7 @@
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.Value;
+import lombok.With;
import lombok.experimental.Wither;
import no.digipost.api.datatypes.documentation.Description;
import no.digipost.api.datatypes.types.Address;
@@ -16,7 +17,7 @@
@Value
@AllArgsConstructor
@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE)
-@Wither
+@With
public class PickupPlace {
@XmlElement(name = "name", required = true)
diff --git a/src/main/java/no/digipost/api/datatypes/types/pickup/Recipient.java b/src/main/java/no/digipost/api/datatypes/types/pickup/Recipient.java
index 9824a4a1..cde6d999 100644
--- a/src/main/java/no/digipost/api/datatypes/types/pickup/Recipient.java
+++ b/src/main/java/no/digipost/api/datatypes/types/pickup/Recipient.java
@@ -4,6 +4,7 @@
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.Value;
+import lombok.With;
import lombok.experimental.Wither;
import no.digipost.api.datatypes.documentation.Description;
import no.digipost.api.datatypes.types.Address;
@@ -15,7 +16,7 @@
@Value
@AllArgsConstructor
@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE)
-@Wither
+@With
public class Recipient {
@XmlElement(name = "name", required = true)
diff --git a/src/main/java/no/digipost/api/datatypes/types/pickup/Sender.java b/src/main/java/no/digipost/api/datatypes/types/pickup/Sender.java
index 1b95ded4..1046b996 100644
--- a/src/main/java/no/digipost/api/datatypes/types/pickup/Sender.java
+++ b/src/main/java/no/digipost/api/datatypes/types/pickup/Sender.java
@@ -4,6 +4,7 @@
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.Value;
+import lombok.With;
import lombok.experimental.Wither;
import no.digipost.api.datatypes.documentation.Description;
import no.digipost.api.datatypes.types.Address;
@@ -15,7 +16,7 @@
@Value
@AllArgsConstructor
@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE)
-@Wither
+@With
public class Sender {
@XmlElement(name = "name")
diff --git a/src/main/java/no/digipost/api/datatypes/types/proof/CalendarDate.java b/src/main/java/no/digipost/api/datatypes/types/proof/CalendarDate.java
index d5674fe8..b378a27d 100644
--- a/src/main/java/no/digipost/api/datatypes/types/proof/CalendarDate.java
+++ b/src/main/java/no/digipost/api/datatypes/types/proof/CalendarDate.java
@@ -4,6 +4,7 @@
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.Value;
+import lombok.With;
import lombok.experimental.Wither;
import no.digipost.api.datatypes.documentation.Description;
@@ -17,7 +18,7 @@
@Value
@AllArgsConstructor
@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE)
-@Wither
+@With
public class CalendarDate {
@XmlElement(name = "month", required = true)
@Size(min = 1, max = 12)
diff --git a/src/main/java/no/digipost/api/datatypes/types/proof/Period.java b/src/main/java/no/digipost/api/datatypes/types/proof/Period.java
index f90f3e10..17a69508 100644
--- a/src/main/java/no/digipost/api/datatypes/types/proof/Period.java
+++ b/src/main/java/no/digipost/api/datatypes/types/proof/Period.java
@@ -5,6 +5,7 @@
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.Value;
+import lombok.With;
import lombok.experimental.Wither;
import no.digipost.api.datatypes.documentation.Description;
import no.digipost.api.datatypes.validation.ValidPeriode;
@@ -18,7 +19,7 @@
@Value
@AllArgsConstructor
@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE)
-@Wither
+@With
@EqualsAndHashCode(callSuper = false)
@ValidPeriode
public class Period {
diff --git a/src/main/java/no/digipost/api/datatypes/types/proof/Proof.java b/src/main/java/no/digipost/api/datatypes/types/proof/Proof.java
index 0ed11f8d..49b58d37 100644
--- a/src/main/java/no/digipost/api/datatypes/types/proof/Proof.java
+++ b/src/main/java/no/digipost/api/datatypes/types/proof/Proof.java
@@ -4,6 +4,7 @@
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.Value;
+import lombok.With;
import lombok.experimental.Wither;
import no.digipost.api.datatypes.DataType;
import no.digipost.api.datatypes.documentation.Description;
@@ -24,7 +25,7 @@
@Value
@AllArgsConstructor
@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE)
-@Wither
+@With
@Description("Represents a legal document (Certificate, Licence, Permit, etc.) issued to a single person, valid for one or more time periods.")
public class Proof implements DataType {
diff --git a/src/main/java/no/digipost/api/datatypes/types/proof/ProofHolder.java b/src/main/java/no/digipost/api/datatypes/types/proof/ProofHolder.java
index afe88b7b..e6b9ddce 100644
--- a/src/main/java/no/digipost/api/datatypes/types/proof/ProofHolder.java
+++ b/src/main/java/no/digipost/api/datatypes/types/proof/ProofHolder.java
@@ -4,6 +4,7 @@
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.Value;
+import lombok.With;
import lombok.experimental.Wither;
import no.digipost.api.datatypes.documentation.Description;
import no.digipost.api.datatypes.types.Address;
@@ -17,7 +18,7 @@
@Value
@AllArgsConstructor
@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE)
-@Wither
+@With
public class ProofHolder {
@XmlElement(name = "firstname", required = true)
@NotNull
diff --git a/src/main/java/no/digipost/api/datatypes/types/proof/ValidPeriod.java b/src/main/java/no/digipost/api/datatypes/types/proof/ValidPeriod.java
index 103aa31b..a0115ac5 100644
--- a/src/main/java/no/digipost/api/datatypes/types/proof/ValidPeriod.java
+++ b/src/main/java/no/digipost/api/datatypes/types/proof/ValidPeriod.java
@@ -4,6 +4,7 @@
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.Value;
+import lombok.With;
import lombok.experimental.Wither;
import no.digipost.api.datatypes.documentation.Description;
@@ -17,7 +18,7 @@
@Value
@XmlAccessorType(XmlAccessType.FIELD)
@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE)
-@Wither
+@With
public class ValidPeriod {
@XmlElement(name = "period")
diff --git a/src/main/java/no/digipost/api/datatypes/types/proof/YearlyRepeatingPeriod.java b/src/main/java/no/digipost/api/datatypes/types/proof/YearlyRepeatingPeriod.java
index 821364b7..1fab94c4 100644
--- a/src/main/java/no/digipost/api/datatypes/types/proof/YearlyRepeatingPeriod.java
+++ b/src/main/java/no/digipost/api/datatypes/types/proof/YearlyRepeatingPeriod.java
@@ -5,6 +5,7 @@
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.Value;
+import lombok.With;
import lombok.experimental.Wither;
import no.digipost.api.datatypes.documentation.Description;
@@ -19,7 +20,7 @@
@Value
@AllArgsConstructor
@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE)
-@Wither
+@With
@EqualsAndHashCode(callSuper = false)
public class YearlyRepeatingPeriod {
@XmlElement(name = "start-year")
diff --git a/src/main/java/no/digipost/api/datatypes/types/receipt/Customer.java b/src/main/java/no/digipost/api/datatypes/types/receipt/Customer.java
index a2c79d9b..6684ae97 100644
--- a/src/main/java/no/digipost/api/datatypes/types/receipt/Customer.java
+++ b/src/main/java/no/digipost/api/datatypes/types/receipt/Customer.java
@@ -4,6 +4,7 @@
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.Value;
+import lombok.With;
import lombok.experimental.Wither;
import no.digipost.api.datatypes.types.Address;
@@ -14,7 +15,7 @@
@Value
@AllArgsConstructor
@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE)
-@Wither
+@With
public class Customer {
@XmlElement
String name;
diff --git a/src/main/java/no/digipost/api/datatypes/types/receipt/Delivery.java b/src/main/java/no/digipost/api/datatypes/types/receipt/Delivery.java
index a739fd06..8b7c9aff 100644
--- a/src/main/java/no/digipost/api/datatypes/types/receipt/Delivery.java
+++ b/src/main/java/no/digipost/api/datatypes/types/receipt/Delivery.java
@@ -4,6 +4,7 @@
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.Value;
+import lombok.With;
import lombok.experimental.Wither;
import no.digipost.api.datatypes.types.Address;
@@ -14,7 +15,7 @@
@Value
@AllArgsConstructor
@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE)
-@Wither
+@With
public class Delivery {
@XmlElement
String name;
diff --git a/src/main/java/no/digipost/api/datatypes/types/receipt/Payment.java b/src/main/java/no/digipost/api/datatypes/types/receipt/Payment.java
index 328066a7..d4d30b6d 100644
--- a/src/main/java/no/digipost/api/datatypes/types/receipt/Payment.java
+++ b/src/main/java/no/digipost/api/datatypes/types/receipt/Payment.java
@@ -4,6 +4,7 @@
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.Value;
+import lombok.With;
import lombok.experimental.Wither;
import no.digipost.api.datatypes.documentation.Description;
import no.digipost.api.datatypes.types.ForeignCurrencyPayment;
@@ -17,7 +18,7 @@
@Value
@AllArgsConstructor
@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE)
-@Wither
+@With
@Description("Contains details about a payment carried out as part of this purchase")
public class Payment {
diff --git a/src/main/java/no/digipost/api/datatypes/types/receipt/Receipt.java b/src/main/java/no/digipost/api/datatypes/types/receipt/Receipt.java
index c0fd1397..22ce5d11 100644
--- a/src/main/java/no/digipost/api/datatypes/types/receipt/Receipt.java
+++ b/src/main/java/no/digipost/api/datatypes/types/receipt/Receipt.java
@@ -4,6 +4,7 @@
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.Value;
+import lombok.With;
import lombok.experimental.Wither;
import no.digipost.api.datatypes.DataType;
import no.digipost.api.datatypes.documentation.Description;
@@ -26,7 +27,7 @@
@Value
@AllArgsConstructor
@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE)
-@Wither
+@With
@Description("Receipt represents a document containing details about a purchase")
public class Receipt implements DataType {
diff --git a/src/main/java/no/digipost/api/datatypes/types/receipt/ReceiptLine.java b/src/main/java/no/digipost/api/datatypes/types/receipt/ReceiptLine.java
index a39d2608..1e2639b8 100644
--- a/src/main/java/no/digipost/api/datatypes/types/receipt/ReceiptLine.java
+++ b/src/main/java/no/digipost/api/datatypes/types/receipt/ReceiptLine.java
@@ -4,6 +4,7 @@
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.Value;
+import lombok.With;
import lombok.experimental.Wither;
import no.digipost.api.datatypes.documentation.Description;
@@ -18,7 +19,7 @@
@Value
@AllArgsConstructor
@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE)
-@Wither
+@With
@Description("Contains details about a single item (line) on the receipt")
public class ReceiptLine {
diff --git a/src/main/java/no/digipost/api/datatypes/types/receipt/TaxiDetails.java b/src/main/java/no/digipost/api/datatypes/types/receipt/TaxiDetails.java
index 61b24dda..b4786ce2 100644
--- a/src/main/java/no/digipost/api/datatypes/types/receipt/TaxiDetails.java
+++ b/src/main/java/no/digipost/api/datatypes/types/receipt/TaxiDetails.java
@@ -4,6 +4,7 @@
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.Value;
+import lombok.With;
import lombok.experimental.Wither;
import no.digipost.api.datatypes.documentation.Description;
@@ -18,7 +19,7 @@
@Value
@AllArgsConstructor
@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE)
-@Wither
+@With
@Description("Details for taxi receipts")
public class TaxiDetails {
@XmlElement
diff --git a/src/main/java/no/digipost/api/datatypes/types/receipt/VatDetails.java b/src/main/java/no/digipost/api/datatypes/types/receipt/VatDetails.java
index 57660dee..d10144e2 100644
--- a/src/main/java/no/digipost/api/datatypes/types/receipt/VatDetails.java
+++ b/src/main/java/no/digipost/api/datatypes/types/receipt/VatDetails.java
@@ -4,6 +4,7 @@
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.Value;
+import lombok.With;
import lombok.experimental.Wither;
import javax.validation.Valid;
@@ -17,7 +18,7 @@
@Value
@AllArgsConstructor
@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE)
-@Wither
+@With
public class VatDetails {
@XmlElement
@Valid
diff --git a/src/main/java/no/digipost/api/datatypes/types/receipt/VatLevel.java b/src/main/java/no/digipost/api/datatypes/types/receipt/VatLevel.java
index 134823af..18887f7f 100644
--- a/src/main/java/no/digipost/api/datatypes/types/receipt/VatLevel.java
+++ b/src/main/java/no/digipost/api/datatypes/types/receipt/VatLevel.java
@@ -4,7 +4,7 @@
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.Value;
-import lombok.experimental.Wither;
+import lombok.With;
import no.digipost.api.datatypes.documentation.Description;
import javax.xml.bind.annotation.XmlElement;
@@ -15,7 +15,7 @@
@Value
@AllArgsConstructor
@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE)
-@Wither
+@With
public class VatLevel {
@XmlElement
BigDecimal grossAmount;