// Path: src/main/java/org/fbk/cit/hlt/parsers/hls/exceptions/InvalidTagParameters.java
// public class InvalidTagParameters extends Exception {
//     public InvalidTagParameters() {
//         super();
//     }
// 
//     public InvalidTagParameters(String message) {
//         super(message);
//     }
// 
//     public static InvalidTagParameters required(String parameter) {
//         return new InvalidTagParameters("Required "+parameter+" parameter is missing");
//     }
// }


import org.fbk.cit.hlt.parsers.hls.tags.*;
import org.fbk.cit.hlt.parsers.hls.exceptions.InvalidTagParameters;
package org.fbk.cit.hlt.parsers.hls.tags.media;


/**
 * #EXT-X-MEDIA-SEQUENCE
 */
@HLSTag(name="EXT-X-MEDIA-SEQUENCE")
public class MediaSequenceTag implements Tag {
    protected int sequence;

    public MediaSequenceTag(String properties) throws InvalidTagParameters {
        if (!properties.matches("[0-9]+")) {
// Path: src/main/java/org/fbk/cit/hlt/parsers/hls/exceptions/InvalidTagParameters.java
// public class InvalidTagParameters extends Exception {
//     public InvalidTagParameters() {
//         super();
//     }
// 
//     public InvalidTagParameters(String message) {
//         super(message);
//     }
// 
//     public static InvalidTagParameters required(String parameter) {
//         return new InvalidTagParameters("Required "+parameter+" parameter is missing");
//     }
// }


// Path: src/main/java/org/fbk/cit/hlt/parsers/hls/tags/media/MediaSequenceTag.java
import org.fbk.cit.hlt.parsers.hls.tags.*;
import org.fbk.cit.hlt.parsers.hls.exceptions.InvalidTagParameters;

package org.fbk.cit.hlt.parsers.hls.tags.media;


/**
 * #EXT-X-MEDIA-SEQUENCE
 */
@HLSTag(name="EXT-X-MEDIA-SEQUENCE")
public class MediaSequenceTag implements Tag {
    protected int sequence;

    public MediaSequenceTag(String properties) throws InvalidTagParameters {
        if (!properties.matches("[0-9]+")) {
            throw new InvalidTagParameters();