// Path: services/google/push/src/main/java/eu/hlavki/identity/services/push/config/impl/ZonedDateTimeAdapter.java
// public class ZonedDateTimeAdapter extends XmlAdapter<String, ZonedDateTime> {
// 
//     @Override
//     public ZonedDateTime unmarshal(String value) {
//         return (XMLDateTimeAdapter.parseDateTime(value));
//     }
// 
//     @Override
//     public String marshal(ZonedDateTime value) {
//         return (XMLDateTimeAdapter.printDateTime(value));
//     }
// }


import eu.hlavki.identity.services.push.config.impl.ZonedDateTimeAdapter;
import java.time.ZonedDateTime;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
package eu.hlavki.identity.services.push.model;


@Getter
@Setter
@NoArgsConstructor
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement
public class AuditRecord {

    private String kind;
    private Id id;
    private String etag;
    private String ipAddress;
    private List<Event> events;

    @Getter
    @Setter
    @NoArgsConstructor
    @XmlAccessorType(XmlAccessType.FIELD)
    public static class Id {

// Path: services/google/push/src/main/java/eu/hlavki/identity/services/push/config/impl/ZonedDateTimeAdapter.java
// public class ZonedDateTimeAdapter extends XmlAdapter<String, ZonedDateTime> {
// 
//     @Override
//     public ZonedDateTime unmarshal(String value) {
//         return (XMLDateTimeAdapter.parseDateTime(value));
//     }
// 
//     @Override
//     public String marshal(ZonedDateTime value) {
//         return (XMLDateTimeAdapter.printDateTime(value));
//     }
// }


// Path: services/google/push/src/main/java/eu/hlavki/identity/services/push/model/AuditRecord.java
import eu.hlavki.identity.services.push.config.impl.ZonedDateTimeAdapter;
import java.time.ZonedDateTime;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;

package eu.hlavki.identity.services.push.model;


@Getter
@Setter
@NoArgsConstructor
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement
public class AuditRecord {

    private String kind;
    private Id id;
    private String etag;
    private String ipAddress;
    private List<Event> events;

    @Getter
    @Setter
    @NoArgsConstructor
    @XmlAccessorType(XmlAccessType.FIELD)
    public static class Id {

        @XmlJavaTypeAdapter(ZonedDateTimeAdapter.class)