// Path: src/main/java/cz/jiripinkas/jsitemapgenerator/exception/InvalidPriorityException.java
// public class InvalidPriorityException extends RuntimeException {
// 
//     public InvalidPriorityException(String message) {
//         super(message);
//     }
// }
// 
// Path: src/main/java/cz/jiripinkas/jsitemapgenerator/exception/InvalidUrlException.java
// public class InvalidUrlException extends RuntimeException {
// 
//     public InvalidUrlException(Throwable cause) {
//         super(cause);
//     }
// 
// }
// 
// Path: src/main/java/cz/jiripinkas/jsitemapgenerator/exception/WebmasterToolsException.java
// public class WebmasterToolsException extends RuntimeException {
// 
//     public WebmasterToolsException(String message, Throwable ex) {
//         super(message, ex);
//     }
// 
//     public WebmasterToolsException(String message) {
//         super(message);
//     }
// 
//     public WebmasterToolsException(Throwable cause) {
//         super(cause);
//     }
// }


import cz.jiripinkas.jsitemapgenerator.exception.InvalidPriorityException;
import cz.jiripinkas.jsitemapgenerator.exception.InvalidUrlException;
import cz.jiripinkas.jsitemapgenerator.exception.WebmasterToolsException;
import java.io.*;
import java.lang.reflect.Method;
import java.net.*;
import java.nio.charset.StandardCharsets;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.sql.Timestamp;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.function.Consumer;
import java.util.function.Supplier;
import java.util.zip.GZIPOutputStream;
    }

    /**
     * Reset default extension value
     *
     * @return this
     */
    public T resetDefaultExtension() {
        defaultExtension = null;
        return getThis();
    }

    /**
     * Sets default priority for all subsequent WebPages to maximum (1.0)
     *
     * @return this
     */
    public T defaultPriorityMax() {
        defaultPriority = 1.0;
        return getThis();
    }

    /**
     * Sets default priority for all subsequent WebPages
     *
     * @param priority Default priority
     * @return this
     */
    public T defaultPriority(Double priority) {
        if (priority < 0.0 || priority > 1.0) {
// Path: src/main/java/cz/jiripinkas/jsitemapgenerator/exception/InvalidPriorityException.java
// public class InvalidPriorityException extends RuntimeException {
// 
//     public InvalidPriorityException(String message) {
//         super(message);
//     }
// }
// 
// Path: src/main/java/cz/jiripinkas/jsitemapgenerator/exception/InvalidUrlException.java
// public class InvalidUrlException extends RuntimeException {
// 
//     public InvalidUrlException(Throwable cause) {
//         super(cause);
//     }
// 
// }
// 
// Path: src/main/java/cz/jiripinkas/jsitemapgenerator/exception/WebmasterToolsException.java
// public class WebmasterToolsException extends RuntimeException {
// 
//     public WebmasterToolsException(String message, Throwable ex) {
//         super(message, ex);
//     }
// 
//     public WebmasterToolsException(String message) {
//         super(message);
//     }
// 
//     public WebmasterToolsException(Throwable cause) {
//         super(cause);
//     }
// }


// Path: src/main/java/cz/jiripinkas/jsitemapgenerator/AbstractSitemapGenerator.java
import cz.jiripinkas.jsitemapgenerator.exception.InvalidPriorityException;
import cz.jiripinkas.jsitemapgenerator.exception.InvalidUrlException;
import cz.jiripinkas.jsitemapgenerator.exception.WebmasterToolsException;
import java.io.*;
import java.lang.reflect.Method;
import java.net.*;
import java.nio.charset.StandardCharsets;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.sql.Timestamp;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.function.Consumer;
import java.util.function.Supplier;
import java.util.zip.GZIPOutputStream;

    }

    /**
     * Reset default extension value
     *
     * @return this
     */
    public T resetDefaultExtension() {
        defaultExtension = null;
        return getThis();
    }

    /**
     * Sets default priority for all subsequent WebPages to maximum (1.0)
     *
     * @return this
     */
    public T defaultPriorityMax() {
        defaultPriority = 1.0;
        return getThis();
    }

    /**
     * Sets default priority for all subsequent WebPages
     *
     * @param priority Default priority
     * @return this
     */
    public T defaultPriority(Double priority) {
        if (priority < 0.0 || priority > 1.0) {
            throw new InvalidPriorityException("Priority must be between 0 and 1.0");