class MDNReport {

    public static Builder builder() {
        return new Builder();
    }

    @VisibleForTesting  MDNReport(Optional<ReportingUserAgent> reportingUserAgentField, Optional<Gateway> gatewayField, Optional<OriginalRecipient> originalRecipientField,
                      FinalRecipient finalRecipientField, Optional<OriginalMessageId> originalMessageIdField, Disposition dispositionField,
                      ImmutableList<Error> errorFields, ImmutableList<ExtensionField> extensionFields);

}