// Path: src/main/java/io/taciturn/Utility.java
// public static <Item> ClassUtility<Item> $(Class<Item> object) {
//     return new ClassUtility<>(object);
// }


import java.time.Instant;
import java.time.LocalDateTime;
import java.time.OffsetDateTime;
import java.time.OffsetTime;
import java.time.temporal.Temporal;
import java.util.Date;
import static io.taciturn.Utility.$;
package io.taciturn.utility;



public class OffsetDateTimeUtility extends ObjectUtility<OffsetDateTime> {

    public OffsetDateTimeUtility(OffsetDateTime object) {
        super(object);
    }

    public Temporal asTemporal() {
        return map(o -> (Temporal) o).orElse(null);
    }

    public Date toDate() {
        return map(o -> Date.from(o.toInstant())).orElse(null);
    }

    public DateUtility mapToDate() {
// Path: src/main/java/io/taciturn/Utility.java
// public static <Item> ClassUtility<Item> $(Class<Item> object) {
//     return new ClassUtility<>(object);
// }


// Path: src/main/java/io/taciturn/utility/OffsetDateTimeUtility.java
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.OffsetDateTime;
import java.time.OffsetTime;
import java.time.temporal.Temporal;
import java.util.Date;
import static io.taciturn.Utility.$;

package io.taciturn.utility;



public class OffsetDateTimeUtility extends ObjectUtility<OffsetDateTime> {

    public OffsetDateTimeUtility(OffsetDateTime object) {
        super(object);
    }

    public Temporal asTemporal() {
        return map(o -> (Temporal) o).orElse(null);
    }

    public Date toDate() {
        return map(o -> Date.from(o.toInstant())).orElse(null);
    }

    public DateUtility mapToDate() {
        return $(toDate());