// Path: parser/src/main/java/io/lindstrom/mpd/support/Utils.java
// public class Utils {
//     public static <T> List<T> unmodifiableList(List<T> list) {
//         if (list == null) {
//             return List.of();
//         } else {
//             return List.copyOf(list);
//         }
//     }
// 
//     @SafeVarargs
//     public static <T> List<T> varargsToList(T head, T ...tail) {
//         if (tail.length == 0) {
//             return List.of(head);
//         } else {
//             List<T> list = new ArrayList<>();
//             list.add(head);
//             list.addAll(List.of(tail));
//             return List.copyOf(list);
//         }
//     }
// }


import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import io.lindstrom.mpd.support.Utils;
import java.util.List;
import java.util.Objects;
    }

    @SuppressWarnings("unused")
    private SegmentList() {
        this.initialization = null;
        this.representationIndex = null;
        this.segmentTimeline = null;
        this.bitstreamswitchingElement = null;
        this.segmentURLs = null;
        this.duration = null;
        this.startNumber = null;
        this.href = null;
        this.actuate = null;
        this.timescale = null;
        this.presentationTimeOffset = null;
        this.indexRange = null;
        this.indexRangeExact = null;
        this.availabilityTimeOffset = null;
        this.availabilityTimeComplete = null;
    }

    public URLType getInitialization() {
        return initialization;
    }

    public URLType getRepresentationIndex() {
        return representationIndex;
    }

    public List<Segment> getSegmentTimeline() {
// Path: parser/src/main/java/io/lindstrom/mpd/support/Utils.java
// public class Utils {
//     public static <T> List<T> unmodifiableList(List<T> list) {
//         if (list == null) {
//             return List.of();
//         } else {
//             return List.copyOf(list);
//         }
//     }
// 
//     @SafeVarargs
//     public static <T> List<T> varargsToList(T head, T ...tail) {
//         if (tail.length == 0) {
//             return List.of(head);
//         } else {
//             List<T> list = new ArrayList<>();
//             list.add(head);
//             list.addAll(List.of(tail));
//             return List.copyOf(list);
//         }
//     }
// }


// Path: parser/src/main/java/io/lindstrom/mpd/data/SegmentList.java
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import io.lindstrom.mpd.support.Utils;
import java.util.List;
import java.util.Objects;

    }

    @SuppressWarnings("unused")
    private SegmentList() {
        this.initialization = null;
        this.representationIndex = null;
        this.segmentTimeline = null;
        this.bitstreamswitchingElement = null;
        this.segmentURLs = null;
        this.duration = null;
        this.startNumber = null;
        this.href = null;
        this.actuate = null;
        this.timescale = null;
        this.presentationTimeOffset = null;
        this.indexRange = null;
        this.indexRangeExact = null;
        this.availabilityTimeOffset = null;
        this.availabilityTimeComplete = null;
    }

    public URLType getInitialization() {
        return initialization;
    }

    public URLType getRepresentationIndex() {
        return representationIndex;
    }

    public List<Segment> getSegmentTimeline() {
        return Utils.unmodifiableList(segmentTimeline);