From e64ffae239b19871704b4ac1e9cd58275ed58622 Mon Sep 17 00:00:00 2001 From: Clyhtsuriva Date: Sat, 26 Jun 2021 12:34:26 +0200 Subject: Changed the architecture to respect maven and generated an empty javadoc --- .../apidocs/musichub/business/class-use/Album.html | 99 ++++++++++++++++++ .../musichub/business/class-use/AudioBook.html | 65 ++++++++++++ .../musichub/business/class-use/AudioElement.html | 114 +++++++++++++++++++++ .../musichub/business/class-use/Category.html | 101 ++++++++++++++++++ .../apidocs/musichub/business/class-use/Genre.html | 98 ++++++++++++++++++ .../musichub/business/class-use/Language.html | 101 ++++++++++++++++++ .../musichub/business/class-use/MusicHub.html | 65 ++++++++++++ .../business/class-use/NoAlbumFoundException.html | 97 ++++++++++++++++++ .../class-use/NoElementFoundException.html | 95 +++++++++++++++++ .../class-use/NoPlayListFoundException.html | 94 +++++++++++++++++ .../musichub/business/class-use/PlayList.html | 99 ++++++++++++++++++ .../apidocs/musichub/business/class-use/Song.html | 90 ++++++++++++++++ 12 files changed, 1118 insertions(+) create mode 100644 target/site/apidocs/musichub/business/class-use/Album.html create mode 100644 target/site/apidocs/musichub/business/class-use/AudioBook.html create mode 100644 target/site/apidocs/musichub/business/class-use/AudioElement.html create mode 100644 target/site/apidocs/musichub/business/class-use/Category.html create mode 100644 target/site/apidocs/musichub/business/class-use/Genre.html create mode 100644 target/site/apidocs/musichub/business/class-use/Language.html create mode 100644 target/site/apidocs/musichub/business/class-use/MusicHub.html create mode 100644 target/site/apidocs/musichub/business/class-use/NoAlbumFoundException.html create mode 100644 target/site/apidocs/musichub/business/class-use/NoElementFoundException.html create mode 100644 target/site/apidocs/musichub/business/class-use/NoPlayListFoundException.html create mode 100644 target/site/apidocs/musichub/business/class-use/PlayList.html create mode 100644 target/site/apidocs/musichub/business/class-use/Song.html (limited to 'target/site/apidocs/musichub/business/class-use') diff --git a/target/site/apidocs/musichub/business/class-use/Album.html b/target/site/apidocs/musichub/business/class-use/Album.html new file mode 100644 index 0000000..98538f1 --- /dev/null +++ b/target/site/apidocs/musichub/business/class-use/Album.html @@ -0,0 +1,99 @@ + + + + + +Uses of Class musichub.business.Album (spoteezer 0.1.0 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
musichub.business.Album

+
+
Packages that use Album
+
+
Package
+
Description
+ +
 
+
+
+ +
+
+
+
+ +
+
+
+ + diff --git a/target/site/apidocs/musichub/business/class-use/AudioBook.html b/target/site/apidocs/musichub/business/class-use/AudioBook.html new file mode 100644 index 0000000..bd1fe37 --- /dev/null +++ b/target/site/apidocs/musichub/business/class-use/AudioBook.html @@ -0,0 +1,65 @@ + + + + + +Uses of Class musichub.business.AudioBook (spoteezer 0.1.0 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
musichub.business.AudioBook

+
+No usage of musichub.business.AudioBook
+
+
+ +
+
+
+ + diff --git a/target/site/apidocs/musichub/business/class-use/AudioElement.html b/target/site/apidocs/musichub/business/class-use/AudioElement.html new file mode 100644 index 0000000..805e3cb --- /dev/null +++ b/target/site/apidocs/musichub/business/class-use/AudioElement.html @@ -0,0 +1,114 @@ + + + + + +Uses of Class musichub.business.AudioElement (spoteezer 0.1.0 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
musichub.business.AudioElement

+
+
Packages that use AudioElement
+
+
Package
+
Description
+ +
 
+
+
+ +
+
+
+
+ +
+
+
+ + diff --git a/target/site/apidocs/musichub/business/class-use/Category.html b/target/site/apidocs/musichub/business/class-use/Category.html new file mode 100644 index 0000000..cb51f60 --- /dev/null +++ b/target/site/apidocs/musichub/business/class-use/Category.html @@ -0,0 +1,101 @@ + + + + + +Uses of Enum Class musichub.business.Category (spoteezer 0.1.0 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Enum Class
musichub.business.Category

+
+
Packages that use Category
+
+
Package
+
Description
+ +
 
+
+
+ +
+
+
+
+ +
+
+
+ + diff --git a/target/site/apidocs/musichub/business/class-use/Genre.html b/target/site/apidocs/musichub/business/class-use/Genre.html new file mode 100644 index 0000000..224ace7 --- /dev/null +++ b/target/site/apidocs/musichub/business/class-use/Genre.html @@ -0,0 +1,98 @@ + + + + + +Uses of Enum Class musichub.business.Genre (spoteezer 0.1.0 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Enum Class
musichub.business.Genre

+
+
Packages that use Genre
+
+
Package
+
Description
+ +
 
+
+
+
    +
  • +
    +

    Uses of Genre in musichub.business

    +
    Methods in musichub.business that return Genre
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static Genre
    +
    Genre.valueOf​(String name)
    +
    +
    Returns the enum constant of this class with the specified name.
    +
    +
    static Genre[]
    +
    Genre.values()
    +
    +
    Returns an array containing the constants of this enum class, in +the order they are declared.
    +
    +
    +
    +
  • +
+
+
+
+
+ +
+
+
+ + diff --git a/target/site/apidocs/musichub/business/class-use/Language.html b/target/site/apidocs/musichub/business/class-use/Language.html new file mode 100644 index 0000000..c02b71d --- /dev/null +++ b/target/site/apidocs/musichub/business/class-use/Language.html @@ -0,0 +1,101 @@ + + + + + +Uses of Enum Class musichub.business.Language (spoteezer 0.1.0 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Enum Class
musichub.business.Language

+
+
Packages that use Language
+
+
Package
+
Description
+ +
 
+
+
+ +
+
+
+
+ +
+
+
+ + diff --git a/target/site/apidocs/musichub/business/class-use/MusicHub.html b/target/site/apidocs/musichub/business/class-use/MusicHub.html new file mode 100644 index 0000000..0c5288d --- /dev/null +++ b/target/site/apidocs/musichub/business/class-use/MusicHub.html @@ -0,0 +1,65 @@ + + + + + +Uses of Class musichub.business.MusicHub (spoteezer 0.1.0 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
musichub.business.MusicHub

+
+No usage of musichub.business.MusicHub
+
+
+ +
+
+
+ + diff --git a/target/site/apidocs/musichub/business/class-use/NoAlbumFoundException.html b/target/site/apidocs/musichub/business/class-use/NoAlbumFoundException.html new file mode 100644 index 0000000..69c1a6c --- /dev/null +++ b/target/site/apidocs/musichub/business/class-use/NoAlbumFoundException.html @@ -0,0 +1,97 @@ + + + + + +Uses of Class musichub.business.NoAlbumFoundException (spoteezer 0.1.0 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
musichub.business.NoAlbumFoundException

+
+
Packages that use NoAlbumFoundException
+
+
Package
+
Description
+ +
 
+
+
+ +
+
+
+
+ +
+
+
+ + diff --git a/target/site/apidocs/musichub/business/class-use/NoElementFoundException.html b/target/site/apidocs/musichub/business/class-use/NoElementFoundException.html new file mode 100644 index 0000000..47178b8 --- /dev/null +++ b/target/site/apidocs/musichub/business/class-use/NoElementFoundException.html @@ -0,0 +1,95 @@ + + + + + +Uses of Class musichub.business.NoElementFoundException (spoteezer 0.1.0 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
musichub.business.NoElementFoundException

+
+
Packages that use NoElementFoundException
+
+
Package
+
Description
+ +
 
+
+
+ +
+
+
+
+ +
+
+
+ + diff --git a/target/site/apidocs/musichub/business/class-use/NoPlayListFoundException.html b/target/site/apidocs/musichub/business/class-use/NoPlayListFoundException.html new file mode 100644 index 0000000..0a7cd6f --- /dev/null +++ b/target/site/apidocs/musichub/business/class-use/NoPlayListFoundException.html @@ -0,0 +1,94 @@ + + + + + +Uses of Class musichub.business.NoPlayListFoundException (spoteezer 0.1.0 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
musichub.business.NoPlayListFoundException

+
+
Packages that use NoPlayListFoundException
+
+
Package
+
Description
+ +
 
+
+
+ +
+
+
+
+ +
+
+
+ + diff --git a/target/site/apidocs/musichub/business/class-use/PlayList.html b/target/site/apidocs/musichub/business/class-use/PlayList.html new file mode 100644 index 0000000..39e18c2 --- /dev/null +++ b/target/site/apidocs/musichub/business/class-use/PlayList.html @@ -0,0 +1,99 @@ + + + + + +Uses of Class musichub.business.PlayList (spoteezer 0.1.0 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
musichub.business.PlayList

+
+
Packages that use PlayList
+
+
Package
+
Description
+ +
 
+
+
+ +
+
+
+
+ +
+
+
+ + diff --git a/target/site/apidocs/musichub/business/class-use/Song.html b/target/site/apidocs/musichub/business/class-use/Song.html new file mode 100644 index 0000000..1303885 --- /dev/null +++ b/target/site/apidocs/musichub/business/class-use/Song.html @@ -0,0 +1,90 @@ + + + + + +Uses of Class musichub.business.Song (spoteezer 0.1.0 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
musichub.business.Song

+
+
Packages that use Song
+
+
Package
+
Description
+ +
 
+
+
+ +
+
+
+
+ +
+
+
+ + -- cgit v1.2.3 From 443140cfbde040afd3f1b279c77e2b8d61765c85 Mon Sep 17 00:00:00 2001 From: Clyhtsuriva Date: Sat, 26 Jun 2021 12:57:09 +0200 Subject: Update --- dependency-reduced-pom.xml | 38 ++++++++++----------- target/maven-archiver/pom.properties | 2 +- target/maven-javadoc-plugin-stale-data.txt | 38 ++++++++++----------- target/original-spoteezer-0.1.0.jar | Bin 29836 -> 29836 bytes target/site/apidocs/allclasses-index.html | 2 +- target/site/apidocs/allpackages-index.html | 2 +- target/site/apidocs/help-doc.html | 2 +- target/site/apidocs/index-all.html | 2 +- target/site/apidocs/index.html | 2 +- target/site/apidocs/musichub/business/Album.html | 2 +- .../site/apidocs/musichub/business/AudioBook.html | 2 +- .../apidocs/musichub/business/AudioElement.html | 2 +- .../site/apidocs/musichub/business/Category.html | 2 +- target/site/apidocs/musichub/business/Genre.html | 2 +- .../site/apidocs/musichub/business/Language.html | 2 +- .../site/apidocs/musichub/business/MusicHub.html | 2 +- .../musichub/business/NoAlbumFoundException.html | 2 +- .../musichub/business/NoElementFoundException.html | 2 +- .../business/NoPlayListFoundException.html | 2 +- .../site/apidocs/musichub/business/PlayList.html | 2 +- target/site/apidocs/musichub/business/Song.html | 2 +- .../apidocs/musichub/business/class-use/Album.html | 2 +- .../musichub/business/class-use/AudioBook.html | 2 +- .../musichub/business/class-use/AudioElement.html | 2 +- .../musichub/business/class-use/Category.html | 2 +- .../apidocs/musichub/business/class-use/Genre.html | 2 +- .../musichub/business/class-use/Language.html | 2 +- .../musichub/business/class-use/MusicHub.html | 2 +- .../business/class-use/NoAlbumFoundException.html | 2 +- .../class-use/NoElementFoundException.html | 2 +- .../class-use/NoPlayListFoundException.html | 2 +- .../musichub/business/class-use/PlayList.html | 2 +- .../apidocs/musichub/business/class-use/Song.html | 2 +- .../apidocs/musichub/business/package-summary.html | 2 +- .../apidocs/musichub/business/package-tree.html | 2 +- .../apidocs/musichub/business/package-use.html | 2 +- target/site/apidocs/musichub/main/Main.html | 2 +- .../site/apidocs/musichub/main/class-use/Main.html | 2 +- .../apidocs/musichub/main/package-summary.html | 2 +- .../site/apidocs/musichub/main/package-tree.html | 2 +- target/site/apidocs/musichub/main/package-use.html | 2 +- target/site/apidocs/musichub/util/XMLHandler.html | 2 +- .../musichub/util/class-use/XMLHandler.html | 2 +- .../apidocs/musichub/util/package-summary.html | 2 +- .../site/apidocs/musichub/util/package-tree.html | 2 +- target/site/apidocs/musichub/util/package-use.html | 2 +- target/site/apidocs/overview-summary.html | 2 +- target/site/apidocs/overview-tree.html | 2 +- target/site/apidocs/serialized-form.html | 2 +- target/spoteezer-0.1.0.jar | Bin 365706 -> 365706 bytes 50 files changed, 84 insertions(+), 84 deletions(-) (limited to 'target/site/apidocs/musichub/business/class-use') diff --git a/dependency-reduced-pom.xml b/dependency-reduced-pom.xml index 027738e..de729db 100644 --- a/dependency-reduced-pom.xml +++ b/dependency-reduced-pom.xml @@ -11,16 +11,16 @@ maven-shade-plugin 3.2.4 - - package - - shade - - - - - musichub.main.Main - + + package + + shade + + + + + musichub.main.Main + @@ -49,15 +49,15 @@ - - maven-compiler-plugin - - 16 - 16 - - - - + + maven-compiler-plugin + + 16 + 16 + + + + 16 16 diff --git a/target/maven-archiver/pom.properties b/target/maven-archiver/pom.properties index 2665c29..93fc220 100644 --- a/target/maven-archiver/pom.properties +++ b/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Sat Jun 26 12:33:30 CEST 2021 +#Sat Jun 26 12:55:18 CEST 2021 groupId=esiea.softwareengineering artifactId=spoteezer version=0.1.0 diff --git a/target/maven-javadoc-plugin-stale-data.txt b/target/maven-javadoc-plugin-stale-data.txt index 4368553..106bfed 100644 --- a/target/maven-javadoc-plugin-stale-data.txt +++ b/target/maven-javadoc-plugin-stale-data.txt @@ -43,22 +43,22 @@ C:\Users\SoftA\.m2\repository\org\opentest4j\opentest4j\1.0.0\opentest4j-1.0.0.j C:\Users\SoftA\.m2\repository\org\junit\platform\junit-platform-commons\1.0.2\junit-platform-commons-1.0.2.jar = 1624015816770 C:\Users\SoftA\.m2\repository\org\junit\jupiter\junit-jupiter-engine\5.0.2\junit-jupiter-engine-5.0.2.jar = 1624015816790 C:\Users\SoftA\.m2\repository\org\junit\platform\junit-platform-engine\1.0.2\junit-platform-engine-1.0.2.jar = 1624015816783 -C:\Users\SoftA\Documents\spoteezer\src\main\java = 1624701235404 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\allclasses-index.html = 1624703620814 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\allpackages-index.html = 1624703620816 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\element-list = 1624703620727 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\help-doc.html = 1624703620841 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\index-all.html = 1624703620837 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\index.html = 1624703620798 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\jquery-ui.overrides.css = 1624703620864 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\member-search-index.js = 1624703620820 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\module-search-index.js = 1624703620817 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\overview-summary.html = 1624703620839 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\overview-tree.html = 1624703620795 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\package-search-index.js = 1624703620818 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\script.js = 1624703620845 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\search.js = 1624703620848 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\serialized-form.html = 1624703620749 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\stylesheet.css = 1624703620844 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\tag-search-index.js = 1624703620821 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\type-search-index.js = 1624703620819 \ No newline at end of file +C:\Users\SoftA\Documents\spoteezer\src\main\java = 1624704746958 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\allclasses-index.html = 1624704928892 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\allpackages-index.html = 1624704928894 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\element-list = 1624704928806 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\help-doc.html = 1624704928918 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\index-all.html = 1624704928914 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\index.html = 1624704928876 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\jquery-ui.overrides.css = 1624704928938 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\member-search-index.js = 1624704928898 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\module-search-index.js = 1624704928895 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\overview-summary.html = 1624704928916 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\overview-tree.html = 1624704928873 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\package-search-index.js = 1624704928896 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\script.js = 1624704928921 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\search.js = 1624704928924 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\serialized-form.html = 1624704928827 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\stylesheet.css = 1624704928920 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\tag-search-index.js = 1624704928899 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\type-search-index.js = 1624704928897 \ No newline at end of file diff --git a/target/original-spoteezer-0.1.0.jar b/target/original-spoteezer-0.1.0.jar index 1acfbb8..28e38bb 100644 Binary files a/target/original-spoteezer-0.1.0.jar and b/target/original-spoteezer-0.1.0.jar differ diff --git a/target/site/apidocs/allclasses-index.html b/target/site/apidocs/allclasses-index.html index cf6d8b7..fb49088 100644 --- a/target/site/apidocs/allclasses-index.html +++ b/target/site/apidocs/allclasses-index.html @@ -2,7 +2,7 @@ - + All Classes (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/allpackages-index.html b/target/site/apidocs/allpackages-index.html index 28ab802..9c043ad 100644 --- a/target/site/apidocs/allpackages-index.html +++ b/target/site/apidocs/allpackages-index.html @@ -2,7 +2,7 @@ - + All Packages (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/help-doc.html b/target/site/apidocs/help-doc.html index 678cc80..e124b74 100644 --- a/target/site/apidocs/help-doc.html +++ b/target/site/apidocs/help-doc.html @@ -2,7 +2,7 @@ - + API Help (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/index-all.html b/target/site/apidocs/index-all.html index 4260fa8..f91c9b3 100644 --- a/target/site/apidocs/index-all.html +++ b/target/site/apidocs/index-all.html @@ -2,7 +2,7 @@ - + Index (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/index.html b/target/site/apidocs/index.html index 62084d5..7c966a1 100644 --- a/target/site/apidocs/index.html +++ b/target/site/apidocs/index.html @@ -2,7 +2,7 @@ - + Overview (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/Album.html b/target/site/apidocs/musichub/business/Album.html index 4c8007c..3e67075 100644 --- a/target/site/apidocs/musichub/business/Album.html +++ b/target/site/apidocs/musichub/business/Album.html @@ -2,7 +2,7 @@ - + Album (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/AudioBook.html b/target/site/apidocs/musichub/business/AudioBook.html index cb3aae7..48361da 100644 --- a/target/site/apidocs/musichub/business/AudioBook.html +++ b/target/site/apidocs/musichub/business/AudioBook.html @@ -2,7 +2,7 @@ - + AudioBook (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/AudioElement.html b/target/site/apidocs/musichub/business/AudioElement.html index 3679f49..89abaab 100644 --- a/target/site/apidocs/musichub/business/AudioElement.html +++ b/target/site/apidocs/musichub/business/AudioElement.html @@ -2,7 +2,7 @@ - + AudioElement (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/Category.html b/target/site/apidocs/musichub/business/Category.html index 7a26b6d..839a958 100644 --- a/target/site/apidocs/musichub/business/Category.html +++ b/target/site/apidocs/musichub/business/Category.html @@ -2,7 +2,7 @@ - + Category (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/Genre.html b/target/site/apidocs/musichub/business/Genre.html index eac735c..0b854bf 100644 --- a/target/site/apidocs/musichub/business/Genre.html +++ b/target/site/apidocs/musichub/business/Genre.html @@ -2,7 +2,7 @@ - + Genre (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/Language.html b/target/site/apidocs/musichub/business/Language.html index e220e63..96488c5 100644 --- a/target/site/apidocs/musichub/business/Language.html +++ b/target/site/apidocs/musichub/business/Language.html @@ -2,7 +2,7 @@ - + Language (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/MusicHub.html b/target/site/apidocs/musichub/business/MusicHub.html index 87380ec..9c5266c 100644 --- a/target/site/apidocs/musichub/business/MusicHub.html +++ b/target/site/apidocs/musichub/business/MusicHub.html @@ -2,7 +2,7 @@ - + MusicHub (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/NoAlbumFoundException.html b/target/site/apidocs/musichub/business/NoAlbumFoundException.html index f906ae8..5a480c3 100644 --- a/target/site/apidocs/musichub/business/NoAlbumFoundException.html +++ b/target/site/apidocs/musichub/business/NoAlbumFoundException.html @@ -2,7 +2,7 @@ - + NoAlbumFoundException (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/NoElementFoundException.html b/target/site/apidocs/musichub/business/NoElementFoundException.html index a15f7a4..704f5ce 100644 --- a/target/site/apidocs/musichub/business/NoElementFoundException.html +++ b/target/site/apidocs/musichub/business/NoElementFoundException.html @@ -2,7 +2,7 @@ - + NoElementFoundException (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/NoPlayListFoundException.html b/target/site/apidocs/musichub/business/NoPlayListFoundException.html index 65dfbeb..9d832fc 100644 --- a/target/site/apidocs/musichub/business/NoPlayListFoundException.html +++ b/target/site/apidocs/musichub/business/NoPlayListFoundException.html @@ -2,7 +2,7 @@ - + NoPlayListFoundException (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/PlayList.html b/target/site/apidocs/musichub/business/PlayList.html index 5688387..80f0b18 100644 --- a/target/site/apidocs/musichub/business/PlayList.html +++ b/target/site/apidocs/musichub/business/PlayList.html @@ -2,7 +2,7 @@ - + PlayList (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/Song.html b/target/site/apidocs/musichub/business/Song.html index cfbc99a..0a4f1fd 100644 --- a/target/site/apidocs/musichub/business/Song.html +++ b/target/site/apidocs/musichub/business/Song.html @@ -2,7 +2,7 @@ - + Song (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/class-use/Album.html b/target/site/apidocs/musichub/business/class-use/Album.html index 98538f1..c7a6a88 100644 --- a/target/site/apidocs/musichub/business/class-use/Album.html +++ b/target/site/apidocs/musichub/business/class-use/Album.html @@ -2,7 +2,7 @@ - + Uses of Class musichub.business.Album (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/class-use/AudioBook.html b/target/site/apidocs/musichub/business/class-use/AudioBook.html index bd1fe37..83d738a 100644 --- a/target/site/apidocs/musichub/business/class-use/AudioBook.html +++ b/target/site/apidocs/musichub/business/class-use/AudioBook.html @@ -2,7 +2,7 @@ - + Uses of Class musichub.business.AudioBook (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/class-use/AudioElement.html b/target/site/apidocs/musichub/business/class-use/AudioElement.html index 805e3cb..1a553bf 100644 --- a/target/site/apidocs/musichub/business/class-use/AudioElement.html +++ b/target/site/apidocs/musichub/business/class-use/AudioElement.html @@ -2,7 +2,7 @@ - + Uses of Class musichub.business.AudioElement (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/class-use/Category.html b/target/site/apidocs/musichub/business/class-use/Category.html index cb51f60..62d35c3 100644 --- a/target/site/apidocs/musichub/business/class-use/Category.html +++ b/target/site/apidocs/musichub/business/class-use/Category.html @@ -2,7 +2,7 @@ - + Uses of Enum Class musichub.business.Category (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/class-use/Genre.html b/target/site/apidocs/musichub/business/class-use/Genre.html index 224ace7..e87b8fb 100644 --- a/target/site/apidocs/musichub/business/class-use/Genre.html +++ b/target/site/apidocs/musichub/business/class-use/Genre.html @@ -2,7 +2,7 @@ - + Uses of Enum Class musichub.business.Genre (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/class-use/Language.html b/target/site/apidocs/musichub/business/class-use/Language.html index c02b71d..cf13a0c 100644 --- a/target/site/apidocs/musichub/business/class-use/Language.html +++ b/target/site/apidocs/musichub/business/class-use/Language.html @@ -2,7 +2,7 @@ - + Uses of Enum Class musichub.business.Language (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/class-use/MusicHub.html b/target/site/apidocs/musichub/business/class-use/MusicHub.html index 0c5288d..7ae64d9 100644 --- a/target/site/apidocs/musichub/business/class-use/MusicHub.html +++ b/target/site/apidocs/musichub/business/class-use/MusicHub.html @@ -2,7 +2,7 @@ - + Uses of Class musichub.business.MusicHub (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/class-use/NoAlbumFoundException.html b/target/site/apidocs/musichub/business/class-use/NoAlbumFoundException.html index 69c1a6c..165de5a 100644 --- a/target/site/apidocs/musichub/business/class-use/NoAlbumFoundException.html +++ b/target/site/apidocs/musichub/business/class-use/NoAlbumFoundException.html @@ -2,7 +2,7 @@ - + Uses of Class musichub.business.NoAlbumFoundException (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/class-use/NoElementFoundException.html b/target/site/apidocs/musichub/business/class-use/NoElementFoundException.html index 47178b8..b26799b 100644 --- a/target/site/apidocs/musichub/business/class-use/NoElementFoundException.html +++ b/target/site/apidocs/musichub/business/class-use/NoElementFoundException.html @@ -2,7 +2,7 @@ - + Uses of Class musichub.business.NoElementFoundException (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/class-use/NoPlayListFoundException.html b/target/site/apidocs/musichub/business/class-use/NoPlayListFoundException.html index 0a7cd6f..0ff787f 100644 --- a/target/site/apidocs/musichub/business/class-use/NoPlayListFoundException.html +++ b/target/site/apidocs/musichub/business/class-use/NoPlayListFoundException.html @@ -2,7 +2,7 @@ - + Uses of Class musichub.business.NoPlayListFoundException (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/class-use/PlayList.html b/target/site/apidocs/musichub/business/class-use/PlayList.html index 39e18c2..f230f7f 100644 --- a/target/site/apidocs/musichub/business/class-use/PlayList.html +++ b/target/site/apidocs/musichub/business/class-use/PlayList.html @@ -2,7 +2,7 @@ - + Uses of Class musichub.business.PlayList (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/class-use/Song.html b/target/site/apidocs/musichub/business/class-use/Song.html index 1303885..9d1c95e 100644 --- a/target/site/apidocs/musichub/business/class-use/Song.html +++ b/target/site/apidocs/musichub/business/class-use/Song.html @@ -2,7 +2,7 @@ - + Uses of Class musichub.business.Song (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/package-summary.html b/target/site/apidocs/musichub/business/package-summary.html index 79ed6a4..0df1343 100644 --- a/target/site/apidocs/musichub/business/package-summary.html +++ b/target/site/apidocs/musichub/business/package-summary.html @@ -2,7 +2,7 @@ - + musichub.business (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/package-tree.html b/target/site/apidocs/musichub/business/package-tree.html index 1a6bff9..8104cc3 100644 --- a/target/site/apidocs/musichub/business/package-tree.html +++ b/target/site/apidocs/musichub/business/package-tree.html @@ -2,7 +2,7 @@ - + musichub.business Class Hierarchy (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/package-use.html b/target/site/apidocs/musichub/business/package-use.html index a793731..a1cf6fb 100644 --- a/target/site/apidocs/musichub/business/package-use.html +++ b/target/site/apidocs/musichub/business/package-use.html @@ -2,7 +2,7 @@ - + Uses of Package musichub.business (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/main/Main.html b/target/site/apidocs/musichub/main/Main.html index 3156088..f0ef281 100644 --- a/target/site/apidocs/musichub/main/Main.html +++ b/target/site/apidocs/musichub/main/Main.html @@ -2,7 +2,7 @@ - + Main (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/main/class-use/Main.html b/target/site/apidocs/musichub/main/class-use/Main.html index 2c0e0ad..0af879d 100644 --- a/target/site/apidocs/musichub/main/class-use/Main.html +++ b/target/site/apidocs/musichub/main/class-use/Main.html @@ -2,7 +2,7 @@ - + Uses of Class musichub.main.Main (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/main/package-summary.html b/target/site/apidocs/musichub/main/package-summary.html index 316cd6d..4be4c16 100644 --- a/target/site/apidocs/musichub/main/package-summary.html +++ b/target/site/apidocs/musichub/main/package-summary.html @@ -2,7 +2,7 @@ - + musichub.main (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/main/package-tree.html b/target/site/apidocs/musichub/main/package-tree.html index 57cd805..96aab23 100644 --- a/target/site/apidocs/musichub/main/package-tree.html +++ b/target/site/apidocs/musichub/main/package-tree.html @@ -2,7 +2,7 @@ - + musichub.main Class Hierarchy (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/main/package-use.html b/target/site/apidocs/musichub/main/package-use.html index d98a9cf..e22beef 100644 --- a/target/site/apidocs/musichub/main/package-use.html +++ b/target/site/apidocs/musichub/main/package-use.html @@ -2,7 +2,7 @@ - + Uses of Package musichub.main (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/util/XMLHandler.html b/target/site/apidocs/musichub/util/XMLHandler.html index fae13b3..4b8d7ba 100644 --- a/target/site/apidocs/musichub/util/XMLHandler.html +++ b/target/site/apidocs/musichub/util/XMLHandler.html @@ -2,7 +2,7 @@ - + XMLHandler (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/util/class-use/XMLHandler.html b/target/site/apidocs/musichub/util/class-use/XMLHandler.html index 86a8a19..7435f8d 100644 --- a/target/site/apidocs/musichub/util/class-use/XMLHandler.html +++ b/target/site/apidocs/musichub/util/class-use/XMLHandler.html @@ -2,7 +2,7 @@ - + Uses of Class musichub.util.XMLHandler (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/util/package-summary.html b/target/site/apidocs/musichub/util/package-summary.html index ba36654..b38851e 100644 --- a/target/site/apidocs/musichub/util/package-summary.html +++ b/target/site/apidocs/musichub/util/package-summary.html @@ -2,7 +2,7 @@ - + musichub.util (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/util/package-tree.html b/target/site/apidocs/musichub/util/package-tree.html index f2ad19b..c4625b5 100644 --- a/target/site/apidocs/musichub/util/package-tree.html +++ b/target/site/apidocs/musichub/util/package-tree.html @@ -2,7 +2,7 @@ - + musichub.util Class Hierarchy (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/util/package-use.html b/target/site/apidocs/musichub/util/package-use.html index 7a3d44d..471f563 100644 --- a/target/site/apidocs/musichub/util/package-use.html +++ b/target/site/apidocs/musichub/util/package-use.html @@ -2,7 +2,7 @@ - + Uses of Package musichub.util (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/overview-summary.html b/target/site/apidocs/overview-summary.html index 33c47d8..f15374c 100644 --- a/target/site/apidocs/overview-summary.html +++ b/target/site/apidocs/overview-summary.html @@ -2,7 +2,7 @@ - + spoteezer 0.1.0 API diff --git a/target/site/apidocs/overview-tree.html b/target/site/apidocs/overview-tree.html index dbb2e21..cecf679 100644 --- a/target/site/apidocs/overview-tree.html +++ b/target/site/apidocs/overview-tree.html @@ -2,7 +2,7 @@ - + Class Hierarchy (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/serialized-form.html b/target/site/apidocs/serialized-form.html index a693241..d1ab954 100644 --- a/target/site/apidocs/serialized-form.html +++ b/target/site/apidocs/serialized-form.html @@ -2,7 +2,7 @@ - + Serialized Form (spoteezer 0.1.0 API) diff --git a/target/spoteezer-0.1.0.jar b/target/spoteezer-0.1.0.jar index 2c80e1b..3f4d90b 100644 Binary files a/target/spoteezer-0.1.0.jar and b/target/spoteezer-0.1.0.jar differ -- cgit v1.2.3 From 8e13dba6e1c39dd841d60fddc3c4060f9b4a4b85 Mon Sep 17 00:00:00 2001 From: Clyhtsuriva Date: Sat, 26 Jun 2021 13:32:26 +0200 Subject: Removed reduced pom and added the content of STZ-0001 with a switch modif. --- Song/Side_To_Side.wav | Bin 0 -> 43422962 bytes dependency-reduced-pom.xml | 67 --------------------- files/albums.xml | 2 + files/elements.xml | 6 +- pom.xml | 1 + src/main/java/musichub/business/AudioElement.java | 34 +++++++++++ src/main/java/musichub/business/MusicHub.java | 12 ++++ src/main/java/musichub/business/Song.java | 2 + src/main/java/musichub/main/Main.java | 12 +++- .../classes/musichub/business/AudioElement.class | Bin 3752 -> 5392 bytes target/classes/musichub/business/MusicHub.class | Bin 11031 -> 11543 bytes .../classes/musichub/business/SortByAuthor.class | Bin 901 -> 901 bytes target/classes/musichub/business/SortByDate.class | Bin 854 -> 854 bytes target/classes/musichub/business/SortByGenre.class | Bin 858 -> 858 bytes target/classes/musichub/main/Main.class | Bin 9390 -> 9840 bytes target/maven-archiver/pom.properties | 2 +- target/maven-javadoc-plugin-stale-data.txt | 38 ++++++------ target/original-spoteezer-0.1.0.jar | Bin 29836 -> 31130 bytes target/site/apidocs/allclasses-index.html | 2 +- target/site/apidocs/allpackages-index.html | 2 +- target/site/apidocs/help-doc.html | 2 +- target/site/apidocs/index-all.html | 6 +- target/site/apidocs/index.html | 2 +- target/site/apidocs/member-search-index.js | 2 +- target/site/apidocs/musichub/business/Album.html | 2 +- .../site/apidocs/musichub/business/AudioBook.html | 4 +- .../apidocs/musichub/business/AudioElement.html | 24 +++++++- .../site/apidocs/musichub/business/Category.html | 2 +- target/site/apidocs/musichub/business/Genre.html | 2 +- .../site/apidocs/musichub/business/Language.html | 2 +- .../site/apidocs/musichub/business/MusicHub.html | 36 ++++++++--- .../musichub/business/NoAlbumFoundException.html | 2 +- .../musichub/business/NoElementFoundException.html | 2 +- .../business/NoPlayListFoundException.html | 2 +- .../site/apidocs/musichub/business/PlayList.html | 2 +- target/site/apidocs/musichub/business/Song.html | 4 +- .../apidocs/musichub/business/class-use/Album.html | 2 +- .../musichub/business/class-use/AudioBook.html | 2 +- .../musichub/business/class-use/AudioElement.html | 12 +++- .../musichub/business/class-use/Category.html | 2 +- .../apidocs/musichub/business/class-use/Genre.html | 2 +- .../musichub/business/class-use/Language.html | 2 +- .../musichub/business/class-use/MusicHub.html | 2 +- .../business/class-use/NoAlbumFoundException.html | 6 +- .../class-use/NoElementFoundException.html | 2 +- .../class-use/NoPlayListFoundException.html | 2 +- .../musichub/business/class-use/PlayList.html | 2 +- .../apidocs/musichub/business/class-use/Song.html | 2 +- .../apidocs/musichub/business/package-summary.html | 2 +- .../apidocs/musichub/business/package-tree.html | 2 +- .../apidocs/musichub/business/package-use.html | 2 +- target/site/apidocs/musichub/main/Main.html | 13 +++- .../site/apidocs/musichub/main/class-use/Main.html | 2 +- .../apidocs/musichub/main/package-summary.html | 2 +- .../site/apidocs/musichub/main/package-tree.html | 2 +- target/site/apidocs/musichub/main/package-use.html | 2 +- target/site/apidocs/musichub/util/XMLHandler.html | 2 +- .../musichub/util/class-use/XMLHandler.html | 2 +- .../apidocs/musichub/util/package-summary.html | 2 +- .../site/apidocs/musichub/util/package-tree.html | 2 +- target/site/apidocs/musichub/util/package-use.html | 2 +- target/site/apidocs/overview-summary.html | 2 +- target/site/apidocs/overview-tree.html | 2 +- target/site/apidocs/serialized-form.html | 2 +- target/spoteezer-0.1.0.jar | Bin 365706 -> 367000 bytes 65 files changed, 208 insertions(+), 149 deletions(-) create mode 100644 Song/Side_To_Side.wav delete mode 100644 dependency-reduced-pom.xml (limited to 'target/site/apidocs/musichub/business/class-use') diff --git a/Song/Side_To_Side.wav b/Song/Side_To_Side.wav new file mode 100644 index 0000000..3c874db Binary files /dev/null and b/Song/Side_To_Side.wav differ diff --git a/dependency-reduced-pom.xml b/dependency-reduced-pom.xml deleted file mode 100644 index de729db..0000000 --- a/dependency-reduced-pom.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - 4.0.0 - esiea.softwareengineering - spoteezer - 0.1.0 - - - - maven-shade-plugin - 3.2.4 - - - package - - shade - - - - - musichub.main.Main - - - - - - - - maven-surefire-plugin - 2.22.0 - - - org.jacoco - jacoco-maven-plugin - 0.8.7 - - - - prepare-agent - - - - report - test - - report - - - - - - maven-compiler-plugin - - 16 - 16 - - - - - - 16 - 16 - 16 - 16 - - diff --git a/files/albums.xml b/files/albums.xml index edfd610..edb2a94 100644 --- a/files/albums.xml +++ b/files/albums.xml @@ -12,6 +12,7 @@ b2ee0ca0-b5e2-4bc9-8fed-7932fb145f2f bbe99998-1be6-4a40-8bf0-6a7fce9087c9 66d277ca-cbc4-471c-a07e-082363375bcc + 44136020-dc80-4522-9b71-2b9aad5e3039 @@ -22,6 +23,7 @@ 1978-01-23 44136020-dc80-4522-9b71-2b9aad5e3039 + 66d277ca-cbc4-471c-a07e-082363375bcc \ No newline at end of file diff --git a/files/elements.xml b/files/elements.xml index 7fefc5f..553f228 100644 --- a/files/elements.xml +++ b/files/elements.xml @@ -9,11 +9,11 @@ pop - I Want to Hold your Hand - The Beatles + Side To Side + Ariana Grande 186 66d277ca-cbc4-471c-a07e-082363375bcc - i_want_to_hold_your_hand.mp3 + Song/Side_To_Side.wav rock diff --git a/pom.xml b/pom.xml index 821c1b6..7ebddc1 100644 --- a/pom.xml +++ b/pom.xml @@ -26,6 +26,7 @@ shade + false diff --git a/src/main/java/musichub/business/AudioElement.java b/src/main/java/musichub/business/AudioElement.java index e0a686b..0a51c16 100644 --- a/src/main/java/musichub/business/AudioElement.java +++ b/src/main/java/musichub/business/AudioElement.java @@ -3,6 +3,10 @@ package musichub.business; import org.w3c.dom.Document; import org.w3c.dom.Element; +import javax.sound.sampled.*; +import java.io.File; +import java.io.IOException; +import java.util.Scanner; import java.util.UUID; public abstract class AudioElement { @@ -85,4 +89,34 @@ public abstract class AudioElement { } + public void manageAudioElement() throws UnsupportedAudioFileException, IOException, LineUnavailableException { + + Scanner scanner = new Scanner(System.in); + + File file = new File(this.content); + AudioInputStream audioStream = AudioSystem.getAudioInputStream(file); + Clip clip = AudioSystem.getClip(); + clip.open(audioStream); + + String action = ""; + + while (!action.equals("Q")) { + System.out.println("P = Play \b S = Stop \b R = Reset \b Q = Quit"); + System.out.println("Enter your choice"); + action = scanner.next(); + action = action.toUpperCase(); + + switch (action) { + case "S", "Q" -> clip.stop(); + case "P" -> clip.start(); + case "R" -> clip.setMicrosecondPosition(0); + default -> System.out.println("try again"); + } + System.out.println("You stopped the Audio element"); + } + + clip.close(); + + } + } \ No newline at end of file diff --git a/src/main/java/musichub/business/MusicHub.java b/src/main/java/musichub/business/MusicHub.java index 38e2214..f289f1a 100644 --- a/src/main/java/musichub/business/MusicHub.java +++ b/src/main/java/musichub/business/MusicHub.java @@ -6,6 +6,9 @@ import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; +import javax.sound.sampled.LineUnavailableException; +import javax.sound.sampled.UnsupportedAudioFileException; +import java.io.IOException; import java.util.*; class SortByDate implements Comparator { @@ -326,4 +329,13 @@ public class MusicHub { } xmlHandler.createXMLFile(document, ELEMENTS_FILE_PATH); } + + public void getAudioElement(List audios, String elementTitle) throws NoAlbumFoundException, UnsupportedAudioFileException, IOException, LineUnavailableException { + for (AudioElement el : audios) { + if (el.getTitle().equalsIgnoreCase(elementTitle)) { + el.manageAudioElement(); + } + } + + } } \ No newline at end of file diff --git a/src/main/java/musichub/business/Song.java b/src/main/java/musichub/business/Song.java index 3e9011b..5d044a9 100644 --- a/src/main/java/musichub/business/Song.java +++ b/src/main/java/musichub/business/Song.java @@ -53,4 +53,6 @@ public class Song extends AudioElement { parentElement.appendChild(song); } + + } \ No newline at end of file diff --git a/src/main/java/musichub/main/Main.java b/src/main/java/musichub/main/Main.java index b72a95b..c820b5d 100644 --- a/src/main/java/musichub/main/Main.java +++ b/src/main/java/musichub/main/Main.java @@ -2,11 +2,15 @@ package musichub.main; import musichub.business.*; +import javax.sound.sampled.LineUnavailableException; +import javax.sound.sampled.UnsupportedAudioFileException; +import java.io.IOException; import java.util.Iterator; +import java.util.List; import java.util.Scanner; public class Main { - public static void main(String[] args) { + public static void main(String[] args) throws UnsupportedAudioFileException, IOException, LineUnavailableException { MusicHub theHub = new MusicHub(); @@ -41,7 +45,8 @@ public class Main { albumTitle = scan.nextLine(); try { - System.out.println(theHub.getAlbumSongsSortedByGenre(albumTitle)); + List songs = theHub.getAlbumSongsSortedByGenre(albumTitle); + System.out.println(songs); } catch (NoAlbumFoundException ex) { System.out.println("No album found with the requested title " + ex.getMessage()); } @@ -55,7 +60,10 @@ public class Main { albumTitle = scan.nextLine(); try { + List songs = theHub.getAlbumSongs(albumTitle); System.out.println(theHub.getAlbumSongs(albumTitle)); + String song = scan.nextLine(); + theHub.getAudioElement(songs, song); } catch (NoAlbumFoundException ex) { System.out.println("No album found with the requested title " + ex.getMessage()); } diff --git a/target/classes/musichub/business/AudioElement.class b/target/classes/musichub/business/AudioElement.class index ab20d50..3579513 100644 Binary files a/target/classes/musichub/business/AudioElement.class and b/target/classes/musichub/business/AudioElement.class differ diff --git a/target/classes/musichub/business/MusicHub.class b/target/classes/musichub/business/MusicHub.class index e1a0961..8b8b280 100644 Binary files a/target/classes/musichub/business/MusicHub.class and b/target/classes/musichub/business/MusicHub.class differ diff --git a/target/classes/musichub/business/SortByAuthor.class b/target/classes/musichub/business/SortByAuthor.class index fb8ee7a..ac4474a 100644 Binary files a/target/classes/musichub/business/SortByAuthor.class and b/target/classes/musichub/business/SortByAuthor.class differ diff --git a/target/classes/musichub/business/SortByDate.class b/target/classes/musichub/business/SortByDate.class index c52e870..6892059 100644 Binary files a/target/classes/musichub/business/SortByDate.class and b/target/classes/musichub/business/SortByDate.class differ diff --git a/target/classes/musichub/business/SortByGenre.class b/target/classes/musichub/business/SortByGenre.class index 2016012..7cabb3e 100644 Binary files a/target/classes/musichub/business/SortByGenre.class and b/target/classes/musichub/business/SortByGenre.class differ diff --git a/target/classes/musichub/main/Main.class b/target/classes/musichub/main/Main.class index 06c19ac..1e19601 100644 Binary files a/target/classes/musichub/main/Main.class and b/target/classes/musichub/main/Main.class differ diff --git a/target/maven-archiver/pom.properties b/target/maven-archiver/pom.properties index 93fc220..1b408a6 100644 --- a/target/maven-archiver/pom.properties +++ b/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Sat Jun 26 12:55:18 CEST 2021 +#Sat Jun 26 13:25:26 CEST 2021 groupId=esiea.softwareengineering artifactId=spoteezer version=0.1.0 diff --git a/target/maven-javadoc-plugin-stale-data.txt b/target/maven-javadoc-plugin-stale-data.txt index 106bfed..c701b12 100644 --- a/target/maven-javadoc-plugin-stale-data.txt +++ b/target/maven-javadoc-plugin-stale-data.txt @@ -43,22 +43,22 @@ C:\Users\SoftA\.m2\repository\org\opentest4j\opentest4j\1.0.0\opentest4j-1.0.0.j C:\Users\SoftA\.m2\repository\org\junit\platform\junit-platform-commons\1.0.2\junit-platform-commons-1.0.2.jar = 1624015816770 C:\Users\SoftA\.m2\repository\org\junit\jupiter\junit-jupiter-engine\5.0.2\junit-jupiter-engine-5.0.2.jar = 1624015816790 C:\Users\SoftA\.m2\repository\org\junit\platform\junit-platform-engine\1.0.2\junit-platform-engine-1.0.2.jar = 1624015816783 -C:\Users\SoftA\Documents\spoteezer\src\main\java = 1624704746958 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\allclasses-index.html = 1624704928892 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\allpackages-index.html = 1624704928894 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\element-list = 1624704928806 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\help-doc.html = 1624704928918 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\index-all.html = 1624704928914 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\index.html = 1624704928876 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\jquery-ui.overrides.css = 1624704928938 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\member-search-index.js = 1624704928898 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\module-search-index.js = 1624704928895 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\overview-summary.html = 1624704928916 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\overview-tree.html = 1624704928873 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\package-search-index.js = 1624704928896 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\script.js = 1624704928921 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\search.js = 1624704928924 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\serialized-form.html = 1624704928827 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\stylesheet.css = 1624704928920 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\tag-search-index.js = 1624704928899 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\type-search-index.js = 1624704928897 \ No newline at end of file +C:\Users\SoftA\Documents\spoteezer\src\main\java = 1624705682872 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\allclasses-index.html = 1624706731862 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\allpackages-index.html = 1624706731864 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\element-list = 1624706731767 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\help-doc.html = 1624706731890 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\index-all.html = 1624706731885 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\index.html = 1624706731838 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\jquery-ui.overrides.css = 1624706731909 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\member-search-index.js = 1624706731868 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\module-search-index.js = 1624706731865 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\overview-summary.html = 1624706731887 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\overview-tree.html = 1624706731835 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\package-search-index.js = 1624706731866 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\script.js = 1624706731894 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\search.js = 1624706731895 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\serialized-form.html = 1624706731788 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\stylesheet.css = 1624706731892 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\tag-search-index.js = 1624706731869 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\type-search-index.js = 1624706731867 \ No newline at end of file diff --git a/target/original-spoteezer-0.1.0.jar b/target/original-spoteezer-0.1.0.jar index 28e38bb..b2c45cf 100644 Binary files a/target/original-spoteezer-0.1.0.jar and b/target/original-spoteezer-0.1.0.jar differ diff --git a/target/site/apidocs/allclasses-index.html b/target/site/apidocs/allclasses-index.html index fb49088..83bf57c 100644 --- a/target/site/apidocs/allclasses-index.html +++ b/target/site/apidocs/allclasses-index.html @@ -2,7 +2,7 @@ - + All Classes (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/allpackages-index.html b/target/site/apidocs/allpackages-index.html index 9c043ad..a9e8eb8 100644 --- a/target/site/apidocs/allpackages-index.html +++ b/target/site/apidocs/allpackages-index.html @@ -2,7 +2,7 @@ - + All Packages (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/help-doc.html b/target/site/apidocs/help-doc.html index e124b74..a2e0731 100644 --- a/target/site/apidocs/help-doc.html +++ b/target/site/apidocs/help-doc.html @@ -2,7 +2,7 @@ - + API Help (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/index-all.html b/target/site/apidocs/index-all.html index f91c9b3..cd292d0 100644 --- a/target/site/apidocs/index-all.html +++ b/target/site/apidocs/index-all.html @@ -2,7 +2,7 @@ - + Index (spoteezer 0.1.0 API) @@ -164,6 +164,8 @@ loadScripts(document, 'script');
 
getAudiobooksTitlesSortedByAuthor() - Method in class musichub.business.MusicHub
 
+
getAudioElement(List<AudioElement>, String) - Method in class musichub.business.MusicHub
+
 
getCategory() - Method in class musichub.business.AudioBook
 
getCategory() - Method in enum class musichub.business.Category
@@ -223,6 +225,8 @@ loadScripts(document, 'script');
 
Main() - Constructor for class musichub.main.Main
 
+
manageAudioElement() - Method in class musichub.business.AudioElement
+
 
MusicHub - Class in musichub.business
 
MusicHub() - Constructor for class musichub.business.MusicHub
diff --git a/target/site/apidocs/index.html b/target/site/apidocs/index.html index 7c966a1..87cf0ec 100644 --- a/target/site/apidocs/index.html +++ b/target/site/apidocs/index.html @@ -2,7 +2,7 @@ - + Overview (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/member-search-index.js b/target/site/apidocs/member-search-index.js index d356ad0..784449a 100644 --- a/target/site/apidocs/member-search-index.js +++ b/target/site/apidocs/member-search-index.js @@ -1 +1 @@ -memberSearchIndex = [{"p":"musichub.business","c":"MusicHub","l":"addAlbum(Album)","u":"addAlbum(musichub.business.Album)"},{"p":"musichub.business","c":"MusicHub","l":"addElement(AudioElement)","u":"addElement(musichub.business.AudioElement)"},{"p":"musichub.business","c":"PlayList","l":"addElement(UUID)","u":"addElement(java.util.UUID)"},{"p":"musichub.business","c":"MusicHub","l":"addElementToAlbum(String, String)","u":"addElementToAlbum(java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"addElementToPlayList(String, String)","u":"addElementToPlayList(java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"addPlaylist(PlayList)","u":"addPlaylist(musichub.business.PlayList)"},{"p":"musichub.business","c":"Album","l":"addSong(UUID)","u":"addSong(java.util.UUID)"},{"p":"musichub.business","c":"Album","l":"Album(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"Album","l":"Album(String, String, int, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String)"},{"p":"musichub.business","c":"Album","l":"Album(String, String, int, String, String, ArrayList)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.util.ArrayList)"},{"p":"musichub.business","c":"MusicHub","l":"ALBUMS_FILE_PATH"},{"p":"musichub.business","c":"MusicHub","l":"albums()"},{"p":"musichub.business","c":"AudioElement","l":"artist"},{"p":"musichub.business","c":"AudioBook","l":"AudioBook(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioBook","l":"AudioBook(String, String, int, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"AudioBook","l":"AudioBook(String, String, int, String, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"AudioElement","l":"AudioElement(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioElement","l":"AudioElement(String, String, int, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String)"},{"p":"musichub.business","c":"AudioElement","l":"AudioElement(String, String, int, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"Genre","l":"CLASSIC"},{"p":"musichub.business","c":"AudioElement","l":"content"},{"p":"musichub.util","c":"XMLHandler","l":"createXMLDocument()"},{"p":"musichub.business","c":"Album","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioBook","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioElement","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"PlayList","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"Song","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.util","c":"XMLHandler","l":"createXMLFile(Document, String)","u":"createXMLFile(org.w3c.dom.Document,java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"deletePlayList(String)","u":"deletePlayList(java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"DIR"},{"p":"musichub.business","c":"Category","l":"DOCUMENTARY"},{"p":"musichub.business","c":"MusicHub","l":"ELEMENTS_FILE_PATH"},{"p":"musichub.business","c":"MusicHub","l":"elements()"},{"p":"musichub.business","c":"Language","l":"ENGLISH"},{"p":"musichub.business","c":"Language","l":"FRENCH"},{"p":"musichub.business","c":"Language","l":"GERMAN"},{"p":"musichub.business","c":"MusicHub","l":"getAlbumSongs(String)","u":"getAlbumSongs(java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"getAlbumSongsSortedByGenre(String)","u":"getAlbumSongsSortedByGenre(java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"getAlbumsTitlesSortedByDate()"},{"p":"musichub.business","c":"AudioElement","l":"getArtist()"},{"p":"musichub.business","c":"MusicHub","l":"getAudiobooksTitlesSortedByAuthor()"},{"p":"musichub.business","c":"AudioBook","l":"getCategory()"},{"p":"musichub.business","c":"Category","l":"getCategory()"},{"p":"musichub.business","c":"Album","l":"getDate()"},{"p":"musichub.business","c":"PlayList","l":"getElements()"},{"p":"musichub.business","c":"Genre","l":"getGenre()"},{"p":"musichub.business","c":"Song","l":"getGenre()"},{"p":"musichub.business","c":"AudioBook","l":"getLanguage()"},{"p":"musichub.business","c":"Language","l":"getLanguage()"},{"p":"musichub.business","c":"Album","l":"getSongs()"},{"p":"musichub.business","c":"Album","l":"getSongsRandomly()"},{"p":"musichub.business","c":"Album","l":"getTitle()"},{"p":"musichub.business","c":"AudioElement","l":"getTitle()"},{"p":"musichub.business","c":"PlayList","l":"getTitle()"},{"p":"musichub.business","c":"AudioElement","l":"getUUID()"},{"p":"musichub.business","c":"Genre","l":"HIPHOP"},{"p":"musichub.business","c":"Language","l":"ITALIAN"},{"p":"musichub.business","c":"Genre","l":"JAZZ"},{"p":"musichub.business","c":"AudioElement","l":"lengthInSeconds"},{"p":"musichub.main","c":"Main","l":"Main()","u":"%3Cinit%3E()"},{"p":"musichub.main","c":"Main","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"musichub.business","c":"MusicHub","l":"MusicHub()","u":"%3Cinit%3E()"},{"p":"musichub.business","c":"NoAlbumFoundException","l":"NoAlbumFoundException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"NoElementFoundException","l":"NoElementFoundException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"NoPlayListFoundException","l":"NoPlayListFoundException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"Category","l":"NOVEL"},{"p":"musichub.util","c":"XMLHandler","l":"parseXMLFile(String)","u":"parseXMLFile(java.lang.String)"},{"p":"musichub.business","c":"PlayList","l":"PlayList(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"PlayList","l":"PlayList(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"PlayList","l":"PlayList(String, String, ArrayList)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.util.ArrayList)"},{"p":"musichub.business","c":"MusicHub","l":"PLAYLISTS_FILE_PATH"},{"p":"musichub.business","c":"MusicHub","l":"playlists()"},{"p":"musichub.business","c":"Genre","l":"POP"},{"p":"musichub.business","c":"Genre","l":"RAP"},{"p":"musichub.business","c":"Genre","l":"ROCK"},{"p":"musichub.business","c":"MusicHub","l":"saveAlbums()"},{"p":"musichub.business","c":"MusicHub","l":"saveElements()"},{"p":"musichub.business","c":"MusicHub","l":"savePlayLists()"},{"p":"musichub.business","c":"AudioBook","l":"setCategory(String)","u":"setCategory(java.lang.String)"},{"p":"musichub.business","c":"Song","l":"setGenre(String)","u":"setGenre(java.lang.String)"},{"p":"musichub.business","c":"AudioBook","l":"setLanguage(String)","u":"setLanguage(java.lang.String)"},{"p":"musichub.business","c":"Song","l":"Song(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"Song","l":"Song(String, String, int, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"Song","l":"Song(String, String, int, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"Language","l":"SPANISH"},{"p":"musichub.business","c":"Category","l":"SPEECH"},{"p":"musichub.business","c":"Category","l":"THEATER"},{"p":"musichub.business","c":"AudioElement","l":"title"},{"p":"musichub.business","c":"AudioBook","l":"toString()"},{"p":"musichub.business","c":"AudioElement","l":"toString()"},{"p":"musichub.business","c":"Song","l":"toString()"},{"p":"musichub.business","c":"AudioElement","l":"uuid"},{"p":"musichub.business","c":"Category","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"musichub.business","c":"Genre","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"musichub.business","c":"Language","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"musichub.business","c":"Category","l":"values()"},{"p":"musichub.business","c":"Genre","l":"values()"},{"p":"musichub.business","c":"Language","l":"values()"},{"p":"musichub.util","c":"XMLHandler","l":"XMLHandler()","u":"%3Cinit%3E()"},{"p":"musichub.business","c":"Category","l":"YOUTH"}];updateSearchResults(); \ No newline at end of file +memberSearchIndex = [{"p":"musichub.business","c":"MusicHub","l":"addAlbum(Album)","u":"addAlbum(musichub.business.Album)"},{"p":"musichub.business","c":"MusicHub","l":"addElement(AudioElement)","u":"addElement(musichub.business.AudioElement)"},{"p":"musichub.business","c":"PlayList","l":"addElement(UUID)","u":"addElement(java.util.UUID)"},{"p":"musichub.business","c":"MusicHub","l":"addElementToAlbum(String, String)","u":"addElementToAlbum(java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"addElementToPlayList(String, String)","u":"addElementToPlayList(java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"addPlaylist(PlayList)","u":"addPlaylist(musichub.business.PlayList)"},{"p":"musichub.business","c":"Album","l":"addSong(UUID)","u":"addSong(java.util.UUID)"},{"p":"musichub.business","c":"Album","l":"Album(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"Album","l":"Album(String, String, int, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String)"},{"p":"musichub.business","c":"Album","l":"Album(String, String, int, String, String, ArrayList)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.util.ArrayList)"},{"p":"musichub.business","c":"MusicHub","l":"ALBUMS_FILE_PATH"},{"p":"musichub.business","c":"MusicHub","l":"albums()"},{"p":"musichub.business","c":"AudioElement","l":"artist"},{"p":"musichub.business","c":"AudioBook","l":"AudioBook(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioBook","l":"AudioBook(String, String, int, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"AudioBook","l":"AudioBook(String, String, int, String, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"AudioElement","l":"AudioElement(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioElement","l":"AudioElement(String, String, int, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String)"},{"p":"musichub.business","c":"AudioElement","l":"AudioElement(String, String, int, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"Genre","l":"CLASSIC"},{"p":"musichub.business","c":"AudioElement","l":"content"},{"p":"musichub.util","c":"XMLHandler","l":"createXMLDocument()"},{"p":"musichub.business","c":"Album","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioBook","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioElement","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"PlayList","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"Song","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.util","c":"XMLHandler","l":"createXMLFile(Document, String)","u":"createXMLFile(org.w3c.dom.Document,java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"deletePlayList(String)","u":"deletePlayList(java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"DIR"},{"p":"musichub.business","c":"Category","l":"DOCUMENTARY"},{"p":"musichub.business","c":"MusicHub","l":"ELEMENTS_FILE_PATH"},{"p":"musichub.business","c":"MusicHub","l":"elements()"},{"p":"musichub.business","c":"Language","l":"ENGLISH"},{"p":"musichub.business","c":"Language","l":"FRENCH"},{"p":"musichub.business","c":"Language","l":"GERMAN"},{"p":"musichub.business","c":"MusicHub","l":"getAlbumSongs(String)","u":"getAlbumSongs(java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"getAlbumSongsSortedByGenre(String)","u":"getAlbumSongsSortedByGenre(java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"getAlbumsTitlesSortedByDate()"},{"p":"musichub.business","c":"AudioElement","l":"getArtist()"},{"p":"musichub.business","c":"MusicHub","l":"getAudiobooksTitlesSortedByAuthor()"},{"p":"musichub.business","c":"MusicHub","l":"getAudioElement(List, String)","u":"getAudioElement(java.util.List,java.lang.String)"},{"p":"musichub.business","c":"AudioBook","l":"getCategory()"},{"p":"musichub.business","c":"Category","l":"getCategory()"},{"p":"musichub.business","c":"Album","l":"getDate()"},{"p":"musichub.business","c":"PlayList","l":"getElements()"},{"p":"musichub.business","c":"Genre","l":"getGenre()"},{"p":"musichub.business","c":"Song","l":"getGenre()"},{"p":"musichub.business","c":"AudioBook","l":"getLanguage()"},{"p":"musichub.business","c":"Language","l":"getLanguage()"},{"p":"musichub.business","c":"Album","l":"getSongs()"},{"p":"musichub.business","c":"Album","l":"getSongsRandomly()"},{"p":"musichub.business","c":"Album","l":"getTitle()"},{"p":"musichub.business","c":"AudioElement","l":"getTitle()"},{"p":"musichub.business","c":"PlayList","l":"getTitle()"},{"p":"musichub.business","c":"AudioElement","l":"getUUID()"},{"p":"musichub.business","c":"Genre","l":"HIPHOP"},{"p":"musichub.business","c":"Language","l":"ITALIAN"},{"p":"musichub.business","c":"Genre","l":"JAZZ"},{"p":"musichub.business","c":"AudioElement","l":"lengthInSeconds"},{"p":"musichub.main","c":"Main","l":"Main()","u":"%3Cinit%3E()"},{"p":"musichub.main","c":"Main","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"musichub.business","c":"AudioElement","l":"manageAudioElement()"},{"p":"musichub.business","c":"MusicHub","l":"MusicHub()","u":"%3Cinit%3E()"},{"p":"musichub.business","c":"NoAlbumFoundException","l":"NoAlbumFoundException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"NoElementFoundException","l":"NoElementFoundException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"NoPlayListFoundException","l":"NoPlayListFoundException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"Category","l":"NOVEL"},{"p":"musichub.util","c":"XMLHandler","l":"parseXMLFile(String)","u":"parseXMLFile(java.lang.String)"},{"p":"musichub.business","c":"PlayList","l":"PlayList(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"PlayList","l":"PlayList(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"PlayList","l":"PlayList(String, String, ArrayList)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.util.ArrayList)"},{"p":"musichub.business","c":"MusicHub","l":"PLAYLISTS_FILE_PATH"},{"p":"musichub.business","c":"MusicHub","l":"playlists()"},{"p":"musichub.business","c":"Genre","l":"POP"},{"p":"musichub.business","c":"Genre","l":"RAP"},{"p":"musichub.business","c":"Genre","l":"ROCK"},{"p":"musichub.business","c":"MusicHub","l":"saveAlbums()"},{"p":"musichub.business","c":"MusicHub","l":"saveElements()"},{"p":"musichub.business","c":"MusicHub","l":"savePlayLists()"},{"p":"musichub.business","c":"AudioBook","l":"setCategory(String)","u":"setCategory(java.lang.String)"},{"p":"musichub.business","c":"Song","l":"setGenre(String)","u":"setGenre(java.lang.String)"},{"p":"musichub.business","c":"AudioBook","l":"setLanguage(String)","u":"setLanguage(java.lang.String)"},{"p":"musichub.business","c":"Song","l":"Song(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"Song","l":"Song(String, String, int, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"Song","l":"Song(String, String, int, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"Language","l":"SPANISH"},{"p":"musichub.business","c":"Category","l":"SPEECH"},{"p":"musichub.business","c":"Category","l":"THEATER"},{"p":"musichub.business","c":"AudioElement","l":"title"},{"p":"musichub.business","c":"AudioBook","l":"toString()"},{"p":"musichub.business","c":"AudioElement","l":"toString()"},{"p":"musichub.business","c":"Song","l":"toString()"},{"p":"musichub.business","c":"AudioElement","l":"uuid"},{"p":"musichub.business","c":"Category","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"musichub.business","c":"Genre","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"musichub.business","c":"Language","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"musichub.business","c":"Category","l":"values()"},{"p":"musichub.business","c":"Genre","l":"values()"},{"p":"musichub.business","c":"Language","l":"values()"},{"p":"musichub.util","c":"XMLHandler","l":"XMLHandler()","u":"%3Cinit%3E()"},{"p":"musichub.business","c":"Category","l":"YOUTH"}];updateSearchResults(); \ No newline at end of file diff --git a/target/site/apidocs/musichub/business/Album.html b/target/site/apidocs/musichub/business/Album.html index 3e67075..8d24dd6 100644 --- a/target/site/apidocs/musichub/business/Album.html +++ b/target/site/apidocs/musichub/business/Album.html @@ -2,7 +2,7 @@ - + Album (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/AudioBook.html b/target/site/apidocs/musichub/business/AudioBook.html index 48361da..0d8d9b5 100644 --- a/target/site/apidocs/musichub/business/AudioBook.html +++ b/target/site/apidocs/musichub/business/AudioBook.html @@ -2,7 +2,7 @@ - + AudioBook (spoteezer 0.1.0 API) @@ -159,7 +159,7 @@ loadScripts(document, 'script');

Methods inherited from class musichub.business.AudioElement

-getArtist, getTitle, getUUID
+getArtist, getTitle, getUUID, manageAudioElement

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
diff --git a/target/site/apidocs/musichub/business/AudioElement.html b/target/site/apidocs/musichub/business/AudioElement.html index 89abaab..493874c 100644 --- a/target/site/apidocs/musichub/business/AudioElement.html +++ b/target/site/apidocs/musichub/business/AudioElement.html @@ -2,7 +2,7 @@ - + AudioElement (spoteezer 0.1.0 API) @@ -164,9 +164,12 @@ loadScripts(document, 'script');
 
- - +
void
+
 
+ + +
 
@@ -290,6 +293,21 @@ loadScripts(document, 'script'); Element parentElement) +
  • +
    +

    manageAudioElement

    +
    public void manageAudioElement() + throws UnsupportedAudioFileException, +IOException, +LineUnavailableException
    +
    +
    Throws:
    +
    UnsupportedAudioFileException
    +
    IOException
    +
    LineUnavailableException
    +
    +
    +
  • diff --git a/target/site/apidocs/musichub/business/Category.html b/target/site/apidocs/musichub/business/Category.html index 839a958..7748822 100644 --- a/target/site/apidocs/musichub/business/Category.html +++ b/target/site/apidocs/musichub/business/Category.html @@ -2,7 +2,7 @@ - + Category (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/Genre.html b/target/site/apidocs/musichub/business/Genre.html index 0b854bf..f943c15 100644 --- a/target/site/apidocs/musichub/business/Genre.html +++ b/target/site/apidocs/musichub/business/Genre.html @@ -2,7 +2,7 @@ - + Genre (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/Language.html b/target/site/apidocs/musichub/business/Language.html index 96488c5..3690e27 100644 --- a/target/site/apidocs/musichub/business/Language.html +++ b/target/site/apidocs/musichub/business/Language.html @@ -2,7 +2,7 @@ - + Language (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/MusicHub.html b/target/site/apidocs/musichub/business/MusicHub.html index 9c5266c..9ef7adf 100644 --- a/target/site/apidocs/musichub/business/MusicHub.html +++ b/target/site/apidocs/musichub/business/MusicHub.html @@ -2,7 +2,7 @@ - + MusicHub (spoteezer 0.1.0 API) @@ -171,18 +171,22 @@ loadScripts(document, 'script');
     
    - - +
    void
    +
    getAudioElement​(List<AudioElement> audios, + String elementTitle)
     
    -
    void
    - + +
     
    void
    - +
     
    void
    - +
     
    +
    void
    + +
     
    @@ -373,6 +377,24 @@ loadScripts(document, 'script');
    public void saveElements()
    +
  • +
    +

    getAudioElement

    +
    public void getAudioElement(List<AudioElement> audios, + String elementTitle) + throws NoAlbumFoundException, +UnsupportedAudioFileException, +IOException, +LineUnavailableException
    +
    +
    Throws:
    +
    NoAlbumFoundException
    +
    UnsupportedAudioFileException
    +
    IOException
    +
    LineUnavailableException
    +
    +
    +
  • diff --git a/target/site/apidocs/musichub/business/NoAlbumFoundException.html b/target/site/apidocs/musichub/business/NoAlbumFoundException.html index 5a480c3..0809462 100644 --- a/target/site/apidocs/musichub/business/NoAlbumFoundException.html +++ b/target/site/apidocs/musichub/business/NoAlbumFoundException.html @@ -2,7 +2,7 @@ - + NoAlbumFoundException (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/NoElementFoundException.html b/target/site/apidocs/musichub/business/NoElementFoundException.html index 704f5ce..81e9dce 100644 --- a/target/site/apidocs/musichub/business/NoElementFoundException.html +++ b/target/site/apidocs/musichub/business/NoElementFoundException.html @@ -2,7 +2,7 @@ - + NoElementFoundException (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/NoPlayListFoundException.html b/target/site/apidocs/musichub/business/NoPlayListFoundException.html index 9d832fc..6a2c7a3 100644 --- a/target/site/apidocs/musichub/business/NoPlayListFoundException.html +++ b/target/site/apidocs/musichub/business/NoPlayListFoundException.html @@ -2,7 +2,7 @@ - + NoPlayListFoundException (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/PlayList.html b/target/site/apidocs/musichub/business/PlayList.html index 80f0b18..c294b58 100644 --- a/target/site/apidocs/musichub/business/PlayList.html +++ b/target/site/apidocs/musichub/business/PlayList.html @@ -2,7 +2,7 @@ - + PlayList (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/Song.html b/target/site/apidocs/musichub/business/Song.html index 0a4f1fd..57e0fa5 100644 --- a/target/site/apidocs/musichub/business/Song.html +++ b/target/site/apidocs/musichub/business/Song.html @@ -2,7 +2,7 @@ - + Song (spoteezer 0.1.0 API) @@ -151,7 +151,7 @@ loadScripts(document, 'script');

    Methods inherited from class musichub.business.AudioElement

    -getArtist, getTitle, getUUID
    +getArtist, getTitle, getUUID, manageAudioElement

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    diff --git a/target/site/apidocs/musichub/business/class-use/Album.html b/target/site/apidocs/musichub/business/class-use/Album.html index c7a6a88..eeb9cfe 100644 --- a/target/site/apidocs/musichub/business/class-use/Album.html +++ b/target/site/apidocs/musichub/business/class-use/Album.html @@ -2,7 +2,7 @@ - + Uses of Class musichub.business.Album (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/class-use/AudioBook.html b/target/site/apidocs/musichub/business/class-use/AudioBook.html index 83d738a..07abecb 100644 --- a/target/site/apidocs/musichub/business/class-use/AudioBook.html +++ b/target/site/apidocs/musichub/business/class-use/AudioBook.html @@ -2,7 +2,7 @@ - + Uses of Class musichub.business.AudioBook (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/class-use/AudioElement.html b/target/site/apidocs/musichub/business/class-use/AudioElement.html index 1a553bf..a0c35cf 100644 --- a/target/site/apidocs/musichub/business/class-use/AudioElement.html +++ b/target/site/apidocs/musichub/business/class-use/AudioElement.html @@ -2,7 +2,7 @@ - + Uses of Class musichub.business.AudioElement (spoteezer 0.1.0 API) @@ -99,6 +99,16 @@ loadScripts(document, 'script');
    MusicHub.addElement​(AudioElement element)
     
    +
    Method parameters in musichub.business with type arguments of type AudioElement
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    +
    MusicHub.getAudioElement​(List<AudioElement> audios, + String elementTitle)
    +
     
    +
    diff --git a/target/site/apidocs/musichub/business/class-use/Category.html b/target/site/apidocs/musichub/business/class-use/Category.html index 62d35c3..f916411 100644 --- a/target/site/apidocs/musichub/business/class-use/Category.html +++ b/target/site/apidocs/musichub/business/class-use/Category.html @@ -2,7 +2,7 @@ - + Uses of Enum Class musichub.business.Category (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/class-use/Genre.html b/target/site/apidocs/musichub/business/class-use/Genre.html index e87b8fb..a952ca6 100644 --- a/target/site/apidocs/musichub/business/class-use/Genre.html +++ b/target/site/apidocs/musichub/business/class-use/Genre.html @@ -2,7 +2,7 @@ - + Uses of Enum Class musichub.business.Genre (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/class-use/Language.html b/target/site/apidocs/musichub/business/class-use/Language.html index cf13a0c..6205bc4 100644 --- a/target/site/apidocs/musichub/business/class-use/Language.html +++ b/target/site/apidocs/musichub/business/class-use/Language.html @@ -2,7 +2,7 @@ - + Uses of Enum Class musichub.business.Language (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/class-use/MusicHub.html b/target/site/apidocs/musichub/business/class-use/MusicHub.html index 7ae64d9..8f239ba 100644 --- a/target/site/apidocs/musichub/business/class-use/MusicHub.html +++ b/target/site/apidocs/musichub/business/class-use/MusicHub.html @@ -2,7 +2,7 @@ - + Uses of Class musichub.business.MusicHub (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/class-use/NoAlbumFoundException.html b/target/site/apidocs/musichub/business/class-use/NoAlbumFoundException.html index 165de5a..d948beb 100644 --- a/target/site/apidocs/musichub/business/class-use/NoAlbumFoundException.html +++ b/target/site/apidocs/musichub/business/class-use/NoAlbumFoundException.html @@ -2,7 +2,7 @@ - + Uses of Class musichub.business.NoAlbumFoundException (spoteezer 0.1.0 API) @@ -81,6 +81,10 @@ loadScripts(document, 'script');
    MusicHub.getAlbumSongsSortedByGenre​(String albumTitle)
     
    +
    void
    +
    MusicHub.getAudioElement​(List<AudioElement> audios, + String elementTitle)
    +
     
    diff --git a/target/site/apidocs/musichub/business/class-use/NoElementFoundException.html b/target/site/apidocs/musichub/business/class-use/NoElementFoundException.html index b26799b..ae74b4d 100644 --- a/target/site/apidocs/musichub/business/class-use/NoElementFoundException.html +++ b/target/site/apidocs/musichub/business/class-use/NoElementFoundException.html @@ -2,7 +2,7 @@ - + Uses of Class musichub.business.NoElementFoundException (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/class-use/NoPlayListFoundException.html b/target/site/apidocs/musichub/business/class-use/NoPlayListFoundException.html index 0ff787f..aab3251 100644 --- a/target/site/apidocs/musichub/business/class-use/NoPlayListFoundException.html +++ b/target/site/apidocs/musichub/business/class-use/NoPlayListFoundException.html @@ -2,7 +2,7 @@ - + Uses of Class musichub.business.NoPlayListFoundException (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/class-use/PlayList.html b/target/site/apidocs/musichub/business/class-use/PlayList.html index f230f7f..4fdd1e0 100644 --- a/target/site/apidocs/musichub/business/class-use/PlayList.html +++ b/target/site/apidocs/musichub/business/class-use/PlayList.html @@ -2,7 +2,7 @@ - + Uses of Class musichub.business.PlayList (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/class-use/Song.html b/target/site/apidocs/musichub/business/class-use/Song.html index 9d1c95e..92d62d4 100644 --- a/target/site/apidocs/musichub/business/class-use/Song.html +++ b/target/site/apidocs/musichub/business/class-use/Song.html @@ -2,7 +2,7 @@ - + Uses of Class musichub.business.Song (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/package-summary.html b/target/site/apidocs/musichub/business/package-summary.html index 0df1343..b5af4ec 100644 --- a/target/site/apidocs/musichub/business/package-summary.html +++ b/target/site/apidocs/musichub/business/package-summary.html @@ -2,7 +2,7 @@ - + musichub.business (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/package-tree.html b/target/site/apidocs/musichub/business/package-tree.html index 8104cc3..f640a6b 100644 --- a/target/site/apidocs/musichub/business/package-tree.html +++ b/target/site/apidocs/musichub/business/package-tree.html @@ -2,7 +2,7 @@ - + musichub.business Class Hierarchy (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/package-use.html b/target/site/apidocs/musichub/business/package-use.html index a1cf6fb..7ed1edb 100644 --- a/target/site/apidocs/musichub/business/package-use.html +++ b/target/site/apidocs/musichub/business/package-use.html @@ -2,7 +2,7 @@ - + Uses of Package musichub.business (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/main/Main.html b/target/site/apidocs/musichub/main/Main.html index f0ef281..f8bfd28 100644 --- a/target/site/apidocs/musichub/main/Main.html +++ b/target/site/apidocs/musichub/main/Main.html @@ -2,7 +2,7 @@ - + Main (spoteezer 0.1.0 API) @@ -146,7 +146,16 @@ loadScripts(document, 'script');
  • main

    -
    public static void main(String[] args)
    +
    public static void main(String[] args) + throws UnsupportedAudioFileException, +IOException, +LineUnavailableException
    +
    +
    Throws:
    +
    UnsupportedAudioFileException
    +
    IOException
    +
    LineUnavailableException
    +
  • diff --git a/target/site/apidocs/musichub/main/class-use/Main.html b/target/site/apidocs/musichub/main/class-use/Main.html index 0af879d..6d45c1a 100644 --- a/target/site/apidocs/musichub/main/class-use/Main.html +++ b/target/site/apidocs/musichub/main/class-use/Main.html @@ -2,7 +2,7 @@ - + Uses of Class musichub.main.Main (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/main/package-summary.html b/target/site/apidocs/musichub/main/package-summary.html index 4be4c16..350f1ec 100644 --- a/target/site/apidocs/musichub/main/package-summary.html +++ b/target/site/apidocs/musichub/main/package-summary.html @@ -2,7 +2,7 @@ - + musichub.main (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/main/package-tree.html b/target/site/apidocs/musichub/main/package-tree.html index 96aab23..8322e63 100644 --- a/target/site/apidocs/musichub/main/package-tree.html +++ b/target/site/apidocs/musichub/main/package-tree.html @@ -2,7 +2,7 @@ - + musichub.main Class Hierarchy (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/main/package-use.html b/target/site/apidocs/musichub/main/package-use.html index e22beef..698c432 100644 --- a/target/site/apidocs/musichub/main/package-use.html +++ b/target/site/apidocs/musichub/main/package-use.html @@ -2,7 +2,7 @@ - + Uses of Package musichub.main (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/util/XMLHandler.html b/target/site/apidocs/musichub/util/XMLHandler.html index 4b8d7ba..942ecac 100644 --- a/target/site/apidocs/musichub/util/XMLHandler.html +++ b/target/site/apidocs/musichub/util/XMLHandler.html @@ -2,7 +2,7 @@ - + XMLHandler (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/util/class-use/XMLHandler.html b/target/site/apidocs/musichub/util/class-use/XMLHandler.html index 7435f8d..f3cd47c 100644 --- a/target/site/apidocs/musichub/util/class-use/XMLHandler.html +++ b/target/site/apidocs/musichub/util/class-use/XMLHandler.html @@ -2,7 +2,7 @@ - + Uses of Class musichub.util.XMLHandler (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/util/package-summary.html b/target/site/apidocs/musichub/util/package-summary.html index b38851e..12cbd12 100644 --- a/target/site/apidocs/musichub/util/package-summary.html +++ b/target/site/apidocs/musichub/util/package-summary.html @@ -2,7 +2,7 @@ - + musichub.util (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/util/package-tree.html b/target/site/apidocs/musichub/util/package-tree.html index c4625b5..b987ff3 100644 --- a/target/site/apidocs/musichub/util/package-tree.html +++ b/target/site/apidocs/musichub/util/package-tree.html @@ -2,7 +2,7 @@ - + musichub.util Class Hierarchy (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/util/package-use.html b/target/site/apidocs/musichub/util/package-use.html index 471f563..cf30494 100644 --- a/target/site/apidocs/musichub/util/package-use.html +++ b/target/site/apidocs/musichub/util/package-use.html @@ -2,7 +2,7 @@ - + Uses of Package musichub.util (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/overview-summary.html b/target/site/apidocs/overview-summary.html index f15374c..0415e8e 100644 --- a/target/site/apidocs/overview-summary.html +++ b/target/site/apidocs/overview-summary.html @@ -2,7 +2,7 @@ - + spoteezer 0.1.0 API diff --git a/target/site/apidocs/overview-tree.html b/target/site/apidocs/overview-tree.html index cecf679..b53ddc6 100644 --- a/target/site/apidocs/overview-tree.html +++ b/target/site/apidocs/overview-tree.html @@ -2,7 +2,7 @@ - + Class Hierarchy (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/serialized-form.html b/target/site/apidocs/serialized-form.html index d1ab954..de7162a 100644 --- a/target/site/apidocs/serialized-form.html +++ b/target/site/apidocs/serialized-form.html @@ -2,7 +2,7 @@ - + Serialized Form (spoteezer 0.1.0 API) diff --git a/target/spoteezer-0.1.0.jar b/target/spoteezer-0.1.0.jar index 3f4d90b..9f65573 100644 Binary files a/target/spoteezer-0.1.0.jar and b/target/spoteezer-0.1.0.jar differ -- cgit v1.2.3 From e9ee951e570c441151385d1ccd8c4230abf704ca Mon Sep 17 00:00:00 2001 From: Clyhtsuriva Date: Sat, 26 Jun 2021 14:32:12 +0200 Subject: Updated javadoc, added jacoco and the necessary JUnit for this feature. --- .../java/musichub/business/PathValidation.java | 15 +- .../java/musichub/business/PathValidationTest.java | 22 +- .../classes/musichub/business/PathValidation.class | Bin 0 -> 865 bytes target/classes/musichub/main/Main.class | Bin 10064 -> 10064 bytes target/jacoco.exec | Bin 0 -> 80650 bytes target/maven-archiver/pom.properties | 2 +- target/maven-javadoc-plugin-stale-data.txt | 39 +- .../compile/default-compile/createdFiles.lst | 1 + .../compile/default-compile/inputFiles.lst | 1 + .../default-testCompile/createdFiles.lst | 1 + .../testCompile/default-testCompile/inputFiles.lst | 1 + target/original-spoteezer-0.1.0.jar | Bin 31130 -> 31900 bytes target/site/apidocs/allclasses-index.html | 14 +- target/site/apidocs/allpackages-index.html | 2 +- target/site/apidocs/help-doc.html | 2 +- target/site/apidocs/index-all.html | 14 +- target/site/apidocs/index.html | 2 +- target/site/apidocs/member-search-index.js | 2 +- target/site/apidocs/musichub/business/Album.html | 2 +- .../site/apidocs/musichub/business/AudioBook.html | 2 +- .../apidocs/musichub/business/AudioElement.html | 2 +- .../site/apidocs/musichub/business/Category.html | 2 +- target/site/apidocs/musichub/business/Genre.html | 2 +- .../site/apidocs/musichub/business/Language.html | 2 +- .../site/apidocs/musichub/business/MusicHub.html | 2 +- .../musichub/business/NoAlbumFoundException.html | 2 +- .../musichub/business/NoElementFoundException.html | 2 +- .../business/NoPlayListFoundException.html | 2 +- .../apidocs/musichub/business/PathValidation.html | 189 +++ .../site/apidocs/musichub/business/PlayList.html | 2 +- target/site/apidocs/musichub/business/Song.html | 2 +- .../apidocs/musichub/business/class-use/Album.html | 2 +- .../musichub/business/class-use/AudioBook.html | 2 +- .../musichub/business/class-use/AudioElement.html | 2 +- .../musichub/business/class-use/Category.html | 2 +- .../apidocs/musichub/business/class-use/Genre.html | 2 +- .../musichub/business/class-use/Language.html | 2 +- .../musichub/business/class-use/MusicHub.html | 2 +- .../business/class-use/NoAlbumFoundException.html | 2 +- .../class-use/NoElementFoundException.html | 2 +- .../class-use/NoPlayListFoundException.html | 2 +- .../business/class-use/PathValidation.html | 65 + .../musichub/business/class-use/PlayList.html | 2 +- .../apidocs/musichub/business/class-use/Song.html | 2 +- .../apidocs/musichub/business/package-summary.html | 12 +- .../apidocs/musichub/business/package-tree.html | 3 +- .../apidocs/musichub/business/package-use.html | 2 +- target/site/apidocs/musichub/main/Main.html | 2 +- .../site/apidocs/musichub/main/class-use/Main.html | 2 +- .../apidocs/musichub/main/package-summary.html | 2 +- .../site/apidocs/musichub/main/package-tree.html | 2 +- target/site/apidocs/musichub/main/package-use.html | 2 +- target/site/apidocs/musichub/util/XMLHandler.html | 2 +- .../musichub/util/class-use/XMLHandler.html | 2 +- .../apidocs/musichub/util/package-summary.html | 2 +- .../site/apidocs/musichub/util/package-tree.html | 2 +- target/site/apidocs/musichub/util/package-use.html | 2 +- target/site/apidocs/overview-summary.html | 2 +- target/site/apidocs/overview-tree.html | 3 +- target/site/apidocs/serialized-form.html | 2 +- target/site/apidocs/type-search-index.js | 2 +- target/site/jacoco/index.html | 1 + target/site/jacoco/jacoco-resources/branchfc.gif | Bin 0 -> 91 bytes target/site/jacoco/jacoco-resources/branchnc.gif | Bin 0 -> 91 bytes target/site/jacoco/jacoco-resources/branchpc.gif | Bin 0 -> 91 bytes target/site/jacoco/jacoco-resources/bundle.gif | Bin 0 -> 709 bytes target/site/jacoco/jacoco-resources/class.gif | Bin 0 -> 586 bytes target/site/jacoco/jacoco-resources/down.gif | Bin 0 -> 67 bytes target/site/jacoco/jacoco-resources/greenbar.gif | Bin 0 -> 91 bytes target/site/jacoco/jacoco-resources/group.gif | Bin 0 -> 351 bytes target/site/jacoco/jacoco-resources/method.gif | Bin 0 -> 193 bytes target/site/jacoco/jacoco-resources/package.gif | Bin 0 -> 227 bytes target/site/jacoco/jacoco-resources/prettify.css | 13 + target/site/jacoco/jacoco-resources/prettify.js | 1510 ++++++++++++++++++++ target/site/jacoco/jacoco-resources/redbar.gif | Bin 0 -> 91 bytes target/site/jacoco/jacoco-resources/report.css | 243 ++++ target/site/jacoco/jacoco-resources/report.gif | Bin 0 -> 363 bytes target/site/jacoco/jacoco-resources/session.gif | Bin 0 -> 213 bytes target/site/jacoco/jacoco-resources/sort.gif | Bin 0 -> 58 bytes target/site/jacoco/jacoco-resources/sort.js | 148 ++ target/site/jacoco/jacoco-resources/source.gif | Bin 0 -> 354 bytes target/site/jacoco/jacoco-resources/up.gif | Bin 0 -> 67 bytes target/site/jacoco/jacoco-sessions.html | 1 + target/site/jacoco/jacoco.csv | 19 + target/site/jacoco/jacoco.xml | 1 + target/site/jacoco/musichub.business/Album.html | 1 + .../site/jacoco/musichub.business/Album.java.html | 146 ++ .../site/jacoco/musichub.business/AudioBook.html | 1 + .../jacoco/musichub.business/AudioBook.java.html | 79 + .../jacoco/musichub.business/AudioElement.html | 1 + .../musichub.business/AudioElement.java.html | 133 ++ target/site/jacoco/musichub.business/Category.html | 1 + .../jacoco/musichub.business/Category.java.html | 15 + target/site/jacoco/musichub.business/Genre.html | 1 + .../site/jacoco/musichub.business/Genre.java.html | 15 + target/site/jacoco/musichub.business/Language.html | 1 + .../jacoco/musichub.business/Language.java.html | 15 + target/site/jacoco/musichub.business/MusicHub.html | 1 + .../jacoco/musichub.business/MusicHub.java.html | 343 +++++ .../musichub.business/NoAlbumFoundException.html | 1 + .../NoAlbumFoundException.java.html | 9 + .../musichub.business/NoElementFoundException.html | 1 + .../NoElementFoundException.java.html | 9 + .../NoPlayListFoundException.html | 1 + .../NoPlayListFoundException.java.html | 9 + .../jacoco/musichub.business/PathValidation.html | 1 + .../musichub.business/PathValidation.java.html | 39 + target/site/jacoco/musichub.business/PlayList.html | 1 + .../jacoco/musichub.business/PlayList.java.html | 101 ++ target/site/jacoco/musichub.business/Song.html | 1 + .../site/jacoco/musichub.business/Song.java.html | 59 + .../jacoco/musichub.business/SortByAuthor.html | 1 + .../site/jacoco/musichub.business/SortByDate.html | 1 + .../site/jacoco/musichub.business/SortByGenre.html | 1 + target/site/jacoco/musichub.business/index.html | 1 + .../jacoco/musichub.business/index.source.html | 1 + target/site/jacoco/musichub.main/Main.html | 1 + target/site/jacoco/musichub.main/Main.java.html | 266 ++++ target/site/jacoco/musichub.main/index.html | 1 + target/site/jacoco/musichub.main/index.source.html | 1 + target/site/jacoco/musichub.util/XMLHandler.html | 1 + .../site/jacoco/musichub.util/XMLHandler.java.html | 75 + target/site/jacoco/musichub.util/index.html | 1 + target/site/jacoco/musichub.util/index.source.html | 1 + target/spoteezer-0.1.0.jar | Bin 367000 -> 367786 bytes .../TEST-musichub.business.PathValidationTest.xml | 60 + .../musichub.business.PathValidationTest.txt | 4 + .../musichub/business/PathValidationTest.class | Bin 0 -> 1190 bytes 128 files changed, 3725 insertions(+), 78 deletions(-) create mode 100644 target/classes/musichub/business/PathValidation.class create mode 100644 target/jacoco.exec create mode 100644 target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst create mode 100644 target/site/apidocs/musichub/business/PathValidation.html create mode 100644 target/site/apidocs/musichub/business/class-use/PathValidation.html create mode 100644 target/site/jacoco/index.html create mode 100644 target/site/jacoco/jacoco-resources/branchfc.gif create mode 100644 target/site/jacoco/jacoco-resources/branchnc.gif create mode 100644 target/site/jacoco/jacoco-resources/branchpc.gif create mode 100644 target/site/jacoco/jacoco-resources/bundle.gif create mode 100644 target/site/jacoco/jacoco-resources/class.gif create mode 100644 target/site/jacoco/jacoco-resources/down.gif create mode 100644 target/site/jacoco/jacoco-resources/greenbar.gif create mode 100644 target/site/jacoco/jacoco-resources/group.gif create mode 100644 target/site/jacoco/jacoco-resources/method.gif create mode 100644 target/site/jacoco/jacoco-resources/package.gif create mode 100644 target/site/jacoco/jacoco-resources/prettify.css create mode 100644 target/site/jacoco/jacoco-resources/prettify.js create mode 100644 target/site/jacoco/jacoco-resources/redbar.gif create mode 100644 target/site/jacoco/jacoco-resources/report.css create mode 100644 target/site/jacoco/jacoco-resources/report.gif create mode 100644 target/site/jacoco/jacoco-resources/session.gif create mode 100644 target/site/jacoco/jacoco-resources/sort.gif create mode 100644 target/site/jacoco/jacoco-resources/sort.js create mode 100644 target/site/jacoco/jacoco-resources/source.gif create mode 100644 target/site/jacoco/jacoco-resources/up.gif create mode 100644 target/site/jacoco/jacoco-sessions.html create mode 100644 target/site/jacoco/jacoco.csv create mode 100644 target/site/jacoco/jacoco.xml create mode 100644 target/site/jacoco/musichub.business/Album.html create mode 100644 target/site/jacoco/musichub.business/Album.java.html create mode 100644 target/site/jacoco/musichub.business/AudioBook.html create mode 100644 target/site/jacoco/musichub.business/AudioBook.java.html create mode 100644 target/site/jacoco/musichub.business/AudioElement.html create mode 100644 target/site/jacoco/musichub.business/AudioElement.java.html create mode 100644 target/site/jacoco/musichub.business/Category.html create mode 100644 target/site/jacoco/musichub.business/Category.java.html create mode 100644 target/site/jacoco/musichub.business/Genre.html create mode 100644 target/site/jacoco/musichub.business/Genre.java.html create mode 100644 target/site/jacoco/musichub.business/Language.html create mode 100644 target/site/jacoco/musichub.business/Language.java.html create mode 100644 target/site/jacoco/musichub.business/MusicHub.html create mode 100644 target/site/jacoco/musichub.business/MusicHub.java.html create mode 100644 target/site/jacoco/musichub.business/NoAlbumFoundException.html create mode 100644 target/site/jacoco/musichub.business/NoAlbumFoundException.java.html create mode 100644 target/site/jacoco/musichub.business/NoElementFoundException.html create mode 100644 target/site/jacoco/musichub.business/NoElementFoundException.java.html create mode 100644 target/site/jacoco/musichub.business/NoPlayListFoundException.html create mode 100644 target/site/jacoco/musichub.business/NoPlayListFoundException.java.html create mode 100644 target/site/jacoco/musichub.business/PathValidation.html create mode 100644 target/site/jacoco/musichub.business/PathValidation.java.html create mode 100644 target/site/jacoco/musichub.business/PlayList.html create mode 100644 target/site/jacoco/musichub.business/PlayList.java.html create mode 100644 target/site/jacoco/musichub.business/Song.html create mode 100644 target/site/jacoco/musichub.business/Song.java.html create mode 100644 target/site/jacoco/musichub.business/SortByAuthor.html create mode 100644 target/site/jacoco/musichub.business/SortByDate.html create mode 100644 target/site/jacoco/musichub.business/SortByGenre.html create mode 100644 target/site/jacoco/musichub.business/index.html create mode 100644 target/site/jacoco/musichub.business/index.source.html create mode 100644 target/site/jacoco/musichub.main/Main.html create mode 100644 target/site/jacoco/musichub.main/Main.java.html create mode 100644 target/site/jacoco/musichub.main/index.html create mode 100644 target/site/jacoco/musichub.main/index.source.html create mode 100644 target/site/jacoco/musichub.util/XMLHandler.html create mode 100644 target/site/jacoco/musichub.util/XMLHandler.java.html create mode 100644 target/site/jacoco/musichub.util/index.html create mode 100644 target/site/jacoco/musichub.util/index.source.html create mode 100644 target/surefire-reports/TEST-musichub.business.PathValidationTest.xml create mode 100644 target/surefire-reports/musichub.business.PathValidationTest.txt create mode 100644 target/test-classes/musichub/business/PathValidationTest.class (limited to 'target/site/apidocs/musichub/business/class-use') diff --git a/src/main/java/musichub/business/PathValidation.java b/src/main/java/musichub/business/PathValidation.java index 97f8759..b0281ba 100644 --- a/src/main/java/musichub/business/PathValidation.java +++ b/src/main/java/musichub/business/PathValidation.java @@ -11,10 +11,21 @@ import java.nio.file.Paths; * @version 1.0 */ -public class PathValidation { +public final class PathValidation { /** - * Methode that checks the validity of a given path + * Method that just throws an AssertionError if the class is called + * + * @throws AssertionError you can't instantiate this class + * @author Aimeric ADJUTOR + */ + + public PathValidation() { + throw new AssertionError("You just can't instantiate this class."); + } + + /** + * Method that checks the validity of a given path * * @param inputPath the path given by the user * @return a boolean diff --git a/src/test/java/musichub/business/PathValidationTest.java b/src/test/java/musichub/business/PathValidationTest.java index 2b24d7a..fffbdde 100644 --- a/src/test/java/musichub/business/PathValidationTest.java +++ b/src/test/java/musichub/business/PathValidationTest.java @@ -1,8 +1,26 @@ package musichub.business; +import org.junit.jupiter.api.Test; + +import static musichub.business.PathValidation.isPathValid; +import static org.junit.jupiter.api.Assertions.*; + public class PathValidationTest { + @Test void testIsPathValid() { - //Not implemented yet + assertTrue(isPathValid("Song/Side_To_Side.wav")); //the right path + assertFalse(isPathValid("wrong_path/Side_To_Side.wav")); //wrong path + assertFalse(isPathValid("Song/Side_To_Side.mp3")); //wrong extension + } + + @Test + void testPathValidationClass() { + try { + PathValidation pathValidationClass = new PathValidation(); + } catch (Error ex) { + assertTrue(ex instanceof AssertionError); + assertEquals("You just can't instantiate this class.", ex.getMessage()); + } } -} \ No newline at end of file +} diff --git a/target/classes/musichub/business/PathValidation.class b/target/classes/musichub/business/PathValidation.class new file mode 100644 index 0000000..5e3ac15 Binary files /dev/null and b/target/classes/musichub/business/PathValidation.class differ diff --git a/target/classes/musichub/main/Main.class b/target/classes/musichub/main/Main.class index d9ad38a..f3d2052 100644 Binary files a/target/classes/musichub/main/Main.class and b/target/classes/musichub/main/Main.class differ diff --git a/target/jacoco.exec b/target/jacoco.exec new file mode 100644 index 0000000..a11f908 Binary files /dev/null and b/target/jacoco.exec differ diff --git a/target/maven-archiver/pom.properties b/target/maven-archiver/pom.properties index 1b408a6..1d6eb92 100644 --- a/target/maven-archiver/pom.properties +++ b/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Sat Jun 26 13:25:26 CEST 2021 +#Sat Jun 26 14:29:09 CEST 2021 groupId=esiea.softwareengineering artifactId=spoteezer version=0.1.0 diff --git a/target/maven-javadoc-plugin-stale-data.txt b/target/maven-javadoc-plugin-stale-data.txt index c701b12..211d1c0 100644 --- a/target/maven-javadoc-plugin-stale-data.txt +++ b/target/maven-javadoc-plugin-stale-data.txt @@ -34,6 +34,7 @@ 'C:/Users/SoftA/Documents/spoteezer/src/main/java/musichub/business/NoAlbumFoundException.java' 'C:/Users/SoftA/Documents/spoteezer/src/main/java/musichub/business/NoElementFoundException.java' 'C:/Users/SoftA/Documents/spoteezer/src/main/java/musichub/business/NoPlayListFoundException.java' +'C:/Users/SoftA/Documents/spoteezer/src/main/java/musichub/business/PathValidation.java' 'C:/Users/SoftA/Documents/spoteezer/src/main/java/musichub/business/PlayList.java' 'C:/Users/SoftA/Documents/spoteezer/src/main/java/musichub/business/Song.java' 'C:/Users/SoftA/Documents/spoteezer/src/main/java/musichub/main/Main.java' @@ -43,22 +44,22 @@ C:\Users\SoftA\.m2\repository\org\opentest4j\opentest4j\1.0.0\opentest4j-1.0.0.j C:\Users\SoftA\.m2\repository\org\junit\platform\junit-platform-commons\1.0.2\junit-platform-commons-1.0.2.jar = 1624015816770 C:\Users\SoftA\.m2\repository\org\junit\jupiter\junit-jupiter-engine\5.0.2\junit-jupiter-engine-5.0.2.jar = 1624015816790 C:\Users\SoftA\.m2\repository\org\junit\platform\junit-platform-engine\1.0.2\junit-platform-engine-1.0.2.jar = 1624015816783 -C:\Users\SoftA\Documents\spoteezer\src\main\java = 1624705682872 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\allclasses-index.html = 1624706731862 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\allpackages-index.html = 1624706731864 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\element-list = 1624706731767 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\help-doc.html = 1624706731890 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\index-all.html = 1624706731885 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\index.html = 1624706731838 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\jquery-ui.overrides.css = 1624706731909 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\member-search-index.js = 1624706731868 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\module-search-index.js = 1624706731865 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\overview-summary.html = 1624706731887 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\overview-tree.html = 1624706731835 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\package-search-index.js = 1624706731866 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\script.js = 1624706731894 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\search.js = 1624706731895 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\serialized-form.html = 1624706731788 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\stylesheet.css = 1624706731892 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\tag-search-index.js = 1624706731869 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\type-search-index.js = 1624706731867 \ No newline at end of file +C:\Users\SoftA\Documents\spoteezer\src\main\java = 1624708123937 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\allclasses-index.html = 1624710556861 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\allpackages-index.html = 1624710556864 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\element-list = 1624710556758 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\help-doc.html = 1624710556888 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\index-all.html = 1624710556884 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\index.html = 1624710556844 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\jquery-ui.overrides.css = 1624710556910 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\member-search-index.js = 1624710556868 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\module-search-index.js = 1624710556865 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\overview-summary.html = 1624710556885 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\overview-tree.html = 1624710556841 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\package-search-index.js = 1624710556866 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\script.js = 1624710556892 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\search.js = 1624710556895 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\serialized-form.html = 1624710556785 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\stylesheet.css = 1624710556891 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\tag-search-index.js = 1624710556869 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\type-search-index.js = 1624710556867 \ No newline at end of file diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst index a388223..26c13ed 100644 --- a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -1,4 +1,5 @@ musichub\util\XMLHandler.class +musichub\business\PathValidation.class musichub\business\NoElementFoundException.class musichub\business\Language.class musichub\business\PlayList.class diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst index 5354743..93f6593 100644 --- a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -7,6 +7,7 @@ C:\Users\SoftA\Documents\spoteezer\src\main\java\musichub\business\Language.java C:\Users\SoftA\Documents\spoteezer\src\main\java\musichub\business\MusicHub.java C:\Users\SoftA\Documents\spoteezer\src\main\java\musichub\business\Album.java C:\Users\SoftA\Documents\spoteezer\src\main\java\musichub\business\AudioElement.java +C:\Users\SoftA\Documents\spoteezer\src\main\java\musichub\business\PathValidation.java C:\Users\SoftA\Documents\spoteezer\src\main\java\musichub\business\Category.java C:\Users\SoftA\Documents\spoteezer\src\main\java\musichub\business\NoAlbumFoundException.java C:\Users\SoftA\Documents\spoteezer\src\main\java\musichub\business\NoPlayListFoundException.java diff --git a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst new file mode 100644 index 0000000..649a939 --- /dev/null +++ b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst @@ -0,0 +1 @@ +musichub\business\PathValidationTest.class diff --git a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst index e69de29..9b5d3f0 100644 --- a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst +++ b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst @@ -0,0 +1 @@ +C:\Users\SoftA\Documents\spoteezer\src\test\java\musichub\business\PathValidationTest.java diff --git a/target/original-spoteezer-0.1.0.jar b/target/original-spoteezer-0.1.0.jar index b2c45cf..fbeb8a5 100644 Binary files a/target/original-spoteezer-0.1.0.jar and b/target/original-spoteezer-0.1.0.jar differ diff --git a/target/site/apidocs/allclasses-index.html b/target/site/apidocs/allclasses-index.html index 83bf57c..767b8ab 100644 --- a/target/site/apidocs/allclasses-index.html +++ b/target/site/apidocs/allclasses-index.html @@ -2,7 +2,7 @@ - + All Classes (spoteezer 0.1.0 API) @@ -86,12 +86,16 @@ loadScripts(document, 'script');
     
     
    - -
     
    - + +
    +
    Class offering a path validation method.
    +
    +
     
    - +
     
    + +
     
    diff --git a/target/site/apidocs/allpackages-index.html b/target/site/apidocs/allpackages-index.html index a9e8eb8..daffbfc 100644 --- a/target/site/apidocs/allpackages-index.html +++ b/target/site/apidocs/allpackages-index.html @@ -2,7 +2,7 @@ - + All Packages (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/help-doc.html b/target/site/apidocs/help-doc.html index a2e0731..084eeb0 100644 --- a/target/site/apidocs/help-doc.html +++ b/target/site/apidocs/help-doc.html @@ -2,7 +2,7 @@ - + API Help (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/index-all.html b/target/site/apidocs/index-all.html index cd292d0..bb26bd1 100644 --- a/target/site/apidocs/index-all.html +++ b/target/site/apidocs/index-all.html @@ -2,7 +2,7 @@ - + Index (spoteezer 0.1.0 API) @@ -202,6 +202,10 @@ loadScripts(document, 'script');

    I

    +
    isPathValid(String) - Static method in class musichub.business.PathValidation
    +
    +
    Method that checks the validity of a given path
    +
    ITALIAN - Enum constant in enum class musichub.business.Language
     
    @@ -259,6 +263,14 @@ loadScripts(document, 'script');
    parseXMLFile(String) - Method in class musichub.util.XMLHandler
     
    +
    PathValidation - Class in musichub.business
    +
    +
    Class offering a path validation method.
    +
    +
    PathValidation() - Constructor for class musichub.business.PathValidation
    +
    +
    Method that just throws an AssertionError if the class is called
    +
    PlayList - Class in musichub.business
     
    PlayList(String) - Constructor for class musichub.business.PlayList
    diff --git a/target/site/apidocs/index.html b/target/site/apidocs/index.html index 87cf0ec..a865d2c 100644 --- a/target/site/apidocs/index.html +++ b/target/site/apidocs/index.html @@ -2,7 +2,7 @@ - + Overview (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/member-search-index.js b/target/site/apidocs/member-search-index.js index 784449a..7c431d3 100644 --- a/target/site/apidocs/member-search-index.js +++ b/target/site/apidocs/member-search-index.js @@ -1 +1 @@ -memberSearchIndex = [{"p":"musichub.business","c":"MusicHub","l":"addAlbum(Album)","u":"addAlbum(musichub.business.Album)"},{"p":"musichub.business","c":"MusicHub","l":"addElement(AudioElement)","u":"addElement(musichub.business.AudioElement)"},{"p":"musichub.business","c":"PlayList","l":"addElement(UUID)","u":"addElement(java.util.UUID)"},{"p":"musichub.business","c":"MusicHub","l":"addElementToAlbum(String, String)","u":"addElementToAlbum(java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"addElementToPlayList(String, String)","u":"addElementToPlayList(java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"addPlaylist(PlayList)","u":"addPlaylist(musichub.business.PlayList)"},{"p":"musichub.business","c":"Album","l":"addSong(UUID)","u":"addSong(java.util.UUID)"},{"p":"musichub.business","c":"Album","l":"Album(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"Album","l":"Album(String, String, int, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String)"},{"p":"musichub.business","c":"Album","l":"Album(String, String, int, String, String, ArrayList)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.util.ArrayList)"},{"p":"musichub.business","c":"MusicHub","l":"ALBUMS_FILE_PATH"},{"p":"musichub.business","c":"MusicHub","l":"albums()"},{"p":"musichub.business","c":"AudioElement","l":"artist"},{"p":"musichub.business","c":"AudioBook","l":"AudioBook(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioBook","l":"AudioBook(String, String, int, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"AudioBook","l":"AudioBook(String, String, int, String, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"AudioElement","l":"AudioElement(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioElement","l":"AudioElement(String, String, int, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String)"},{"p":"musichub.business","c":"AudioElement","l":"AudioElement(String, String, int, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"Genre","l":"CLASSIC"},{"p":"musichub.business","c":"AudioElement","l":"content"},{"p":"musichub.util","c":"XMLHandler","l":"createXMLDocument()"},{"p":"musichub.business","c":"Album","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioBook","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioElement","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"PlayList","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"Song","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.util","c":"XMLHandler","l":"createXMLFile(Document, String)","u":"createXMLFile(org.w3c.dom.Document,java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"deletePlayList(String)","u":"deletePlayList(java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"DIR"},{"p":"musichub.business","c":"Category","l":"DOCUMENTARY"},{"p":"musichub.business","c":"MusicHub","l":"ELEMENTS_FILE_PATH"},{"p":"musichub.business","c":"MusicHub","l":"elements()"},{"p":"musichub.business","c":"Language","l":"ENGLISH"},{"p":"musichub.business","c":"Language","l":"FRENCH"},{"p":"musichub.business","c":"Language","l":"GERMAN"},{"p":"musichub.business","c":"MusicHub","l":"getAlbumSongs(String)","u":"getAlbumSongs(java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"getAlbumSongsSortedByGenre(String)","u":"getAlbumSongsSortedByGenre(java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"getAlbumsTitlesSortedByDate()"},{"p":"musichub.business","c":"AudioElement","l":"getArtist()"},{"p":"musichub.business","c":"MusicHub","l":"getAudiobooksTitlesSortedByAuthor()"},{"p":"musichub.business","c":"MusicHub","l":"getAudioElement(List, String)","u":"getAudioElement(java.util.List,java.lang.String)"},{"p":"musichub.business","c":"AudioBook","l":"getCategory()"},{"p":"musichub.business","c":"Category","l":"getCategory()"},{"p":"musichub.business","c":"Album","l":"getDate()"},{"p":"musichub.business","c":"PlayList","l":"getElements()"},{"p":"musichub.business","c":"Genre","l":"getGenre()"},{"p":"musichub.business","c":"Song","l":"getGenre()"},{"p":"musichub.business","c":"AudioBook","l":"getLanguage()"},{"p":"musichub.business","c":"Language","l":"getLanguage()"},{"p":"musichub.business","c":"Album","l":"getSongs()"},{"p":"musichub.business","c":"Album","l":"getSongsRandomly()"},{"p":"musichub.business","c":"Album","l":"getTitle()"},{"p":"musichub.business","c":"AudioElement","l":"getTitle()"},{"p":"musichub.business","c":"PlayList","l":"getTitle()"},{"p":"musichub.business","c":"AudioElement","l":"getUUID()"},{"p":"musichub.business","c":"Genre","l":"HIPHOP"},{"p":"musichub.business","c":"Language","l":"ITALIAN"},{"p":"musichub.business","c":"Genre","l":"JAZZ"},{"p":"musichub.business","c":"AudioElement","l":"lengthInSeconds"},{"p":"musichub.main","c":"Main","l":"Main()","u":"%3Cinit%3E()"},{"p":"musichub.main","c":"Main","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"musichub.business","c":"AudioElement","l":"manageAudioElement()"},{"p":"musichub.business","c":"MusicHub","l":"MusicHub()","u":"%3Cinit%3E()"},{"p":"musichub.business","c":"NoAlbumFoundException","l":"NoAlbumFoundException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"NoElementFoundException","l":"NoElementFoundException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"NoPlayListFoundException","l":"NoPlayListFoundException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"Category","l":"NOVEL"},{"p":"musichub.util","c":"XMLHandler","l":"parseXMLFile(String)","u":"parseXMLFile(java.lang.String)"},{"p":"musichub.business","c":"PlayList","l":"PlayList(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"PlayList","l":"PlayList(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"PlayList","l":"PlayList(String, String, ArrayList)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.util.ArrayList)"},{"p":"musichub.business","c":"MusicHub","l":"PLAYLISTS_FILE_PATH"},{"p":"musichub.business","c":"MusicHub","l":"playlists()"},{"p":"musichub.business","c":"Genre","l":"POP"},{"p":"musichub.business","c":"Genre","l":"RAP"},{"p":"musichub.business","c":"Genre","l":"ROCK"},{"p":"musichub.business","c":"MusicHub","l":"saveAlbums()"},{"p":"musichub.business","c":"MusicHub","l":"saveElements()"},{"p":"musichub.business","c":"MusicHub","l":"savePlayLists()"},{"p":"musichub.business","c":"AudioBook","l":"setCategory(String)","u":"setCategory(java.lang.String)"},{"p":"musichub.business","c":"Song","l":"setGenre(String)","u":"setGenre(java.lang.String)"},{"p":"musichub.business","c":"AudioBook","l":"setLanguage(String)","u":"setLanguage(java.lang.String)"},{"p":"musichub.business","c":"Song","l":"Song(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"Song","l":"Song(String, String, int, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"Song","l":"Song(String, String, int, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"Language","l":"SPANISH"},{"p":"musichub.business","c":"Category","l":"SPEECH"},{"p":"musichub.business","c":"Category","l":"THEATER"},{"p":"musichub.business","c":"AudioElement","l":"title"},{"p":"musichub.business","c":"AudioBook","l":"toString()"},{"p":"musichub.business","c":"AudioElement","l":"toString()"},{"p":"musichub.business","c":"Song","l":"toString()"},{"p":"musichub.business","c":"AudioElement","l":"uuid"},{"p":"musichub.business","c":"Category","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"musichub.business","c":"Genre","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"musichub.business","c":"Language","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"musichub.business","c":"Category","l":"values()"},{"p":"musichub.business","c":"Genre","l":"values()"},{"p":"musichub.business","c":"Language","l":"values()"},{"p":"musichub.util","c":"XMLHandler","l":"XMLHandler()","u":"%3Cinit%3E()"},{"p":"musichub.business","c":"Category","l":"YOUTH"}];updateSearchResults(); \ No newline at end of file +memberSearchIndex = [{"p":"musichub.business","c":"MusicHub","l":"addAlbum(Album)","u":"addAlbum(musichub.business.Album)"},{"p":"musichub.business","c":"MusicHub","l":"addElement(AudioElement)","u":"addElement(musichub.business.AudioElement)"},{"p":"musichub.business","c":"PlayList","l":"addElement(UUID)","u":"addElement(java.util.UUID)"},{"p":"musichub.business","c":"MusicHub","l":"addElementToAlbum(String, String)","u":"addElementToAlbum(java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"addElementToPlayList(String, String)","u":"addElementToPlayList(java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"addPlaylist(PlayList)","u":"addPlaylist(musichub.business.PlayList)"},{"p":"musichub.business","c":"Album","l":"addSong(UUID)","u":"addSong(java.util.UUID)"},{"p":"musichub.business","c":"Album","l":"Album(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"Album","l":"Album(String, String, int, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String)"},{"p":"musichub.business","c":"Album","l":"Album(String, String, int, String, String, ArrayList)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.util.ArrayList)"},{"p":"musichub.business","c":"MusicHub","l":"ALBUMS_FILE_PATH"},{"p":"musichub.business","c":"MusicHub","l":"albums()"},{"p":"musichub.business","c":"AudioElement","l":"artist"},{"p":"musichub.business","c":"AudioBook","l":"AudioBook(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioBook","l":"AudioBook(String, String, int, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"AudioBook","l":"AudioBook(String, String, int, String, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"AudioElement","l":"AudioElement(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioElement","l":"AudioElement(String, String, int, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String)"},{"p":"musichub.business","c":"AudioElement","l":"AudioElement(String, String, int, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"Genre","l":"CLASSIC"},{"p":"musichub.business","c":"AudioElement","l":"content"},{"p":"musichub.util","c":"XMLHandler","l":"createXMLDocument()"},{"p":"musichub.business","c":"Album","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioBook","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioElement","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"PlayList","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"Song","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.util","c":"XMLHandler","l":"createXMLFile(Document, String)","u":"createXMLFile(org.w3c.dom.Document,java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"deletePlayList(String)","u":"deletePlayList(java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"DIR"},{"p":"musichub.business","c":"Category","l":"DOCUMENTARY"},{"p":"musichub.business","c":"MusicHub","l":"ELEMENTS_FILE_PATH"},{"p":"musichub.business","c":"MusicHub","l":"elements()"},{"p":"musichub.business","c":"Language","l":"ENGLISH"},{"p":"musichub.business","c":"Language","l":"FRENCH"},{"p":"musichub.business","c":"Language","l":"GERMAN"},{"p":"musichub.business","c":"MusicHub","l":"getAlbumSongs(String)","u":"getAlbumSongs(java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"getAlbumSongsSortedByGenre(String)","u":"getAlbumSongsSortedByGenre(java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"getAlbumsTitlesSortedByDate()"},{"p":"musichub.business","c":"AudioElement","l":"getArtist()"},{"p":"musichub.business","c":"MusicHub","l":"getAudiobooksTitlesSortedByAuthor()"},{"p":"musichub.business","c":"MusicHub","l":"getAudioElement(List, String)","u":"getAudioElement(java.util.List,java.lang.String)"},{"p":"musichub.business","c":"AudioBook","l":"getCategory()"},{"p":"musichub.business","c":"Category","l":"getCategory()"},{"p":"musichub.business","c":"Album","l":"getDate()"},{"p":"musichub.business","c":"PlayList","l":"getElements()"},{"p":"musichub.business","c":"Genre","l":"getGenre()"},{"p":"musichub.business","c":"Song","l":"getGenre()"},{"p":"musichub.business","c":"AudioBook","l":"getLanguage()"},{"p":"musichub.business","c":"Language","l":"getLanguage()"},{"p":"musichub.business","c":"Album","l":"getSongs()"},{"p":"musichub.business","c":"Album","l":"getSongsRandomly()"},{"p":"musichub.business","c":"Album","l":"getTitle()"},{"p":"musichub.business","c":"AudioElement","l":"getTitle()"},{"p":"musichub.business","c":"PlayList","l":"getTitle()"},{"p":"musichub.business","c":"AudioElement","l":"getUUID()"},{"p":"musichub.business","c":"Genre","l":"HIPHOP"},{"p":"musichub.business","c":"PathValidation","l":"isPathValid(String)","u":"isPathValid(java.lang.String)"},{"p":"musichub.business","c":"Language","l":"ITALIAN"},{"p":"musichub.business","c":"Genre","l":"JAZZ"},{"p":"musichub.business","c":"AudioElement","l":"lengthInSeconds"},{"p":"musichub.main","c":"Main","l":"Main()","u":"%3Cinit%3E()"},{"p":"musichub.main","c":"Main","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"musichub.business","c":"AudioElement","l":"manageAudioElement()"},{"p":"musichub.business","c":"MusicHub","l":"MusicHub()","u":"%3Cinit%3E()"},{"p":"musichub.business","c":"NoAlbumFoundException","l":"NoAlbumFoundException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"NoElementFoundException","l":"NoElementFoundException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"NoPlayListFoundException","l":"NoPlayListFoundException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"Category","l":"NOVEL"},{"p":"musichub.util","c":"XMLHandler","l":"parseXMLFile(String)","u":"parseXMLFile(java.lang.String)"},{"p":"musichub.business","c":"PathValidation","l":"PathValidation()","u":"%3Cinit%3E()"},{"p":"musichub.business","c":"PlayList","l":"PlayList(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"PlayList","l":"PlayList(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"PlayList","l":"PlayList(String, String, ArrayList)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.util.ArrayList)"},{"p":"musichub.business","c":"MusicHub","l":"PLAYLISTS_FILE_PATH"},{"p":"musichub.business","c":"MusicHub","l":"playlists()"},{"p":"musichub.business","c":"Genre","l":"POP"},{"p":"musichub.business","c":"Genre","l":"RAP"},{"p":"musichub.business","c":"Genre","l":"ROCK"},{"p":"musichub.business","c":"MusicHub","l":"saveAlbums()"},{"p":"musichub.business","c":"MusicHub","l":"saveElements()"},{"p":"musichub.business","c":"MusicHub","l":"savePlayLists()"},{"p":"musichub.business","c":"AudioBook","l":"setCategory(String)","u":"setCategory(java.lang.String)"},{"p":"musichub.business","c":"Song","l":"setGenre(String)","u":"setGenre(java.lang.String)"},{"p":"musichub.business","c":"AudioBook","l":"setLanguage(String)","u":"setLanguage(java.lang.String)"},{"p":"musichub.business","c":"Song","l":"Song(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"Song","l":"Song(String, String, int, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"Song","l":"Song(String, String, int, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"Language","l":"SPANISH"},{"p":"musichub.business","c":"Category","l":"SPEECH"},{"p":"musichub.business","c":"Category","l":"THEATER"},{"p":"musichub.business","c":"AudioElement","l":"title"},{"p":"musichub.business","c":"AudioBook","l":"toString()"},{"p":"musichub.business","c":"AudioElement","l":"toString()"},{"p":"musichub.business","c":"Song","l":"toString()"},{"p":"musichub.business","c":"AudioElement","l":"uuid"},{"p":"musichub.business","c":"Category","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"musichub.business","c":"Genre","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"musichub.business","c":"Language","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"musichub.business","c":"Category","l":"values()"},{"p":"musichub.business","c":"Genre","l":"values()"},{"p":"musichub.business","c":"Language","l":"values()"},{"p":"musichub.util","c":"XMLHandler","l":"XMLHandler()","u":"%3Cinit%3E()"},{"p":"musichub.business","c":"Category","l":"YOUTH"}];updateSearchResults(); \ No newline at end of file diff --git a/target/site/apidocs/musichub/business/Album.html b/target/site/apidocs/musichub/business/Album.html index 8d24dd6..824d2f6 100644 --- a/target/site/apidocs/musichub/business/Album.html +++ b/target/site/apidocs/musichub/business/Album.html @@ -2,7 +2,7 @@ - + Album (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/AudioBook.html b/target/site/apidocs/musichub/business/AudioBook.html index 0d8d9b5..f171946 100644 --- a/target/site/apidocs/musichub/business/AudioBook.html +++ b/target/site/apidocs/musichub/business/AudioBook.html @@ -2,7 +2,7 @@ - + AudioBook (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/AudioElement.html b/target/site/apidocs/musichub/business/AudioElement.html index 493874c..f2ecb62 100644 --- a/target/site/apidocs/musichub/business/AudioElement.html +++ b/target/site/apidocs/musichub/business/AudioElement.html @@ -2,7 +2,7 @@ - + AudioElement (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/Category.html b/target/site/apidocs/musichub/business/Category.html index 7748822..6fa6ed1 100644 --- a/target/site/apidocs/musichub/business/Category.html +++ b/target/site/apidocs/musichub/business/Category.html @@ -2,7 +2,7 @@ - + Category (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/Genre.html b/target/site/apidocs/musichub/business/Genre.html index f943c15..404433a 100644 --- a/target/site/apidocs/musichub/business/Genre.html +++ b/target/site/apidocs/musichub/business/Genre.html @@ -2,7 +2,7 @@ - + Genre (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/Language.html b/target/site/apidocs/musichub/business/Language.html index 3690e27..7c71eef 100644 --- a/target/site/apidocs/musichub/business/Language.html +++ b/target/site/apidocs/musichub/business/Language.html @@ -2,7 +2,7 @@ - + Language (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/MusicHub.html b/target/site/apidocs/musichub/business/MusicHub.html index 9ef7adf..a96d88e 100644 --- a/target/site/apidocs/musichub/business/MusicHub.html +++ b/target/site/apidocs/musichub/business/MusicHub.html @@ -2,7 +2,7 @@ - + MusicHub (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/NoAlbumFoundException.html b/target/site/apidocs/musichub/business/NoAlbumFoundException.html index 0809462..51defb8 100644 --- a/target/site/apidocs/musichub/business/NoAlbumFoundException.html +++ b/target/site/apidocs/musichub/business/NoAlbumFoundException.html @@ -2,7 +2,7 @@ - + NoAlbumFoundException (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/NoElementFoundException.html b/target/site/apidocs/musichub/business/NoElementFoundException.html index 81e9dce..b935b6c 100644 --- a/target/site/apidocs/musichub/business/NoElementFoundException.html +++ b/target/site/apidocs/musichub/business/NoElementFoundException.html @@ -2,7 +2,7 @@ - + NoElementFoundException (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/NoPlayListFoundException.html b/target/site/apidocs/musichub/business/NoPlayListFoundException.html index 6a2c7a3..56d2aaf 100644 --- a/target/site/apidocs/musichub/business/NoPlayListFoundException.html +++ b/target/site/apidocs/musichub/business/NoPlayListFoundException.html @@ -2,7 +2,7 @@ - + NoPlayListFoundException (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/PathValidation.html b/target/site/apidocs/musichub/business/PathValidation.html new file mode 100644 index 0000000..9a7945c --- /dev/null +++ b/target/site/apidocs/musichub/business/PathValidation.html @@ -0,0 +1,189 @@ + + + + + +PathValidation (spoteezer 0.1.0 API) + + + + + + + + + + + + + + + +
    + +
    +
    + +
    + +

    Class PathValidation

    +
    +
    java.lang.Object +
    musichub.business.PathValidation
    +
    +
    +
    +
    public final class PathValidation +extends Object
    +
    Class offering a path validation method.
    +
    +
    Version:
    +
    1.0
    +
    Author:
    +
    Aimeric ADJUTOR
    +
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Constructor Details

      +
        +
      • +
        +

        PathValidation

        +
        public PathValidation()
        +
        Method that just throws an AssertionError if the class is called
        +
        +
        Throws:
        +
        AssertionError - you can't instantiate this class
        +
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        isPathValid

        +
        public static boolean isPathValid(String inputPath)
        +
        Method that checks the validity of a given path
        +
        +
        Parameters:
        +
        inputPath - the path given by the user
        +
        Returns:
        +
        a boolean
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    +
    + +
    +
    +
    + + diff --git a/target/site/apidocs/musichub/business/PlayList.html b/target/site/apidocs/musichub/business/PlayList.html index c294b58..533a2ad 100644 --- a/target/site/apidocs/musichub/business/PlayList.html +++ b/target/site/apidocs/musichub/business/PlayList.html @@ -2,7 +2,7 @@ - + PlayList (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/Song.html b/target/site/apidocs/musichub/business/Song.html index 57e0fa5..aa13772 100644 --- a/target/site/apidocs/musichub/business/Song.html +++ b/target/site/apidocs/musichub/business/Song.html @@ -2,7 +2,7 @@ - + Song (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/class-use/Album.html b/target/site/apidocs/musichub/business/class-use/Album.html index eeb9cfe..a799c69 100644 --- a/target/site/apidocs/musichub/business/class-use/Album.html +++ b/target/site/apidocs/musichub/business/class-use/Album.html @@ -2,7 +2,7 @@ - + Uses of Class musichub.business.Album (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/class-use/AudioBook.html b/target/site/apidocs/musichub/business/class-use/AudioBook.html index 07abecb..6054d2d 100644 --- a/target/site/apidocs/musichub/business/class-use/AudioBook.html +++ b/target/site/apidocs/musichub/business/class-use/AudioBook.html @@ -2,7 +2,7 @@ - + Uses of Class musichub.business.AudioBook (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/class-use/AudioElement.html b/target/site/apidocs/musichub/business/class-use/AudioElement.html index a0c35cf..ab20cf8 100644 --- a/target/site/apidocs/musichub/business/class-use/AudioElement.html +++ b/target/site/apidocs/musichub/business/class-use/AudioElement.html @@ -2,7 +2,7 @@ - + Uses of Class musichub.business.AudioElement (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/class-use/Category.html b/target/site/apidocs/musichub/business/class-use/Category.html index f916411..d0b7007 100644 --- a/target/site/apidocs/musichub/business/class-use/Category.html +++ b/target/site/apidocs/musichub/business/class-use/Category.html @@ -2,7 +2,7 @@ - + Uses of Enum Class musichub.business.Category (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/class-use/Genre.html b/target/site/apidocs/musichub/business/class-use/Genre.html index a952ca6..94c178d 100644 --- a/target/site/apidocs/musichub/business/class-use/Genre.html +++ b/target/site/apidocs/musichub/business/class-use/Genre.html @@ -2,7 +2,7 @@ - + Uses of Enum Class musichub.business.Genre (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/class-use/Language.html b/target/site/apidocs/musichub/business/class-use/Language.html index 6205bc4..6df04ff 100644 --- a/target/site/apidocs/musichub/business/class-use/Language.html +++ b/target/site/apidocs/musichub/business/class-use/Language.html @@ -2,7 +2,7 @@ - + Uses of Enum Class musichub.business.Language (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/class-use/MusicHub.html b/target/site/apidocs/musichub/business/class-use/MusicHub.html index 8f239ba..2f00178 100644 --- a/target/site/apidocs/musichub/business/class-use/MusicHub.html +++ b/target/site/apidocs/musichub/business/class-use/MusicHub.html @@ -2,7 +2,7 @@ - + Uses of Class musichub.business.MusicHub (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/class-use/NoAlbumFoundException.html b/target/site/apidocs/musichub/business/class-use/NoAlbumFoundException.html index d948beb..c11e6be 100644 --- a/target/site/apidocs/musichub/business/class-use/NoAlbumFoundException.html +++ b/target/site/apidocs/musichub/business/class-use/NoAlbumFoundException.html @@ -2,7 +2,7 @@ - + Uses of Class musichub.business.NoAlbumFoundException (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/class-use/NoElementFoundException.html b/target/site/apidocs/musichub/business/class-use/NoElementFoundException.html index ae74b4d..70bbffa 100644 --- a/target/site/apidocs/musichub/business/class-use/NoElementFoundException.html +++ b/target/site/apidocs/musichub/business/class-use/NoElementFoundException.html @@ -2,7 +2,7 @@ - + Uses of Class musichub.business.NoElementFoundException (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/class-use/NoPlayListFoundException.html b/target/site/apidocs/musichub/business/class-use/NoPlayListFoundException.html index aab3251..97c5c34 100644 --- a/target/site/apidocs/musichub/business/class-use/NoPlayListFoundException.html +++ b/target/site/apidocs/musichub/business/class-use/NoPlayListFoundException.html @@ -2,7 +2,7 @@ - + Uses of Class musichub.business.NoPlayListFoundException (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/class-use/PathValidation.html b/target/site/apidocs/musichub/business/class-use/PathValidation.html new file mode 100644 index 0000000..b8a4f5a --- /dev/null +++ b/target/site/apidocs/musichub/business/class-use/PathValidation.html @@ -0,0 +1,65 @@ + + + + + +Uses of Class musichub.business.PathValidation (spoteezer 0.1.0 API) + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Uses of Class
    musichub.business.PathValidation

    +
    +No usage of musichub.business.PathValidation
    +
    +
    + +
    +
    +
    + + diff --git a/target/site/apidocs/musichub/business/class-use/PlayList.html b/target/site/apidocs/musichub/business/class-use/PlayList.html index 4fdd1e0..7d039a5 100644 --- a/target/site/apidocs/musichub/business/class-use/PlayList.html +++ b/target/site/apidocs/musichub/business/class-use/PlayList.html @@ -2,7 +2,7 @@ - + Uses of Class musichub.business.PlayList (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/class-use/Song.html b/target/site/apidocs/musichub/business/class-use/Song.html index 92d62d4..853c506 100644 --- a/target/site/apidocs/musichub/business/class-use/Song.html +++ b/target/site/apidocs/musichub/business/class-use/Song.html @@ -2,7 +2,7 @@ - + Uses of Class musichub.business.Song (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/business/package-summary.html b/target/site/apidocs/musichub/business/package-summary.html index b5af4ec..57c22af 100644 --- a/target/site/apidocs/musichub/business/package-summary.html +++ b/target/site/apidocs/musichub/business/package-summary.html @@ -2,7 +2,7 @@ - + musichub.business (spoteezer 0.1.0 API) @@ -71,10 +71,14 @@ loadScripts(document, 'script');
     
     
    - -
     
    - + +
    +
    Class offering a path validation method.
    +
    +
     
    + +
     
  • diff --git a/target/site/apidocs/musichub/business/package-tree.html b/target/site/apidocs/musichub/business/package-tree.html index f640a6b..31cbe13 100644 --- a/target/site/apidocs/musichub/business/package-tree.html +++ b/target/site/apidocs/musichub/business/package-tree.html @@ -2,7 +2,7 @@ - + musichub.business Class Hierarchy (spoteezer 0.1.0 API) @@ -71,6 +71,7 @@ loadScripts(document, 'script');
  • musichub.business.MusicHub
  • +
  • musichub.business.PathValidation
  • musichub.business.PlayList
  • java.lang.Throwable (implements java.io.Serializable)
      diff --git a/target/site/apidocs/musichub/business/package-use.html b/target/site/apidocs/musichub/business/package-use.html index 7ed1edb..c75e960 100644 --- a/target/site/apidocs/musichub/business/package-use.html +++ b/target/site/apidocs/musichub/business/package-use.html @@ -2,7 +2,7 @@ - + Uses of Package musichub.business (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/main/Main.html b/target/site/apidocs/musichub/main/Main.html index f8bfd28..d060888 100644 --- a/target/site/apidocs/musichub/main/Main.html +++ b/target/site/apidocs/musichub/main/Main.html @@ -2,7 +2,7 @@ - + Main (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/main/class-use/Main.html b/target/site/apidocs/musichub/main/class-use/Main.html index 6d45c1a..2ea6da4 100644 --- a/target/site/apidocs/musichub/main/class-use/Main.html +++ b/target/site/apidocs/musichub/main/class-use/Main.html @@ -2,7 +2,7 @@ - + Uses of Class musichub.main.Main (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/main/package-summary.html b/target/site/apidocs/musichub/main/package-summary.html index 350f1ec..87c57b3 100644 --- a/target/site/apidocs/musichub/main/package-summary.html +++ b/target/site/apidocs/musichub/main/package-summary.html @@ -2,7 +2,7 @@ - + musichub.main (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/main/package-tree.html b/target/site/apidocs/musichub/main/package-tree.html index 8322e63..d6354f0 100644 --- a/target/site/apidocs/musichub/main/package-tree.html +++ b/target/site/apidocs/musichub/main/package-tree.html @@ -2,7 +2,7 @@ - + musichub.main Class Hierarchy (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/main/package-use.html b/target/site/apidocs/musichub/main/package-use.html index 698c432..68e7ada 100644 --- a/target/site/apidocs/musichub/main/package-use.html +++ b/target/site/apidocs/musichub/main/package-use.html @@ -2,7 +2,7 @@ - + Uses of Package musichub.main (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/util/XMLHandler.html b/target/site/apidocs/musichub/util/XMLHandler.html index 942ecac..52734c9 100644 --- a/target/site/apidocs/musichub/util/XMLHandler.html +++ b/target/site/apidocs/musichub/util/XMLHandler.html @@ -2,7 +2,7 @@ - + XMLHandler (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/util/class-use/XMLHandler.html b/target/site/apidocs/musichub/util/class-use/XMLHandler.html index f3cd47c..04b02a0 100644 --- a/target/site/apidocs/musichub/util/class-use/XMLHandler.html +++ b/target/site/apidocs/musichub/util/class-use/XMLHandler.html @@ -2,7 +2,7 @@ - + Uses of Class musichub.util.XMLHandler (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/util/package-summary.html b/target/site/apidocs/musichub/util/package-summary.html index 12cbd12..72ff644 100644 --- a/target/site/apidocs/musichub/util/package-summary.html +++ b/target/site/apidocs/musichub/util/package-summary.html @@ -2,7 +2,7 @@ - + musichub.util (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/util/package-tree.html b/target/site/apidocs/musichub/util/package-tree.html index b987ff3..7817d93 100644 --- a/target/site/apidocs/musichub/util/package-tree.html +++ b/target/site/apidocs/musichub/util/package-tree.html @@ -2,7 +2,7 @@ - + musichub.util Class Hierarchy (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/musichub/util/package-use.html b/target/site/apidocs/musichub/util/package-use.html index cf30494..afe8c6d 100644 --- a/target/site/apidocs/musichub/util/package-use.html +++ b/target/site/apidocs/musichub/util/package-use.html @@ -2,7 +2,7 @@ - + Uses of Package musichub.util (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/overview-summary.html b/target/site/apidocs/overview-summary.html index 0415e8e..1961838 100644 --- a/target/site/apidocs/overview-summary.html +++ b/target/site/apidocs/overview-summary.html @@ -2,7 +2,7 @@ - + spoteezer 0.1.0 API diff --git a/target/site/apidocs/overview-tree.html b/target/site/apidocs/overview-tree.html index b53ddc6..69d606a 100644 --- a/target/site/apidocs/overview-tree.html +++ b/target/site/apidocs/overview-tree.html @@ -2,7 +2,7 @@ - + Class Hierarchy (spoteezer 0.1.0 API) @@ -74,6 +74,7 @@ loadScripts(document, 'script');
    • musichub.main.Main
    • musichub.business.MusicHub
    • +
    • musichub.business.PathValidation
    • musichub.business.PlayList
    • java.lang.Throwable (implements java.io.Serializable)
        diff --git a/target/site/apidocs/serialized-form.html b/target/site/apidocs/serialized-form.html index de7162a..011c84f 100644 --- a/target/site/apidocs/serialized-form.html +++ b/target/site/apidocs/serialized-form.html @@ -2,7 +2,7 @@ - + Serialized Form (spoteezer 0.1.0 API) diff --git a/target/site/apidocs/type-search-index.js b/target/site/apidocs/type-search-index.js index 2401962..be00fa7 100644 --- a/target/site/apidocs/type-search-index.js +++ b/target/site/apidocs/type-search-index.js @@ -1 +1 @@ -typeSearchIndex = [{"p":"musichub.business","l":"Album"},{"l":"All Classes","u":"allclasses-index.html"},{"p":"musichub.business","l":"AudioBook"},{"p":"musichub.business","l":"AudioElement"},{"p":"musichub.business","l":"Category"},{"p":"musichub.business","l":"Genre"},{"p":"musichub.business","l":"Language"},{"p":"musichub.main","l":"Main"},{"p":"musichub.business","l":"MusicHub"},{"p":"musichub.business","l":"NoAlbumFoundException"},{"p":"musichub.business","l":"NoElementFoundException"},{"p":"musichub.business","l":"NoPlayListFoundException"},{"p":"musichub.business","l":"PlayList"},{"p":"musichub.business","l":"Song"},{"p":"musichub.util","l":"XMLHandler"}];updateSearchResults(); \ No newline at end of file +typeSearchIndex = [{"p":"musichub.business","l":"Album"},{"l":"All Classes","u":"allclasses-index.html"},{"p":"musichub.business","l":"AudioBook"},{"p":"musichub.business","l":"AudioElement"},{"p":"musichub.business","l":"Category"},{"p":"musichub.business","l":"Genre"},{"p":"musichub.business","l":"Language"},{"p":"musichub.main","l":"Main"},{"p":"musichub.business","l":"MusicHub"},{"p":"musichub.business","l":"NoAlbumFoundException"},{"p":"musichub.business","l":"NoElementFoundException"},{"p":"musichub.business","l":"NoPlayListFoundException"},{"p":"musichub.business","l":"PathValidation"},{"p":"musichub.business","l":"PlayList"},{"p":"musichub.business","l":"Song"},{"p":"musichub.util","l":"XMLHandler"}];updateSearchResults(); \ No newline at end of file diff --git a/target/site/jacoco/index.html b/target/site/jacoco/index.html new file mode 100644 index 0000000..f0faf92 --- /dev/null +++ b/target/site/jacoco/index.html @@ -0,0 +1 @@ +spoteezer

        spoteezer

        ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
        Total2 723 of 2 7400 %209 of 2090 %20520772372788901718
        musichub.business2 0630 %1690 %17217449950381831516
        musichub.main5880 %400 %29291991993311
        musichub.util720 %n/a4425254411
        \ No newline at end of file diff --git a/target/site/jacoco/jacoco-resources/branchfc.gif b/target/site/jacoco/jacoco-resources/branchfc.gif new file mode 100644 index 0000000..989b46d Binary files /dev/null and b/target/site/jacoco/jacoco-resources/branchfc.gif differ diff --git a/target/site/jacoco/jacoco-resources/branchnc.gif b/target/site/jacoco/jacoco-resources/branchnc.gif new file mode 100644 index 0000000..1933e07 Binary files /dev/null and b/target/site/jacoco/jacoco-resources/branchnc.gif differ diff --git a/target/site/jacoco/jacoco-resources/branchpc.gif b/target/site/jacoco/jacoco-resources/branchpc.gif new file mode 100644 index 0000000..cbf711b Binary files /dev/null and b/target/site/jacoco/jacoco-resources/branchpc.gif differ diff --git a/target/site/jacoco/jacoco-resources/bundle.gif b/target/site/jacoco/jacoco-resources/bundle.gif new file mode 100644 index 0000000..fca9c53 Binary files /dev/null and b/target/site/jacoco/jacoco-resources/bundle.gif differ diff --git a/target/site/jacoco/jacoco-resources/class.gif b/target/site/jacoco/jacoco-resources/class.gif new file mode 100644 index 0000000..eb348fb Binary files /dev/null and b/target/site/jacoco/jacoco-resources/class.gif differ diff --git a/target/site/jacoco/jacoco-resources/down.gif b/target/site/jacoco/jacoco-resources/down.gif new file mode 100644 index 0000000..440a14d Binary files /dev/null and b/target/site/jacoco/jacoco-resources/down.gif differ diff --git a/target/site/jacoco/jacoco-resources/greenbar.gif b/target/site/jacoco/jacoco-resources/greenbar.gif new file mode 100644 index 0000000..0ba6567 Binary files /dev/null and b/target/site/jacoco/jacoco-resources/greenbar.gif differ diff --git a/target/site/jacoco/jacoco-resources/group.gif b/target/site/jacoco/jacoco-resources/group.gif new file mode 100644 index 0000000..a4ea580 Binary files /dev/null and b/target/site/jacoco/jacoco-resources/group.gif differ diff --git a/target/site/jacoco/jacoco-resources/method.gif b/target/site/jacoco/jacoco-resources/method.gif new file mode 100644 index 0000000..7d24707 Binary files /dev/null and b/target/site/jacoco/jacoco-resources/method.gif differ diff --git a/target/site/jacoco/jacoco-resources/package.gif b/target/site/jacoco/jacoco-resources/package.gif new file mode 100644 index 0000000..131c28d Binary files /dev/null and b/target/site/jacoco/jacoco-resources/package.gif differ diff --git a/target/site/jacoco/jacoco-resources/prettify.css b/target/site/jacoco/jacoco-resources/prettify.css new file mode 100644 index 0000000..be5166e --- /dev/null +++ b/target/site/jacoco/jacoco-resources/prettify.css @@ -0,0 +1,13 @@ +/* Pretty printing styles. Used with prettify.js. */ + +.str { color: #2A00FF; } +.kwd { color: #7F0055; font-weight:bold; } +.com { color: #3F5FBF; } +.typ { color: #606; } +.lit { color: #066; } +.pun { color: #660; } +.pln { color: #000; } +.tag { color: #008; } +.atn { color: #606; } +.atv { color: #080; } +.dec { color: #606; } diff --git a/target/site/jacoco/jacoco-resources/prettify.js b/target/site/jacoco/jacoco-resources/prettify.js new file mode 100644 index 0000000..b2766fe --- /dev/null +++ b/target/site/jacoco/jacoco-resources/prettify.js @@ -0,0 +1,1510 @@ +// Copyright (C) 2006 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + + +/** + * @fileoverview + * some functions for browser-side pretty printing of code contained in html. + *

        + * + * For a fairly comprehensive set of languages see the + * README + * file that came with this source. At a minimum, the lexer should work on a + * number of languages including C and friends, Java, Python, Bash, SQL, HTML, + * XML, CSS, Javascript, and Makefiles. It works passably on Ruby, PHP and Awk + * and a subset of Perl, but, because of commenting conventions, doesn't work on + * Smalltalk, Lisp-like, or CAML-like languages without an explicit lang class. + *

        + * Usage:

          + *
        1. include this source file in an html page via + * {@code } + *
        2. define style rules. See the example page for examples. + *
        3. mark the {@code
          } and {@code } tags in your source with
          + *    {@code class=prettyprint.}
          + *    You can also use the (html deprecated) {@code } tag, but the pretty
          + *    printer needs to do more substantial DOM manipulations to support that, so
          + *    some css styles may not be preserved.
          + * </ol>
          + * That's it.  I wanted to keep the API as simple as possible, so there's no
          + * need to specify which language the code is in, but if you wish, you can add
          + * another class to the {@code <pre>} or {@code <code>} element to specify the
          + * language, as in {@code <pre class="prettyprint lang-java">}.  Any class that
          + * starts with "lang-" followed by a file extension, specifies the file type.
          + * See the "lang-*.js" files in this directory for code that implements
          + * per-language file handlers.
          + * <p>
          + * Change log:<br>
          + * cbeust, 2006/08/22
          + * <blockquote>
          + *   Java annotations (start with "@") are now captured as literals ("lit")
          + * </blockquote>
          + * @requires console
          + */
          +
          +// JSLint declarations
          +/*global console, document, navigator, setTimeout, window */
          +
          +/**
          + * Split {@code prettyPrint} into multiple timeouts so as not to interfere with
          + * UI events.
          + * If set to {@code false}, {@code prettyPrint()} is synchronous.
          + */
          +window['PR_SHOULD_USE_CONTINUATION'] = true;
          +
          +/** the number of characters between tab columns */
          +window['PR_TAB_WIDTH'] = 8;
          +
          +/** Walks the DOM returning a properly escaped version of innerHTML.
          +  * @param {Node} node
          +  * @param {Array.<string>} out output buffer that receives chunks of HTML.
          +  */
          +window['PR_normalizedHtml']
          +
          +/** Contains functions for creating and registering new language handlers.
          +  * @type {Object}
          +  */
          +  = window['PR']
          +
          +/** Pretty print a chunk of code.
          +  *
          +  * @param {string} sourceCodeHtml code as html
          +  * @return {string} code as html, but prettier
          +  */
          +  = window['prettyPrintOne']
          +/** Find all the {@code <pre>} and {@code <code>} tags in the DOM with
          +  * {@code class=prettyprint} and prettify them.
          +  * @param {Function?} opt_whenDone if specified, called when the last entry
          +  *     has been finished.
          +  */
          +  = window['prettyPrint'] = void 0;
          +
          +/** browser detection. @extern @returns false if not IE, otherwise the major version. */
          +window['_pr_isIE6'] = function () {
          +  var ieVersion = navigator && navigator.userAgent &&
          +      navigator.userAgent.match(/\bMSIE ([678])\./);
          +  ieVersion = ieVersion ? +ieVersion[1] : false;
          +  window['_pr_isIE6'] = function () { return ieVersion; };
          +  return ieVersion;
          +};
          +
          +
          +(function () {
          +  // Keyword lists for various languages.
          +  var FLOW_CONTROL_KEYWORDS =
          +      "break continue do else for if return while ";
          +  var C_KEYWORDS = FLOW_CONTROL_KEYWORDS + "auto case char const default " +
          +      "double enum extern float goto int long register short signed sizeof " +
          +      "static struct switch typedef union unsigned void volatile ";
          +  var COMMON_KEYWORDS = C_KEYWORDS + "catch class delete false import " +
          +      "new operator private protected public this throw true try typeof ";
          +  var CPP_KEYWORDS = COMMON_KEYWORDS + "alignof align_union asm axiom bool " +
          +      "concept concept_map const_cast constexpr decltype " +
          +      "dynamic_cast explicit export friend inline late_check " +
          +      "mutable namespace nullptr reinterpret_cast static_assert static_cast " +
          +      "template typeid typename using virtual wchar_t where ";
          +  var JAVA_KEYWORDS = COMMON_KEYWORDS +
          +      "abstract boolean byte extends final finally implements import " +
          +      "instanceof null native package strictfp super synchronized throws " +
          +      "transient ";
          +  var CSHARP_KEYWORDS = JAVA_KEYWORDS +
          +      "as base by checked decimal delegate descending event " +
          +      "fixed foreach from group implicit in interface internal into is lock " +
          +      "object out override orderby params partial readonly ref sbyte sealed " +
          +      "stackalloc string select uint ulong unchecked unsafe ushort var ";
          +  var JSCRIPT_KEYWORDS = COMMON_KEYWORDS +
          +      "debugger eval export function get null set undefined var with " +
          +      "Infinity NaN ";
          +  var PERL_KEYWORDS = "caller delete die do dump elsif eval exit foreach for " +
          +      "goto if import last local my next no our print package redo require " +
          +      "sub undef unless until use wantarray while BEGIN END ";
          +  var PYTHON_KEYWORDS = FLOW_CONTROL_KEYWORDS + "and as assert class def del " +
          +      "elif except exec finally from global import in is lambda " +
          +      "nonlocal not or pass print raise try with yield " +
          +      "False True None ";
          +  var RUBY_KEYWORDS = FLOW_CONTROL_KEYWORDS + "alias and begin case class def" +
          +      " defined elsif end ensure false in module next nil not or redo rescue " +
          +      "retry self super then true undef unless until when yield BEGIN END ";
          +  var SH_KEYWORDS = FLOW_CONTROL_KEYWORDS + "case done elif esac eval fi " +
          +      "function in local set then until ";
          +  var ALL_KEYWORDS = (
          +      CPP_KEYWORDS + CSHARP_KEYWORDS + JSCRIPT_KEYWORDS + PERL_KEYWORDS +
          +      PYTHON_KEYWORDS + RUBY_KEYWORDS + SH_KEYWORDS);
          +
          +  // token style names.  correspond to css classes
          +  /** token style for a string literal */
          +  var PR_STRING = 'str';
          +  /** token style for a keyword */
          +  var PR_KEYWORD = 'kwd';
          +  /** token style for a comment */
          +  var PR_COMMENT = 'com';
          +  /** token style for a type */
          +  var PR_TYPE = 'typ';
          +  /** token style for a literal value.  e.g. 1, null, true. */
          +  var PR_LITERAL = 'lit';
          +  /** token style for a punctuation string. */
          +  var PR_PUNCTUATION = 'pun';
          +  /** token style for a punctuation string. */
          +  var PR_PLAIN = 'pln';
          +
          +  /** token style for an sgml tag. */
          +  var PR_TAG = 'tag';
          +  /** token style for a markup declaration such as a DOCTYPE. */
          +  var PR_DECLARATION = 'dec';
          +  /** token style for embedded source. */
          +  var PR_SOURCE = 'src';
          +  /** token style for an sgml attribute name. */
          +  var PR_ATTRIB_NAME = 'atn';
          +  /** token style for an sgml attribute value. */
          +  var PR_ATTRIB_VALUE = 'atv';
          +
          +  /**
          +   * A class that indicates a section of markup that is not code, e.g. to allow
          +   * embedding of line numbers within code listings.
          +   */
          +  var PR_NOCODE = 'nocode';
          +
          +  /** A set of tokens that can precede a regular expression literal in
          +    * javascript.
          +    * http://www.mozilla.org/js/language/js20/rationale/syntax.html has the full
          +    * list, but I've removed ones that might be problematic when seen in
          +    * languages that don't support regular expression literals.
          +    *
          +    * <p>Specifically, I've removed any keywords that can't precede a regexp
          +    * literal in a syntactically legal javascript program, and I've removed the
          +    * "in" keyword since it's not a keyword in many languages, and might be used
          +    * as a count of inches.
          +    *
          +    * <p>The link a above does not accurately describe EcmaScript rules since
          +    * it fails to distinguish between (a=++/b/i) and (a++/b/i) but it works
          +    * very well in practice.
          +    *
          +    * @private
          +    */
          +  var REGEXP_PRECEDER_PATTERN = function () {
          +      var preceders = [
          +          "!", "!=", "!==", "#", "%", "%=", "&", "&&", "&&=",
          +          "&=", "(", "*", "*=", /* "+", */ "+=", ",", /* "-", */ "-=",
          +          "->", /*".", "..", "...", handled below */ "/", "/=", ":", "::", ";",
          +          "<", "<<", "<<=", "<=", "=", "==", "===", ">",
          +          ">=", ">>", ">>=", ">>>", ">>>=", "?", "@", "[",
          +          "^", "^=", "^^", "^^=", "{", "|", "|=", "||",
          +          "||=", "~" /* handles =~ and !~ */,
          +          "break", "case", "continue", "delete",
          +          "do", "else", "finally", "instanceof",
          +          "return", "throw", "try", "typeof"
          +          ];
          +      var pattern = '(?:^^|[+-]';
          +      for (var i = 0; i < preceders.length; ++i) {
          +        pattern += '|' + preceders[i].replace(/([^=<>:&a-z])/g, '\\$1');
          +      }
          +      pattern += ')\\s*';  // matches at end, and matches empty string
          +      return pattern;
          +      // CAVEAT: this does not properly handle the case where a regular
          +      // expression immediately follows another since a regular expression may
          +      // have flags for case-sensitivity and the like.  Having regexp tokens
          +      // adjacent is not valid in any language I'm aware of, so I'm punting.
          +      // TODO: maybe style special characters inside a regexp as punctuation.
          +    }();
          +
          +  // Define regexps here so that the interpreter doesn't have to create an
          +  // object each time the function containing them is called.
          +  // The language spec requires a new object created even if you don't access
          +  // the $1 members.
          +  var pr_amp = /&/g;
          +  var pr_lt = /</g;
          +  var pr_gt = />/g;
          +  var pr_quot = /\"/g;
          +  /** like textToHtml but escapes double quotes to be attribute safe. */
          +  function attribToHtml(str) {
          +    return str.replace(pr_amp, '&amp;')
          +        .replace(pr_lt, '&lt;')
          +        .replace(pr_gt, '&gt;')
          +        .replace(pr_quot, '&quot;');
          +  }
          +
          +  /** escapest html special characters to html. */
          +  function textToHtml(str) {
          +    return str.replace(pr_amp, '&amp;')
          +        .replace(pr_lt, '&lt;')
          +        .replace(pr_gt, '&gt;');
          +  }
          +
          +
          +  var pr_ltEnt = /&lt;/g;
          +  var pr_gtEnt = /&gt;/g;
          +  var pr_aposEnt = /&apos;/g;
          +  var pr_quotEnt = /&quot;/g;
          +  var pr_ampEnt = /&amp;/g;
          +  var pr_nbspEnt = /&nbsp;/g;
          +  /** unescapes html to plain text. */
          +  function htmlToText(html) {
          +    var pos = html.indexOf('&');
          +    if (pos < 0) { return html; }
          +    // Handle numeric entities specially.  We can't use functional substitution
          +    // since that doesn't work in older versions of Safari.
          +    // These should be rare since most browsers convert them to normal chars.
          +    for (--pos; (pos = html.indexOf('&#', pos + 1)) >= 0;) {
          +      var end = html.indexOf(';', pos);
          +      if (end >= 0) {
          +        var num = html.substring(pos + 3, end);
          +        var radix = 10;
          +        if (num && num.charAt(0) === 'x') {
          +          num = num.substring(1);
          +          radix = 16;
          +        }
          +        var codePoint = parseInt(num, radix);
          +        if (!isNaN(codePoint)) {
          +          html = (html.substring(0, pos) + String.fromCharCode(codePoint) +
          +                  html.substring(end + 1));
          +        }
          +      }
          +    }
          +
          +    return html.replace(pr_ltEnt, '<')
          +        .replace(pr_gtEnt, '>')
          +        .replace(pr_aposEnt, "'")
          +        .replace(pr_quotEnt, '"')
          +        .replace(pr_nbspEnt, ' ')
          +        .replace(pr_ampEnt, '&');
          +  }
          +
          +  /** is the given node's innerHTML normally unescaped? */
          +  function isRawContent(node) {
          +    return 'XMP' === node.tagName;
          +  }
          +
          +  var newlineRe = /[\r\n]/g;
          +  /**
          +   * Are newlines and adjacent spaces significant in the given node's innerHTML?
          +   */
          +  function isPreformatted(node, content) {
          +    // PRE means preformatted, and is a very common case, so don't create
          +    // unnecessary computed style objects.
          +    if ('PRE' === node.tagName) { return true; }
          +    if (!newlineRe.test(content)) { return true; }  // Don't care
          +    var whitespace = '';
          +    // For disconnected nodes, IE has no currentStyle.
          +    if (node.currentStyle) {
          +      whitespace = node.currentStyle.whiteSpace;
          +    } else if (window.getComputedStyle) {
          +      // Firefox makes a best guess if node is disconnected whereas Safari
          +      // returns the empty string.
          +      whitespace = window.getComputedStyle(node, null).whiteSpace;
          +    }
          +    return !whitespace || whitespace === 'pre';
          +  }
          +
          +  function normalizedHtml(node, out, opt_sortAttrs) {
          +    switch (node.nodeType) {
          +      case 1:  // an element
          +        var name = node.tagName.toLowerCase();
          +
          +        out.push('<', name);
          +        var attrs = node.attributes;
          +        var n = attrs.length;
          +        if (n) {
          +          if (opt_sortAttrs) {
          +            var sortedAttrs = [];
          +            for (var i = n; --i >= 0;) { sortedAttrs[i] = attrs[i]; }
          +            sortedAttrs.sort(function (a, b) {
          +                return (a.name < b.name) ? -1 : a.name === b.name ? 0 : 1;
          +              });
          +            attrs = sortedAttrs;
          +          }
          +          for (var i = 0; i < n; ++i) {
          +            var attr = attrs[i];
          +            if (!attr.specified) { continue; }
          +            out.push(' ', attr.name.toLowerCase(),
          +                     '="', attribToHtml(attr.value), '"');
          +          }
          +        }
          +        out.push('>');
          +        for (var child = node.firstChild; child; child = child.nextSibling) {
          +          normalizedHtml(child, out, opt_sortAttrs);
          +        }
          +        if (node.firstChild || !/^(?:br|link|img)$/.test(name)) {
          +          out.push('<\/', name, '>');
          +        }
          +        break;
          +      case 3: case 4: // text
          +        out.push(textToHtml(node.nodeValue));
          +        break;
          +    }
          +  }
          +
          +  /**
          +   * Given a group of {@link RegExp}s, returns a {@code RegExp} that globally
          +   * matches the union o the sets o strings matched d by the input RegExp.
          +   * Since it matches globally, if the input strings have a start-of-input
          +   * anchor (/^.../), it is ignored for the purposes of unioning.
          +   * @param {Array.<RegExp>} regexs non multiline, non-global regexs.
          +   * @return {RegExp} a global regex.
          +   */
          +  function combinePrefixPatterns(regexs) {
          +    var capturedGroupIndex = 0;
          +
          +    var needToFoldCase = false;
          +    var ignoreCase = false;
          +    for (var i = 0, n = regexs.length; i < n; ++i) {
          +      var regex = regexs[i];
          +      if (regex.ignoreCase) {
          +        ignoreCase = true;
          +      } else if (/[a-z]/i.test(regex.source.replace(
          +                     /\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi, ''))) {
          +        needToFoldCase = true;
          +        ignoreCase = false;
          +        break;
          +      }
          +    }
          +
          +    function decodeEscape(charsetPart) {
          +      if (charsetPart.charAt(0) !== '\\') { return charsetPart.charCodeAt(0); }
          +      switch (charsetPart.charAt(1)) {
          +        case 'b': return 8;
          +        case 't': return 9;
          +        case 'n': return 0xa;
          +        case 'v': return 0xb;
          +        case 'f': return 0xc;
          +        case 'r': return 0xd;
          +        case 'u': case 'x':
          +          return parseInt(charsetPart.substring(2), 16)
          +              || charsetPart.charCodeAt(1);
          +        case '0': case '1': case '2': case '3': case '4':
          +        case '5': case '6': case '7':
          +          return parseInt(charsetPart.substring(1), 8);
          +        default: return charsetPart.charCodeAt(1);
          +      }
          +    }
          +
          +    function encodeEscape(charCode) {
          +      if (charCode < 0x20) {
          +        return (charCode < 0x10 ? '\\x0' : '\\x') + charCode.toString(16);
          +      }
          +      var ch = String.fromCharCode(charCode);
          +      if (ch === '\\' || ch === '-' || ch === '[' || ch === ']') {
          +        ch = '\\' + ch;
          +      }
          +      return ch;
          +    }
          +
          +    function caseFoldCharset(charSet) {
          +      var charsetParts = charSet.substring(1, charSet.length - 1).match(
          +          new RegExp(
          +              '\\\\u[0-9A-Fa-f]{4}'
          +              + '|\\\\x[0-9A-Fa-f]{2}'
          +              + '|\\\\[0-3][0-7]{0,2}'
          +              + '|\\\\[0-7]{1,2}'
          +              + '|\\\\[\\s\\S]'
          +              + '|-'
          +              + '|[^-\\\\]',
          +              'g'));
          +      var groups = [];
          +      var ranges = [];
          +      var inverse = charsetParts[0] === '^';
          +      for (var i = inverse ? 1 : 0, n = charsetParts.length; i < n; ++i) {
          +        var p = charsetParts[i];
          +        switch (p) {
          +          case '\\B': case '\\b':
          +          case '\\D': case '\\d':
          +          case '\\S': case '\\s':
          +          case '\\W': case '\\w':
          +            groups.push(p);
          +            continue;
          +        }
          +        var start = decodeEscape(p);
          +        var end;
          +        if (i + 2 < n && '-' === charsetParts[i + 1]) {
          +          end = decodeEscape(charsetParts[i + 2]);
          +          i += 2;
          +        } else {
          +          end = start;
          +        }
          +        ranges.push([start, end]);
          +        // If the range might intersect letters, then expand it.
          +        if (!(end < 65 || start > 122)) {
          +          if (!(end < 65 || start > 90)) {
          +            ranges.push([Math.max(65, start) | 32, Math.min(end, 90) | 32]);
          +          }
          +          if (!(end < 97 || start > 122)) {
          +            ranges.push([Math.max(97, start) & ~32, Math.min(end, 122) & ~32]);
          +          }
          +        }
          +      }
          +
          +      // [[1, 10], [3, 4], [8, 12], [14, 14], [16, 16], [17, 17]]
          +      // -> [[1, 12], [14, 14], [16, 17]]
          +      ranges.sort(function (a, b) { return (a[0] - b[0]) || (b[1]  - a[1]); });
          +      var consolidatedRanges = [];
          +      var lastRange = [NaN, NaN];
          +      for (var i = 0; i < ranges.length; ++i) {
          +        var range = ranges[i];
          +        if (range[0] <= lastRange[1] + 1) {
          +          lastRange[1] = Math.max(lastRange[1], range[1]);
          +        } else {
          +          consolidatedRanges.push(lastRange = range);
          +        }
          +      }
          +
          +      var out = ['['];
          +      if (inverse) { out.push('^'); }
          +      out.push.apply(out, groups);
          +      for (var i = 0; i < consolidatedRanges.length; ++i) {
          +        var range = consolidatedRanges[i];
          +        out.push(encodeEscape(range[0]));
          +        if (range[1] > range[0]) {
          +          if (range[1] + 1 > range[0]) { out.push('-'); }
          +          out.push(encodeEscape(range[1]));
          +        }
          +      }
          +      out.push(']');
          +      return out.join('');
          +    }
          +
          +    function allowAnywhereFoldCaseAndRenumberGroups(regex) {
          +      // Split into character sets, escape sequences, punctuation strings
          +      // like ('(', '(?:', ')', '^'), and runs of characters that do not
          +      // include any of the above.
          +      var parts = regex.source.match(
          +          new RegExp(
          +              '(?:'
          +              + '\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]'  // a character set
          +              + '|\\\\u[A-Fa-f0-9]{4}'  // a unicode escape
          +              + '|\\\\x[A-Fa-f0-9]{2}'  // a hex escape
          +              + '|\\\\[0-9]+'  // a back-reference or octal escape
          +              + '|\\\\[^ux0-9]'  // other escape sequence
          +              + '|\\(\\?[:!=]'  // start of a non-capturing group
          +              + '|[\\(\\)\\^]'  // start/emd of a group, or line start
          +              + '|[^\\x5B\\x5C\\(\\)\\^]+'  // run of other characters
          +              + ')',
          +              'g'));
          +      var n = parts.length;
          +
          +      // Maps captured group numbers to the number they will occupy in
          +      // the output or to -1 if that has not been determined, or to
          +      // undefined if they need not be capturing in the output.
          +      var capturedGroups = [];
          +
          +      // Walk over and identify back references to build the capturedGroups
          +      // mapping.
          +      for (var i = 0, groupIndex = 0; i < n; ++i) {
          +        var p = parts[i];
          +        if (p === '(') {
          +          // groups are 1-indexed, so max group index is count of '('
          +          ++groupIndex;
          +        } else if ('\\' === p.charAt(0)) {
          +          var decimalValue = +p.substring(1);
          +          if (decimalValue && decimalValue <= groupIndex) {
          +            capturedGroups[decimalValue] = -1;
          +          }
          +        }
          +      }
          +
          +      // Renumber groups and reduce capturing groups to non-capturing groups
          +      // where possible.
          +      for (var i = 1; i < capturedGroups.length; ++i) {
          +        if (-1 === capturedGroups[i]) {
          +          capturedGroups[i] = ++capturedGroupIndex;
          +        }
          +      }
          +      for (var i = 0, groupIndex = 0; i < n; ++i) {
          +        var p = parts[i];
          +        if (p === '(') {
          +          ++groupIndex;
          +          if (capturedGroups[groupIndex] === undefined) {
          +            parts[i] = '(?:';
          +          }
          +        } else if ('\\' === p.charAt(0)) {
          +          var decimalValue = +p.substring(1);
          +          if (decimalValue && decimalValue <= groupIndex) {
          +            parts[i] = '\\' + capturedGroups[groupIndex];
          +          }
          +        }
          +      }
          +
          +      // Remove any prefix anchors so that the output will match anywhere.
          +      // ^^ really does mean an anchored match though.
          +      for (var i = 0, groupIndex = 0; i < n; ++i) {
          +        if ('^' === parts[i] && '^' !== parts[i + 1]) { parts[i] = ''; }
          +      }
          +
          +      // Expand letters to groupts to handle mixing of case-sensitive and
          +      // case-insensitive patterns if necessary.
          +      if (regex.ignoreCase && needToFoldCase) {
          +        for (var i = 0; i < n; ++i) {
          +          var p = parts[i];
          +          var ch0 = p.charAt(0);
          +          if (p.length >= 2 && ch0 === '[') {
          +            parts[i] = caseFoldCharset(p);
          +          } else if (ch0 !== '\\') {
          +            // TODO: handle letters in numeric escapes.
          +            parts[i] = p.replace(
          +                /[a-zA-Z]/g,
          +                function (ch) {
          +                  var cc = ch.charCodeAt(0);
          +                  return '[' + String.fromCharCode(cc & ~32, cc | 32) + ']';
          +                });
          +          }
          +        }
          +      }
          +
          +      return parts.join('');
          +    }
          +
          +    var rewritten = [];
          +    for (var i = 0, n = regexs.length; i < n; ++i) {
          +      var regex = regexs[i];
          +      if (regex.global || regex.multiline) { throw new Error('' + regex); }
          +      rewritten.push(
          +          '(?:' + allowAnywhereFoldCaseAndRenumberGroups(regex) + ')');
          +    }
          +
          +    return new RegExp(rewritten.join('|'), ignoreCase ? 'gi' : 'g');
          +  }
          +
          +  var PR_innerHtmlWorks = null;
          +  function getInnerHtml(node) {
          +    // inner html is hopelessly broken in Safari 2.0.4 when the content is
          +    // an html description of well formed XML and the containing tag is a PRE
          +    // tag, so we detect that case and emulate innerHTML.
          +    if (null === PR_innerHtmlWorks) {
          +      var testNode = document.createElement('PRE');
          +      testNode.appendChild(
          +          document.createTextNode('<!DOCTYPE foo PUBLIC "foo bar">\n<foo />'));
          +      PR_innerHtmlWorks = !/</.test(testNode.innerHTML);
          +    }
          +
          +    if (PR_innerHtmlWorks) {
          +      var content = node.innerHTML;
          +      // XMP tags contain unescaped entities so require special handling.
          +      if (isRawContent(node)) {
          +        content = textToHtml(content);
          +      } else if (!isPreformatted(node, content)) {
          +        content = content.replace(/(<br\s*\/?>)[\r\n]+/g, '$1')
          +            .replace(/(?:[\r\n]+[ \t]*)+/g, ' ');
          +      }
          +      return content;
          +    }
          +
          +    var out = [];
          +    for (var child = node.firstChild; child; child = child.nextSibling) {
          +      normalizedHtml(child, out);
          +    }
          +    return out.join('');
          +  }
          +
          +  /** returns a function that expand tabs to spaces.  This function can be fed
          +    * successive chunks of text, and will maintain its own internal state to
          +    * keep track of how tabs are expanded.
          +    * @return {function (string) : string} a function that takes
          +    *   plain text and return the text with tabs expanded.
          +    * @private
          +    */
          +  function makeTabExpander(tabWidth) {
          +    var SPACES = '                ';
          +    var charInLine = 0;
          +
          +    return function (plainText) {
          +      // walk over each character looking for tabs and newlines.
          +      // On tabs, expand them.  On newlines, reset charInLine.
          +      // Otherwise increment charInLine
          +      var out = null;
          +      var pos = 0;
          +      for (var i = 0, n = plainText.length; i < n; ++i) {
          +        var ch = plainText.charAt(i);
          +
          +        switch (ch) {
          +          case '\t':
          +            if (!out) { out = []; }
          +            out.push(plainText.substring(pos, i));
          +            // calculate how much space we need in front of this part
          +            // nSpaces is the amount of padding -- the number of spaces needed
          +            // to move us to the next column, where columns occur at factors of
          +            // tabWidth.
          +            var nSpaces = tabWidth - (charInLine % tabWidth);
          +            charInLine += nSpaces;
          +            for (; nSpaces >= 0; nSpaces -= SPACES.length) {
          +              out.push(SPACES.substring(0, nSpaces));
          +            }
          +            pos = i + 1;
          +            break;
          +          case '\n':
          +            charInLine = 0;
          +            break;
          +          default:
          +            ++charInLine;
          +        }
          +      }
          +      if (!out) { return plainText; }
          +      out.push(plainText.substring(pos));
          +      return out.join('');
          +    };
          +  }
          +
          +  var pr_chunkPattern = new RegExp(
          +      '[^<]+'  // A run of characters other than '<'
          +      + '|<\!--[\\s\\S]*?--\>'  // an HTML comment
          +      + '|<!\\[CDATA\\[[\\s\\S]*?\\]\\]>'  // a CDATA section
          +      // a probable tag that should not be highlighted
          +      + '|<\/?[a-zA-Z](?:[^>\"\']|\'[^\']*\'|\"[^\"]*\")*>'
          +      + '|<',  // A '<' that does not begin a larger chunk
          +      'g');
          +  var pr_commentPrefix = /^<\!--/;
          +  var pr_cdataPrefix = /^<!\[CDATA\[/;
          +  var pr_brPrefix = /^<br\b/i;
          +  var pr_tagNameRe = /^<(\/?)([a-zA-Z][a-zA-Z0-9]*)/;
          +
          +  /** split markup into chunks of html tags (style null) and
          +    * plain text (style {@link #PR_PLAIN}), converting tags which are
          +    * significant for tokenization (<br>) into their textual equivalent.
          +    *
          +    * @param {string} s html where whitespace is considered significant.
          +    * @return {Object} source code and extracted tags.
          +    * @private
          +    */
          +  function extractTags(s) {
          +    // since the pattern has the 'g' modifier and defines no capturing groups,
          +    // this will return a list of all chunks which we then classify and wrap as
          +    // PR_Tokens
          +    var matches = s.match(pr_chunkPattern);
          +    var sourceBuf = [];
          +    var sourceBufLen = 0;
          +    var extractedTags = [];
          +    if (matches) {
          +      for (var i = 0, n = matches.length; i < n; ++i) {
          +        var match = matches[i];
          +        if (match.length > 1 && match.charAt(0) === '<') {
          +          if (pr_commentPrefix.test(match)) { continue; }
          +          if (pr_cdataPrefix.test(match)) {
          +            // strip CDATA prefix and suffix.  Don't unescape since it's CDATA
          +            sourceBuf.push(match.substring(9, match.length - 3));
          +            sourceBufLen += match.length - 12;
          +          } else if (pr_brPrefix.test(match)) {
          +            // <br> tags are lexically significant so convert them to text.
          +            // This is undone later.
          +            sourceBuf.push('\n');
          +            ++sourceBufLen;
          +          } else {
          +            if (match.indexOf(PR_NOCODE) >= 0 && isNoCodeTag(match)) {
          +              // A <span class="nocode"> will start a section that should be
          +              // ignored.  Continue walking the list until we see a matching end
          +              // tag.
          +              var name = match.match(pr_tagNameRe)[2];
          +              var depth = 1;
          +              var j;
          +              end_tag_loop:
          +              for (j = i + 1; j < n; ++j) {
          +                var name2 = matches[j].match(pr_tagNameRe);
          +                if (name2 && name2[2] === name) {
          +                  if (name2[1] === '/') {
          +                    if (--depth === 0) { break end_tag_loop; }
          +                  } else {
          +                    ++depth;
          +                  }
          +                }
          +              }
          +              if (j < n) {
          +                extractedTags.push(
          +                    sourceBufLen, matches.slice(i, j + 1).join(''));
          +                i = j;
          +              } else {  // Ignore unclosed sections.
          +                extractedTags.push(sourceBufLen, match);
          +              }
          +            } else {
          +              extractedTags.push(sourceBufLen, match);
          +            }
          +          }
          +        } else {
          +          var literalText = htmlToText(match);
          +          sourceBuf.push(literalText);
          +          sourceBufLen += literalText.length;
          +        }
          +      }
          +    }
          +    return { source: sourceBuf.join(''), tags: extractedTags };
          +  }
          +
          +  /** True if the given tag contains a class attribute with the nocode class. */
          +  function isNoCodeTag(tag) {
          +    return !!tag
          +        // First canonicalize the representation of attributes
          +        .replace(/\s(\w+)\s*=\s*(?:\"([^\"]*)\"|'([^\']*)'|(\S+))/g,
          +                 ' $1="$2$3$4"')
          +        // Then look for the attribute we want.
          +        .match(/[cC][lL][aA][sS][sS]=\"[^\"]*\bnocode\b/);
          +  }
          +
          +  /**
          +   * Apply the given language handler to sourceCode and add the resulting
          +   * decorations to out.
          +   * @param {number} basePos the index of sourceCode within the chunk of source
          +   *    whose decorations are already present on out.
          +   */
          +  function appendDecorations(basePos, sourceCode, langHandler, out) {
          +    if (!sourceCode) { return; }
          +    var job = {
          +      source: sourceCode,
          +      basePos: basePos
          +    };
          +    langHandler(job);
          +    out.push.apply(out, job.decorations);
          +  }
          +
          +  /** Given triples of [style, pattern, context] returns a lexing function,
          +    * The lexing function interprets the patterns to find token boundaries and
          +    * returns a decoration list of the form
          +    * [index_0, style_0, index_1, style_1, ..., index_n, style_n]
          +    * where index_n is an index into the sourceCode, and style_n is a style
          +    * constant like PR_PLAIN.  index_n-1 <= index_n, and style_n-1 applies to
          +    * all characters in sourceCode[index_n-1:index_n].
          +    *
          +    * The stylePatterns is a list whose elements have the form
          +    * [style : string, pattern : RegExp, DEPRECATED, shortcut : string].
          +    *
          +    * Style is a style constant like PR_PLAIN, or can be a string of the
          +    * form 'lang-FOO', where FOO is a language extension describing the
          +    * language of the portion of the token in $1 after pattern executes.
          +    * E.g., if style is 'lang-lisp', and group 1 contains the text
          +    * '(hello (world))', then that portion of the token will be passed to the
          +    * registered lisp handler for formatting.
          +    * The text before and after group 1 will be restyled using this decorator
          +    * so decorators should take care that this doesn't result in infinite
          +    * recursion.  For example, the HTML lexer rule for SCRIPT elements looks
          +    * something like ['lang-js', /<[s]cript>(.+?)<\/script>/].  This may match
          +    * '<script>foo()<\/script>', which would cause the current decorator to
          +    * be called with '<script>' which would not match the same rule since
          +    * group 1 must not be empty, so it would be instead styled as PR_TAG by
          +    * the generic tag rule.  The handler registered for the 'js' extension would
          +    * then be called with 'foo()', and finally, the current decorator would
          +    * be called with '<\/script>' which would not match the original rule and
          +    * so the generic tag rule would identify it as a tag.
          +    *
          +    * Pattern must only match prefixes, and if it matches a prefix, then that
          +    * match is considered a token with the same style.
          +    *
          +    * Context is applied to the last non-whitespace, non-comment token
          +    * recognized.
          +    *
          +    * Shortcut is an optional string of characters, any of which, if the first
          +    * character, gurantee that this pattern and only this pattern matches.
          +    *
          +    * @param {Array} shortcutStylePatterns patterns that always start with
          +    *   a known character.  Must have a shortcut string.
          +    * @param {Array} fallthroughStylePatterns patterns that will be tried in
          +    *   order if the shortcut ones fail.  May have shortcuts.
          +    *
          +    * @return {function (Object)} a
          +    *   function that takes source code and returns a list of decorations.
          +    */
          +  function createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns) {
          +    var shortcuts = {};
          +    var tokenizer;
          +    (function () {
          +      var allPatterns = shortcutStylePatterns.concat(fallthroughStylePatterns);
          +      var allRegexs = [];
          +      var regexKeys = {};
          +      for (var i = 0, n = allPatterns.length; i < n; ++i) {
          +        var patternParts = allPatterns[i];
          +        var shortcutChars = patternParts[3];
          +        if (shortcutChars) {
          +          for (var c = shortcutChars.length; --c >= 0;) {
          +            shortcuts[shortcutChars.charAt(c)] = patternParts;
          +          }
          +        }
          +        var regex = patternParts[1];
          +        var k = '' + regex;
          +        if (!regexKeys.hasOwnProperty(k)) {
          +          allRegexs.push(regex);
          +          regexKeys[k] = null;
          +        }
          +      }
          +      allRegexs.push(/[\0-\uffff]/);
          +      tokenizer = combinePrefixPatterns(allRegexs);
          +    })();
          +
          +    var nPatterns = fallthroughStylePatterns.length;
          +    var notWs = /\S/;
          +
          +    /**
          +     * Lexes job.source and produces an output array job.decorations of style
          +     * classes preceded by the position at which they start in job.source in
          +     * order.
          +     *
          +     * @param {Object} job an object like {@code
          +     *    source: {string} sourceText plain text,
          +     *    basePos: {int} position of job.source in the larger chunk of
          +     *        sourceCode.
          +     * }
          +     */
          +    var decorate = function (job) {
          +      var sourceCode = job.source, basePos = job.basePos;
          +      /** Even entries are positions in source in ascending order.  Odd enties
          +        * are style markers (e.g., PR_COMMENT) that run from that position until
          +        * the end.
          +        * @type {Array.<number|string>}
          +        */
          +      var decorations = [basePos, PR_PLAIN];
          +      var pos = 0;  // index into sourceCode
          +      var tokens = sourceCode.match(tokenizer) || [];
          +      var styleCache = {};
          +
          +      for (var ti = 0, nTokens = tokens.length; ti < nTokens; ++ti) {
          +        var token = tokens[ti];
          +        var style = styleCache[token];
          +        var match = void 0;
          +
          +        var isEmbedded;
          +        if (typeof style === 'string') {
          +          isEmbedded = false;
          +        } else {
          +          var patternParts = shortcuts[token.charAt(0)];
          +          if (patternParts) {
          +            match = token.match(patternParts[1]);
          +            style = patternParts[0];
          +          } else {
          +            for (var i = 0; i < nPatterns; ++i) {
          +              patternParts = fallthroughStylePatterns[i];
          +              match = token.match(patternParts[1]);
          +              if (match) {
          +                style = patternParts[0];
          +                break;
          +              }
          +            }
          +
          +            if (!match) {  // make sure that we make progress
          +              style = PR_PLAIN;
          +            }
          +          }
          +
          +          isEmbedded = style.length >= 5 && 'lang-' === style.substring(0, 5);
          +          if (isEmbedded && !(match && typeof match[1] === 'string')) {
          +            isEmbedded = false;
          +            style = PR_SOURCE;
          +          }
          +
          +          if (!isEmbedded) { styleCache[token] = style; }
          +        }
          +
          +        var tokenStart = pos;
          +        pos += token.length;
          +
          +        if (!isEmbedded) {
          +          decorations.push(basePos + tokenStart, style);
          +        } else {  // Treat group 1 as an embedded block of source code.
          +          var embeddedSource = match[1];
          +          var embeddedSourceStart = token.indexOf(embeddedSource);
          +          var embeddedSourceEnd = embeddedSourceStart + embeddedSource.length;
          +          if (match[2]) {
          +            // If embeddedSource can be blank, then it would match at the
          +            // beginning which would cause us to infinitely recurse on the
          +            // entire token, so we catch the right context in match[2].
          +            embeddedSourceEnd = token.length - match[2].length;
          +            embeddedSourceStart = embeddedSourceEnd - embeddedSource.length;
          +          }
          +          var lang = style.substring(5);
          +          // Decorate the left of the embedded source
          +          appendDecorations(
          +              basePos + tokenStart,
          +              token.substring(0, embeddedSourceStart),
          +              decorate, decorations);
          +          // Decorate the embedded source
          +          appendDecorations(
          +              basePos + tokenStart + embeddedSourceStart,
          +              embeddedSource,
          +              langHandlerForExtension(lang, embeddedSource),
          +              decorations);
          +          // Decorate the right of the embedded section
          +          appendDecorations(
          +              basePos + tokenStart + embeddedSourceEnd,
          +              token.substring(embeddedSourceEnd),
          +              decorate, decorations);
          +        }
          +      }
          +      job.decorations = decorations;
          +    };
          +    return decorate;
          +  }
          +
          +  /** returns a function that produces a list of decorations from source text.
          +    *
          +    * This code treats ", ', and ` as string delimiters, and \ as a string
          +    * escape.  It does not recognize perl's qq() style strings.
          +    * It has no special handling for double delimiter escapes as in basic, or
          +    * the tripled delimiters used in python, but should work on those regardless
          +    * although in those cases a single string literal may be broken up into
          +    * multiple adjacent string literals.
          +    *
          +    * It recognizes C, C++, and shell style comments.
          +    *
          +    * @param {Object} options a set of optional parameters.
          +    * @return {function (Object)} a function that examines the source code
          +    *     in the input job and builds the decoration list.
          +    */
          +  function sourceDecorator(options) {
          +    var shortcutStylePatterns = [], fallthroughStylePatterns = [];
          +    if (options['tripleQuotedStrings']) {
          +      // '''multi-line-string''', 'single-line-string', and double-quoted
          +      shortcutStylePatterns.push(
          +          [PR_STRING,  /^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,
          +           null, '\'"']);
          +    } else if (options['multiLineStrings']) {
          +      // 'multi-line-string', "multi-line-string"
          +      shortcutStylePatterns.push(
          +          [PR_STRING,  /^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,
          +           null, '\'"`']);
          +    } else {
          +      // 'single-line-string', "single-line-string"
          +      shortcutStylePatterns.push(
          +          [PR_STRING,
          +           /^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,
          +           null, '"\'']);
          +    }
          +    if (options['verbatimStrings']) {
          +      // verbatim-string-literal production from the C# grammar.  See issue 93.
          +      fallthroughStylePatterns.push(
          +          [PR_STRING, /^@\"(?:[^\"]|\"\")*(?:\"|$)/, null]);
          +    }
          +    if (options['hashComments']) {
          +      if (options['cStyleComments']) {
          +        // Stop C preprocessor declarations at an unclosed open comment
          +        shortcutStylePatterns.push(
          +            [PR_COMMENT, /^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,
          +             null, '#']);
          +        fallthroughStylePatterns.push(
          +            [PR_STRING,
          +             /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,
          +             null]);
          +      } else {
          +        shortcutStylePatterns.push([PR_COMMENT, /^#[^\r\n]*/, null, '#']);
          +      }
          +    }
          +    if (options['cStyleComments']) {
          +      fallthroughStylePatterns.push([PR_COMMENT, /^\/\/[^\r\n]*/, null]);
          +      fallthroughStylePatterns.push(
          +          [PR_COMMENT, /^\/\*[\s\S]*?(?:\*\/|$)/, null]);
          +    }
          +    if (options['regexLiterals']) {
          +      var REGEX_LITERAL = (
          +          // A regular expression literal starts with a slash that is
          +          // not followed by * or / so that it is not confused with
          +          // comments.
          +          '/(?=[^/*])'
          +          // and then contains any number of raw characters,
          +          + '(?:[^/\\x5B\\x5C]'
          +          // escape sequences (\x5C),
          +          +    '|\\x5C[\\s\\S]'
          +          // or non-nesting character sets (\x5B\x5D);
          +          +    '|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+'
          +          // finally closed by a /.
          +          + '/');
          +      fallthroughStylePatterns.push(
          +          ['lang-regex',
          +           new RegExp('^' + REGEXP_PRECEDER_PATTERN + '(' + REGEX_LITERAL + ')')
          +           ]);
          +    }
          +
          +    var keywords = options['keywords'].replace(/^\s+|\s+$/g, '');
          +    if (keywords.length) {
          +      fallthroughStylePatterns.push(
          +          [PR_KEYWORD,
          +           new RegExp('^(?:' + keywords.replace(/\s+/g, '|') + ')\\b'), null]);
          +    }
          +
          +    shortcutStylePatterns.push([PR_PLAIN,       /^\s+/, null, ' \r\n\t\xA0']);
          +    fallthroughStylePatterns.push(
          +        // TODO(mikesamuel): recognize non-latin letters and numerals in idents
          +        [PR_LITERAL,     /^@[a-z_$][a-z_$@0-9]*/i, null],
          +        [PR_TYPE,        /^@?[A-Z]+[a-z][A-Za-z_$@0-9]*/, null],
          +        [PR_PLAIN,       /^[a-z_$][a-z_$@0-9]*/i, null],
          +        [PR_LITERAL,
          +         new RegExp(
          +             '^(?:'
          +             // A hex number
          +             + '0x[a-f0-9]+'
          +             // or an octal or decimal number,
          +             + '|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)'
          +             // possibly in scientific notation
          +             + '(?:e[+\\-]?\\d+)?'
          +             + ')'
          +             // with an optional modifier like UL for unsigned long
          +             + '[a-z]*', 'i'),
          +         null, '0123456789'],
          +        [PR_PUNCTUATION, /^.[^\s\w\.$@\'\"\`\/\#]*/, null]);
          +
          +    return createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns);
          +  }
          +
          +  var decorateSource = sourceDecorator({
          +        'keywords': ALL_KEYWORDS,
          +        'hashComments': true,
          +        'cStyleComments': true,
          +        'multiLineStrings': true,
          +        'regexLiterals': true
          +      });
          +
          +  /** Breaks {@code job.source} around style boundaries in
          +    * {@code job.decorations} while re-interleaving {@code job.extractedTags},
          +    * and leaves the result in {@code job.prettyPrintedHtml}.
          +    * @param {Object} job like {
          +    *    source: {string} source as plain text,
          +    *    extractedTags: {Array.<number|string>} extractedTags chunks of raw
          +    *                   html preceded by their position in {@code job.source}
          +    *                   in order
          +    *    decorations: {Array.<number|string} an array of style classes preceded
          +    *                 by the position at which they start in job.source in order
          +    * }
          +    * @private
          +    */
          +  function recombineTagsAndDecorations(job) {
          +    var sourceText = job.source;
          +    var extractedTags = job.extractedTags;
          +    var decorations = job.decorations;
          +
          +    var html = [];
          +    // index past the last char in sourceText written to html
          +    var outputIdx = 0;
          +
          +    var openDecoration = null;
          +    var currentDecoration = null;
          +    var tagPos = 0;  // index into extractedTags
          +    var decPos = 0;  // index into decorations
          +    var tabExpander = makeTabExpander(window['PR_TAB_WIDTH']);
          +
          +    var adjacentSpaceRe = /([\r\n ]) /g;
          +    var startOrSpaceRe = /(^| ) /gm;
          +    var newlineRe = /\r\n?|\n/g;
          +    var trailingSpaceRe = /[ \r\n]$/;
          +    var lastWasSpace = true;  // the last text chunk emitted ended with a space.
          +
          +    // See bug 71 and http://stackoverflow.com/questions/136443/why-doesnt-ie7-
          +    var isIE678 = window['_pr_isIE6']();
          +    var lineBreakHtml = (
          +        isIE678
          +        ? (job.sourceNode.tagName === 'PRE'
          +           // Use line feeds instead of <br>s so that copying and pasting works
          +           // on IE.
          +           // Doing this on other browsers breaks lots of stuff since \r\n is
          +           // treated as two newlines on Firefox.
          +           ? (isIE678 === 6 ? '&#160;\r\n' :
          +              isIE678 === 7 ? '&#160;<br>\r' : '&#160;\r')
          +           // IE collapses multiple adjacent <br>s into 1 line break.
          +           // Prefix every newline with '&#160;' to prevent such behavior.
          +           // &nbsp; is the same as &#160; but works in XML as well as HTML.
          +           : '&#160;<br />')
          +        : '<br />');
          +
          +    // Look for a class like linenums or linenums:<n> where <n> is the 1-indexed
          +    // number of the first line.
          +    var numberLines = job.sourceNode.className.match(/\blinenums\b(?::(\d+))?/);
          +    var lineBreaker;
          +    if (numberLines) {
          +      var lineBreaks = [];
          +      for (var i = 0; i < 10; ++i) {
          +        lineBreaks[i] = lineBreakHtml + '</li><li class="L' + i + '">';
          +      }
          +      var lineNum = numberLines[1] && numberLines[1].length
          +          ? numberLines[1] - 1 : 0;  // Lines are 1-indexed
          +      html.push('<ol class="linenums"><li class="L', (lineNum) % 10, '"');
          +      if (lineNum) {
          +        html.push(' value="', lineNum + 1, '"');
          +      }
          +      html.push('>');
          +      lineBreaker = function () {
          +        var lb = lineBreaks[++lineNum % 10];
          +        // If a decoration is open, we need to close it before closing a list-item
          +        // and reopen it on the other side of the list item.
          +        return openDecoration
          +            ? ('</span>' + lb + '<span class="' + openDecoration + '">') : lb;
          +      };
          +    } else {
          +      lineBreaker = lineBreakHtml;
          +    }
          +
          +    // A helper function that is responsible for opening sections of decoration
          +    // and outputing properly escaped chunks of source
          +    function emitTextUpTo(sourceIdx) {
          +      if (sourceIdx > outputIdx) {
          +        if (openDecoration && openDecoration !== currentDecoration) {
          +          // Close the current decoration
          +          html.push('</span>');
          +          openDecoration = null;
          +        }
          +        if (!openDecoration && currentDecoration) {
          +          openDecoration = currentDecoration;
          +          html.push('<span class="', openDecoration, '">');
          +        }
          +        // This interacts badly with some wikis which introduces paragraph tags
          +        // into pre blocks for some strange reason.
          +        // It's necessary for IE though which seems to lose the preformattedness
          +        // of <pre> tags when their innerHTML is assigned.
          +        // http://stud3.tuwien.ac.at/~e0226430/innerHtmlQuirk.html
          +        // and it serves to undo the conversion of <br>s to newlines done in
          +        // chunkify.
          +        var htmlChunk = textToHtml(
          +            tabExpander(sourceText.substring(outputIdx, sourceIdx)))
          +            .replace(lastWasSpace
          +                     ? startOrSpaceRe
          +                     : adjacentSpaceRe, '$1&#160;');
          +        // Keep track of whether we need to escape space at the beginning of the
          +        // next chunk.
          +        lastWasSpace = trailingSpaceRe.test(htmlChunk);
          +        html.push(htmlChunk.replace(newlineRe, lineBreaker));
          +        outputIdx = sourceIdx;
          +      }
          +    }
          +
          +    while (true) {
          +      // Determine if we're going to consume a tag this time around.  Otherwise
          +      // we consume a decoration or exit.
          +      var outputTag;
          +      if (tagPos < extractedTags.length) {
          +        if (decPos < decorations.length) {
          +          // Pick one giving preference to extractedTags since we shouldn't open
          +          // a new style that we're going to have to immediately close in order
          +          // to output a tag.
          +          outputTag = extractedTags[tagPos] <= decorations[decPos];
          +        } else {
          +          outputTag = true;
          +        }
          +      } else {
          +        outputTag = false;
          +      }
          +      // Consume either a decoration or a tag or exit.
          +      if (outputTag) {
          +        emitTextUpTo(extractedTags[tagPos]);
          +        if (openDecoration) {
          +          // Close the current decoration
          +          html.push('</span>');
          +          openDecoration = null;
          +        }
          +        html.push(extractedTags[tagPos + 1]);
          +        tagPos += 2;
          +      } else if (decPos < decorations.length) {
          +        emitTextUpTo(decorations[decPos]);
          +        currentDecoration = decorations[decPos + 1];
          +        decPos += 2;
          +      } else {
          +        break;
          +      }
          +    }
          +    emitTextUpTo(sourceText.length);
          +    if (openDecoration) {
          +      html.push('</span>');
          +    }
          +    if (numberLines) { html.push('</li></ol>'); }
          +    job.prettyPrintedHtml = html.join('');
          +  }
          +
          +  /** Maps language-specific file extensions to handlers. */
          +  var langHandlerRegistry = {};
          +  /** Register a language handler for the given file extensions.
          +    * @param {function (Object)} handler a function from source code to a list
          +    *      of decorations.  Takes a single argument job which describes the
          +    *      state of the computation.   The single parameter has the form
          +    *      {@code {
          +    *        source: {string} as plain text.
          +    *        decorations: {Array.<number|string>} an array of style classes
          +    *                     preceded by the position at which they start in
          +    *                     job.source in order.
          +    *                     The language handler should assigned this field.
          +    *        basePos: {int} the position of source in the larger source chunk.
          +    *                 All positions in the output decorations array are relative
          +    *                 to the larger source chunk.
          +    *      } }
          +    * @param {Array.<string>} fileExtensions
          +    */
          +  function registerLangHandler(handler, fileExtensions) {
          +    for (var i = fileExtensions.length; --i >= 0;) {
          +      var ext = fileExtensions[i];
          +      if (!langHandlerRegistry.hasOwnProperty(ext)) {
          +        langHandlerRegistry[ext] = handler;
          +      } else if ('console' in window) {
          +        console['warn']('cannot override language handler %s', ext);
          +      }
          +    }
          +  }
          +  function langHandlerForExtension(extension, source) {
          +    if (!(extension && langHandlerRegistry.hasOwnProperty(extension))) {
          +      // Treat it as markup if the first non whitespace character is a < and
          +      // the last non-whitespace character is a >.
          +      extension = /^\s*</.test(source)
          +          ? 'default-markup'
          +          : 'default-code';
          +    }
          +    return langHandlerRegistry[extension];
          +  }
          +  registerLangHandler(decorateSource, ['default-code']);
          +  registerLangHandler(
          +      createSimpleLexer(
          +          [],
          +          [
          +           [PR_PLAIN,       /^[^<?]+/],
          +           [PR_DECLARATION, /^<!\w[^>]*(?:>|$)/],
          +           [PR_COMMENT,     /^<\!--[\s\S]*?(?:-\->|$)/],
          +           // Unescaped content in an unknown language
          +           ['lang-',        /^<\?([\s\S]+?)(?:\?>|$)/],
          +           ['lang-',        /^<%([\s\S]+?)(?:%>|$)/],
          +           [PR_PUNCTUATION, /^(?:<[%?]|[%?]>)/],
          +           ['lang-',        /^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],
          +           // Unescaped content in javascript.  (Or possibly vbscript).
          +           ['lang-js',      /^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],
          +           // Contains unescaped stylesheet content
          +           ['lang-css',     /^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],
          +           ['lang-in.tag',  /^(<\/?[a-z][^<>]*>)/i]
          +          ]),
          +      ['default-markup', 'htm', 'html', 'mxml', 'xhtml', 'xml', 'xsl']);
          +  registerLangHandler(
          +      createSimpleLexer(
          +          [
          +           [PR_PLAIN,        /^[\s]+/, null, ' \t\r\n'],
          +           [PR_ATTRIB_VALUE, /^(?:\"[^\"]*\"?|\'[^\']*\'?)/, null, '\"\'']
          +           ],
          +          [
          +           [PR_TAG,          /^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],
          +           [PR_ATTRIB_NAME,  /^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],
          +           ['lang-uq.val',   /^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],
          +           [PR_PUNCTUATION,  /^[=<>\/]+/],
          +           ['lang-js',       /^on\w+\s*=\s*\"([^\"]+)\"/i],
          +           ['lang-js',       /^on\w+\s*=\s*\'([^\']+)\'/i],
          +           ['lang-js',       /^on\w+\s*=\s*([^\"\'>\s]+)/i],
          +           ['lang-css',      /^style\s*=\s*\"([^\"]+)\"/i],
          +           ['lang-css',      /^style\s*=\s*\'([^\']+)\'/i],
          +           ['lang-css',      /^style\s*=\s*([^\"\'>\s]+)/i]
          +           ]),
          +      ['in.tag']);
          +  registerLangHandler(
          +      createSimpleLexer([], [[PR_ATTRIB_VALUE, /^[\s\S]+/]]), ['uq.val']);
          +  registerLangHandler(sourceDecorator({
          +          'keywords': CPP_KEYWORDS,
          +          'hashComments': true,
          +          'cStyleComments': true
          +        }), ['c', 'cc', 'cpp', 'cxx', 'cyc', 'm']);
          +  registerLangHandler(sourceDecorator({
          +          'keywords': 'null true false'
          +        }), ['json']);
          +  registerLangHandler(sourceDecorator({
          +          'keywords': CSHARP_KEYWORDS,
          +          'hashComments': true,
          +          'cStyleComments': true,
          +          'verbatimStrings': true
          +        }), ['cs']);
          +  registerLangHandler(sourceDecorator({
          +          'keywords': JAVA_KEYWORDS,
          +          'cStyleComments': true
          +        }), ['java']);
          +  registerLangHandler(sourceDecorator({
          +          'keywords': SH_KEYWORDS,
          +          'hashComments': true,
          +          'multiLineStrings': true
          +        }), ['bsh', 'csh', 'sh']);
          +  registerLangHandler(sourceDecorator({
          +          'keywords': PYTHON_KEYWORDS,
          +          'hashComments': true,
          +          'multiLineStrings': true,
          +          'tripleQuotedStrings': true
          +        }), ['cv', 'py']);
          +  registerLangHandler(sourceDecorator({
          +          'keywords': PERL_KEYWORDS,
          +          'hashComments': true,
          +          'multiLineStrings': true,
          +          'regexLiterals': true
          +        }), ['perl', 'pl', 'pm']);
          +  registerLangHandler(sourceDecorator({
          +          'keywords': RUBY_KEYWORDS,
          +          'hashComments': true,
          +          'multiLineStrings': true,
          +          'regexLiterals': true
          +        }), ['rb']);
          +  registerLangHandler(sourceDecorator({
          +          'keywords': JSCRIPT_KEYWORDS,
          +          'cStyleComments': true,
          +          'regexLiterals': true
          +        }), ['js']);
          +  registerLangHandler(
          +      createSimpleLexer([], [[PR_STRING, /^[\s\S]+/]]), ['regex']);
          +
          +  function applyDecorator(job) {
          +    var sourceCodeHtml = job.sourceCodeHtml;
          +    var opt_langExtension = job.langExtension;
          +
          +    // Prepopulate output in case processing fails with an exception.
          +    job.prettyPrintedHtml = sourceCodeHtml;
          +
          +    try {
          +      // Extract tags, and convert the source code to plain text.
          +      var sourceAndExtractedTags = extractTags(sourceCodeHtml);
          +      /** Plain text. @type {string} */
          +      var source = sourceAndExtractedTags.source;
          +      job.source = source;
          +      job.basePos = 0;
          +
          +      /** Even entries are positions in source in ascending order.  Odd entries
          +        * are tags that were extracted at that position.
          +        * @type {Array.<number|string>}
          +        */
          +      job.extractedTags = sourceAndExtractedTags.tags;
          +
          +      // Apply the appropriate language handler
          +      langHandlerForExtension(opt_langExtension, source)(job);
          +      // Integrate the decorations and tags back into the source code to produce
          +      // a decorated html string which is left in job.prettyPrintedHtml.
          +      recombineTagsAndDecorations(job);
          +    } catch (e) {
          +      if ('console' in window) {
          +        console['log'](e && e['stack'] ? e['stack'] : e);
          +      }
          +    }
          +  }
          +
          +  function prettyPrintOne(sourceCodeHtml, opt_langExtension) {
          +    var job = {
          +      sourceCodeHtml: sourceCodeHtml,
          +      langExtension: opt_langExtension
          +    };
          +    applyDecorator(job);
          +    return job.prettyPrintedHtml;
          +  }
          +
          +  function prettyPrint(opt_whenDone) {
          +    function byTagName(tn) { return document.getElementsByTagName(tn); }
          +    // fetch a list of nodes to rewrite
          +    var codeSegments = [byTagName('pre'), byTagName('code'), byTagName('xmp')];
          +    var elements = [];
          +    for (var i = 0; i < codeSegments.length; ++i) {
          +      for (var j = 0, n = codeSegments[i].length; j < n; ++j) {
          +        elements.push(codeSegments[i][j]);
          +      }
          +    }
          +    codeSegments = null;
          +
          +    var clock = Date;
          +    if (!clock['now']) {
          +      clock = { 'now': function () { return (new Date).getTime(); } };
          +    }
          +
          +    // The loop is broken into a series of continuations to make sure that we
          +    // don't make the browser unresponsive when rewriting a large page.
          +    var k = 0;
          +    var prettyPrintingJob;
          +
          +    function doWork() {
          +      var endTime = (window['PR_SHOULD_USE_CONTINUATION'] ?
          +                     clock.now() + 250 /* ms */ :
          +                     Infinity);
          +      for (; k < elements.length && clock.now() < endTime; k++) {
          +        var cs = elements[k];
          +        // [JACOCO] 'prettyprint' -> 'source'
          +        if (cs.className && cs.className.indexOf('source') >= 0) {
          +          // If the classes includes a language extensions, use it.
          +          // Language extensions can be specified like
          +          //     <pre class="prettyprint lang-cpp">
          +          // the language extension "cpp" is used to find a language handler as
          +          // passed to PR_registerLangHandler.
          +          var langExtension = cs.className.match(/\blang-(\w+)\b/);
          +          if (langExtension) { langExtension = langExtension[1]; }
          +
          +          // make sure this is not nested in an already prettified element
          +          var nested = false;
          +          for (var p = cs.parentNode; p; p = p.parentNode) {
          +            if ((p.tagName === 'pre' || p.tagName === 'code' ||
          +                 p.tagName === 'xmp') &&
          +                // [JACOCO] 'prettyprint' -> 'source'
          +                p.className && p.className.indexOf('source') >= 0) {
          +              nested = true;
          +              break;
          +            }
          +          }
          +          if (!nested) {
          +            // fetch the content as a snippet of properly escaped HTML.
          +            // Firefox adds newlines at the end.
          +            var content = getInnerHtml(cs);
          +            content = content.replace(/(?:\r\n?|\n)$/, '');
          +
          +            // do the pretty printing
          +            prettyPrintingJob = {
          +              sourceCodeHtml: content,
          +              langExtension: langExtension,
          +              sourceNode: cs
          +            };
          +            applyDecorator(prettyPrintingJob);
          +            replaceWithPrettyPrintedHtml();
          +          }
          +        }
          +      }
          +      if (k < elements.length) {
          +        // finish up in a continuation
          +        setTimeout(doWork, 250);
          +      } else if (opt_whenDone) {
          +        opt_whenDone();
          +      }
          +    }
          +
          +    function replaceWithPrettyPrintedHtml() {
          +      var newContent = prettyPrintingJob.prettyPrintedHtml;
          +      if (!newContent) { return; }
          +      var cs = prettyPrintingJob.sourceNode;
          +
          +      // push the prettified html back into the tag.
          +      if (!isRawContent(cs)) {
          +        // just replace the old html with the new
          +        cs.innerHTML = newContent;
          +      } else {
          +        // we need to change the tag to a <pre> since <xmp>s do not allow
          +        // embedded tags such as the span tags used to attach styles to
          +        // sections of source code.
          +        var pre = document.createElement('PRE');
          +        for (var i = 0; i < cs.attributes.length; ++i) {
          +          var a = cs.attributes[i];
          +          if (a.specified) {
          +            var aname = a.name.toLowerCase();
          +            if (aname === 'class') {
          +              pre.className = a.value;  // For IE 6
          +            } else {
          +              pre.setAttribute(a.name, a.value);
          +            }
          +          }
          +        }
          +        pre.innerHTML = newContent;
          +
          +        // remove the old
          +        cs.parentNode.replaceChild(pre, cs);
          +        cs = pre;
          +      }
          +    }
          +
          +    doWork();
          +  }
          +
          +  window['PR_normalizedHtml'] = normalizedHtml;
          +  window['prettyPrintOne'] = prettyPrintOne;
          +  window['prettyPrint'] = prettyPrint;
          +  window['PR'] = {
          +        'combinePrefixPatterns': combinePrefixPatterns,
          +        'createSimpleLexer': createSimpleLexer,
          +        'registerLangHandler': registerLangHandler,
          +        'sourceDecorator': sourceDecorator,
          +        'PR_ATTRIB_NAME': PR_ATTRIB_NAME,
          +        'PR_ATTRIB_VALUE': PR_ATTRIB_VALUE,
          +        'PR_COMMENT': PR_COMMENT,
          +        'PR_DECLARATION': PR_DECLARATION,
          +        'PR_KEYWORD': PR_KEYWORD,
          +        'PR_LITERAL': PR_LITERAL,
          +        'PR_NOCODE': PR_NOCODE,
          +        'PR_PLAIN': PR_PLAIN,
          +        'PR_PUNCTUATION': PR_PUNCTUATION,
          +        'PR_SOURCE': PR_SOURCE,
          +        'PR_STRING': PR_STRING,
          +        'PR_TAG': PR_TAG,
          +        'PR_TYPE': PR_TYPE
          +      };
          +})();
          diff --git a/target/site/jacoco/jacoco-resources/redbar.gif b/target/site/jacoco/jacoco-resources/redbar.gif
          new file mode 100644
          index 0000000..c2f7146
          Binary files /dev/null and b/target/site/jacoco/jacoco-resources/redbar.gif differ
          diff --git a/target/site/jacoco/jacoco-resources/report.css b/target/site/jacoco/jacoco-resources/report.css
          new file mode 100644
          index 0000000..dd936bc
          --- /dev/null
          +++ b/target/site/jacoco/jacoco-resources/report.css
          @@ -0,0 +1,243 @@
          +body, td {
          +  font-family:sans-serif;
          +  font-size:10pt;
          +}
          +
          +h1 {
          +  font-weight:bold;
          +  font-size:18pt;
          +}
          +
          +.breadcrumb {
          +  border:#d6d3ce 1px solid;
          +  padding:2px 4px 2px 4px;
          +}
          +
          +.breadcrumb .info {
          +  float:right;
          +}
          +
          +.breadcrumb .info a {
          +  margin-left:8px;
          +}
          +
          +.el_report {
          +  padding-left:18px;
          +  background-image:url(report.gif);
          +  background-position:left center;
          +  background-repeat:no-repeat;
          +}
          +
          +.el_group {
          +  padding-left:18px;
          +  background-image:url(group.gif);
          +  background-position:left center;
          +  background-repeat:no-repeat;
          +}
          +
          +.el_bundle {
          +  padding-left:18px;
          +  background-image:url(bundle.gif);
          +  background-position:left center;
          +  background-repeat:no-repeat;
          +}
          +
          +.el_package {
          +  padding-left:18px;
          +  background-image:url(package.gif);
          +  background-position:left center;
          +  background-repeat:no-repeat;
          +}
          +
          +.el_class {
          +  padding-left:18px;
          +  background-image:url(class.gif);
          +  background-position:left center;
          +  background-repeat:no-repeat;
          +}
          +
          +.el_source {
          +  padding-left:18px;
          +  background-image:url(source.gif);
          +  background-position:left center;
          +  background-repeat:no-repeat;
          +}
          +
          +.el_method {
          +  padding-left:18px;
          +  background-image:url(method.gif);
          +  background-position:left center;
          +  background-repeat:no-repeat;
          +}
          +
          +.el_session {
          +  padding-left:18px;
          +  background-image:url(session.gif);
          +  background-position:left center;
          +  background-repeat:no-repeat;
          +}
          +
          +pre.source {
          +  border:#d6d3ce 1px solid;
          +  font-family:monospace;
          +}
          +
          +pre.source ol {
          +  margin-bottom: 0px;
          +  margin-top: 0px;
          +}
          +
          +pre.source li {
          +  border-left: 1px solid #D6D3CE;
          +  color: #A0A0A0;
          +  padding-left: 0px;
          +}
          +
          +pre.source span.fc {
          +  background-color:#ccffcc;
          +}
          +
          +pre.source span.nc {
          +  background-color:#ffaaaa;
          +}
          +
          +pre.source span.pc {
          +  background-color:#ffffcc;
          +}
          +
          +pre.source span.bfc {
          +  background-image: url(branchfc.gif);
          +  background-repeat: no-repeat;
          +  background-position: 2px center;
          +}
          +
          +pre.source span.bfc:hover {
          +  background-color:#80ff80;
          +}
          +
          +pre.source span.bnc {
          +  background-image: url(branchnc.gif);
          +  background-repeat: no-repeat;
          +  background-position: 2px center;
          +}
          +
          +pre.source span.bnc:hover {
          +  background-color:#ff8080;
          +}
          +
          +pre.source span.bpc {
          +  background-image: url(branchpc.gif);
          +  background-repeat: no-repeat;
          +  background-position: 2px center;
          +}
          +
          +pre.source span.bpc:hover {
          +  background-color:#ffff80;
          +}
          +
          +table.coverage {
          +  empty-cells:show;
          +  border-collapse:collapse;
          +}
          +
          +table.coverage thead {
          +  background-color:#e0e0e0;
          +}
          +
          +table.coverage thead td {
          +  white-space:nowrap;
          +  padding:2px 14px 0px 6px;
          +  border-bottom:#b0b0b0 1px solid;
          +}
          +
          +table.coverage thead td.bar {
          +  border-left:#cccccc 1px solid;
          +}
          +
          +table.coverage thead td.ctr1 {
          +  text-align:right;
          +  border-left:#cccccc 1px solid;
          +}
          +
          +table.coverage thead td.ctr2 {
          +  text-align:right;
          +  padding-left:2px;
          +}
          +
          +table.coverage thead td.sortable {
          +  cursor:pointer;
          +  background-image:url(sort.gif);
          +  background-position:right center;
          +  background-repeat:no-repeat;
          +}
          +
          +table.coverage thead td.up {
          +  background-image:url(up.gif);
          +}
          +
          +table.coverage thead td.down {
          +  background-image:url(down.gif);
          +}
          +
          +table.coverage tbody td {
          +  white-space:nowrap;
          +  padding:2px 6px 2px 6px;
          +  border-bottom:#d6d3ce 1px solid;
          +}
          +
          +table.coverage tbody tr:hover {
          +  background: #f0f0d0 !important;
          +}
          +
          +table.coverage tbody td.bar {
          +  border-left:#e8e8e8 1px solid;
          +}
          +
          +table.coverage tbody td.ctr1 {
          +  text-align:right;
          +  padding-right:14px;
          +  border-left:#e8e8e8 1px solid;
          +}
          +
          +table.coverage tbody td.ctr2 {
          +  text-align:right;
          +  padding-right:14px;
          +  padding-left:2px;
          +}
          +
          +table.coverage tfoot td {
          +  white-space:nowrap;
          +  padding:2px 6px 2px 6px;
          +}
          +
          +table.coverage tfoot td.bar {
          +  border-left:#e8e8e8 1px solid;
          +}
          +
          +table.coverage tfoot td.ctr1 {
          +  text-align:right;
          +  padding-right:14px;
          +  border-left:#e8e8e8 1px solid;
          +}
          +
          +table.coverage tfoot td.ctr2 {
          +  text-align:right;
          +  padding-right:14px;
          +  padding-left:2px;
          +}
          +
          +.footer {
          +  margin-top:20px;
          +  border-top:#d6d3ce 1px solid;
          +  padding-top:2px;
          +  font-size:8pt;
          +  color:#a0a0a0;
          +}
          +
          +.footer a {
          +  color:#a0a0a0;
          +}
          +
          +.right {
          +  float:right;
          +}
          diff --git a/target/site/jacoco/jacoco-resources/report.gif b/target/site/jacoco/jacoco-resources/report.gif
          new file mode 100644
          index 0000000..8547be5
          Binary files /dev/null and b/target/site/jacoco/jacoco-resources/report.gif differ
          diff --git a/target/site/jacoco/jacoco-resources/session.gif b/target/site/jacoco/jacoco-resources/session.gif
          new file mode 100644
          index 0000000..0151bad
          Binary files /dev/null and b/target/site/jacoco/jacoco-resources/session.gif differ
          diff --git a/target/site/jacoco/jacoco-resources/sort.gif b/target/site/jacoco/jacoco-resources/sort.gif
          new file mode 100644
          index 0000000..6757c2c
          Binary files /dev/null and b/target/site/jacoco/jacoco-resources/sort.gif differ
          diff --git a/target/site/jacoco/jacoco-resources/sort.js b/target/site/jacoco/jacoco-resources/sort.js
          new file mode 100644
          index 0000000..e269fe3
          --- /dev/null
          +++ b/target/site/jacoco/jacoco-resources/sort.js
          @@ -0,0 +1,148 @@
          +/*******************************************************************************
          + * Copyright (c) 2009, 2018 Mountainminds GmbH & Co. KG and Contributors
          + * This program and the accompanying materials are made available under
          + * the terms of the Eclipse Public License 2.0 which is available at
          + * http://www.eclipse.org/legal/epl-2.0
          + *
          + * SPDX-License-Identifier: EPL-2.0
          + *
          + * Contributors:
          + *    Marc R. Hoffmann - initial API and implementation
          + *
          + *******************************************************************************/
          +
          +(function () {
          +
          +  /**
          +   * Sets the initial sorting derived from the hash.
          +   *
          +   * @param linkelementids
          +   *          list of element ids to search for links to add sort inidcator
          +   *          hash links
          +   */
          +  function initialSort(linkelementids) {
          +    window.linkelementids = linkelementids;
          +    var hash = window.location.hash;
          +    if (hash) {
          +      var m = hash.match(/up-./);
          +      if (m) {
          +        var header = window.document.getElementById(m[0].charAt(3));
          +        if (header) {
          +          sortColumn(header, true);
          +        }
          +        return;
          +      }
          +      var m = hash.match(/dn-./);
          +      if (m) {
          +        var header = window.document.getElementById(m[0].charAt(3));
          +        if (header) {
          +          sortColumn(header, false);
          +        }
          +        return
          +      }
          +    }
          +  }
          +
          +  /**
          +   * Sorts the columns with the given header dependening on the current sort state.
          +   */
          +  function toggleSort(header) {
          +    var sortup = header.className.indexOf('down ') == 0;
          +    sortColumn(header, sortup);
          +  }
          +
          +  /**
          +   * Sorts the columns with the given header in the given direction.
          +   */
          +  function sortColumn(header, sortup) {
          +    var table = header.parentNode.parentNode.parentNode;
          +    var body = table.tBodies[0];
          +    var colidx = getNodePosition(header);
          +
          +    resetSortedStyle(table);
          +
          +    var rows = body.rows;
          +    var sortedrows = [];
          +    for (var i = 0; i < rows.length; i++) {
          +      r = rows[i];
          +      sortedrows[parseInt(r.childNodes[colidx].id.slice(1))] = r;
          +    }
          +
          +    var hash;
          +
          +    if (sortup) {
          +      for (var i = sortedrows.length - 1; i >= 0; i--) {
          +        body.appendChild(sortedrows[i]);
          +      }
          +      header.className = 'up ' + header.className;
          +      hash = 'up-' + header.id;
          +    } else {
          +      for (var i = 0; i < sortedrows.length; i++) {
          +        body.appendChild(sortedrows[i]);
          +      }
          +      header.className = 'down ' + header.className;
          +      hash = 'dn-' + header.id;
          +    }
          +
          +    setHash(hash);
          +  }
          +
          +  /**
          +   * Adds the sort indicator as a hash to the document URL and all links.
          +   */
          +  function setHash(hash) {
          +    window.document.location.hash = hash;
          +    ids = window.linkelementids;
          +    for (var i = 0; i < ids.length; i++) {
          +        setHashOnAllLinks(document.getElementById(ids[i]), hash);
          +    }
          +  }
          +
          +  /**
          +   * Extend all links within the given tag with the given hash.
          +   */
          +  function setHashOnAllLinks(tag, hash) {
          +    links = tag.getElementsByTagName("a");
          +    for (var i = 0; i < links.length; i++) {
          +        var a = links[i];
          +        var href = a.href;
          +        var hashpos = href.indexOf("#");
          +        if (hashpos != -1) {
          +            href = href.substring(0, hashpos);
          +        }
          +        a.href = href + "#" + hash;
          +    }
          +  }
          +
          +  /**
          +   * Calculates the position of a element within its parent.
          +   */
          +  function getNodePosition(element) {
          +    var pos = -1;
          +    while (element) {
          +      element = element.previousSibling;
          +      pos++;
          +    }
          +    return pos;
          +  }
          +
          +  /**
          +   * Remove the sorting indicator style from all headers.
          +   */
          +  function resetSortedStyle(table) {
          +    for (var c = table.tHead.firstChild.firstChild; c; c = c.nextSibling) {
          +      if (c.className) {
          +        if (c.className.indexOf('down ') == 0) {
          +          c.className = c.className.slice(5);
          +        }
          +        if (c.className.indexOf('up ') == 0) {
          +          c.className = c.className.slice(3);
          +        }
          +      }
          +    }
          +  }
          +
          +  window['initialSort'] = initialSort;
          +  window['toggleSort'] = toggleSort;
          +
          +})();
          diff --git a/target/site/jacoco/jacoco-resources/source.gif b/target/site/jacoco/jacoco-resources/source.gif
          new file mode 100644
          index 0000000..b226e41
          Binary files /dev/null and b/target/site/jacoco/jacoco-resources/source.gif differ
          diff --git a/target/site/jacoco/jacoco-resources/up.gif b/target/site/jacoco/jacoco-resources/up.gif
          new file mode 100644
          index 0000000..58ed216
          Binary files /dev/null and b/target/site/jacoco/jacoco-resources/up.gif differ
          diff --git a/target/site/jacoco/jacoco-sessions.html b/target/site/jacoco/jacoco-sessions.html
          new file mode 100644
          index 0000000..478feda
          --- /dev/null
          +++ b/target/site/jacoco/jacoco-sessions.html
          @@ -0,0 +1 @@
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>Sessions</title></head><body><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="jacoco-sessions.html" class="el_session">Sessions</a></span><a href="index.html" class="el_report">spoteezer</a> &gt; <span class="el_session">Sessions</span></div><h1>Sessions</h1><p>This coverage report is based on execution data from the following sessions:</p><table class="coverage" cellspacing="0"><thead><tr><td>Session</td><td>Start Time</td><td>Dump Time</td></tr></thead><tbody><tr><td><span class="el_session">DESKTOP-M4INQND-e57e2e00</span></td><td>26 juin 2021, 14:29:08</td><td>26 juin 2021, 14:29:09</td></tr><tr><td><span class="el_session">DESKTOP-M4INQND-3e358c1a</span></td><td>26 juin 2021, 14:29:30</td><td>26 juin 2021, 14:29:30</td></tr><tr><td><span class="el_session">DESKTOP-M4INQND-56f46767</span></td><td>26 juin 2021, 14:29:49</td><td>26 juin 2021, 14:29:49</td></tr><tr><td><span class="el_session">DESKTOP-M4INQND-e88c304d</span></td><td>26 juin 2021, 14:30:30</td><td>26 juin 2021, 14:30:30</td></tr><tr><td><span class="el_session">DESKTOP-M4INQND-20d8781c</span></td><td>26 juin 2021, 14:30:42</td><td>26 juin 2021, 14:30:43</td></tr><tr><td><span class="el_session">DESKTOP-M4INQND-442c10a6</span></td><td>26 juin 2021, 14:30:53</td><td>26 juin 2021, 14:30:53</td></tr></tbody></table><p>Execution data for the following classes is considered in this report:</p><table class="coverage" cellspacing="0"><thead><tr><td>Class</td><td>Id</td></tr></thead><tbody><tr><td><a href="musichub.business/PathValidation.html" class="el_class">musichub.business.PathValidation</a></td><td><code>23fa11bc9f27a597</code></td></tr><tr><td><span class="el_class">musichub.business.PathValidationTest</span></td><td><code>c2c5ebe52507fc9e</code></td></tr><tr><td><span class="el_class">musichub.business.PathValidationTest</span></td><td><code>325f5b44374bcaeb</code></td></tr><tr><td><span class="el_class">musichub.business.PathValidationTest</span></td><td><code>4c7ade2bf38c6e74</code></td></tr><tr><td><span class="el_class">musichub.business.PathValidationTest</span></td><td><code>192d10ac364dc41c</code></td></tr><tr><td><span class="el_class">org.apache.maven.plugin.surefire.log.api.NullConsoleLogger</span></td><td><code>80d79e52a7499259</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.AbstractPathConfiguration</span></td><td><code>8182fa1396653f01</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.BaseProviderFactory</span></td><td><code>82593383b8ea92d6</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.BiProperty</span></td><td><code>4945e268841ae2cb</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.BooterDeserializer</span></td><td><code>5e68b147d2c4b22f</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ClassLoaderConfiguration</span></td><td><code>dc8fd5c18ebb0e44</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.Classpath</span></td><td><code>6f6b6469b9fdf4dd</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ClasspathConfiguration</span></td><td><code>4c7a5282c74ba3e2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.Command</span></td><td><code>eb1b53eb8cbe7b47</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.CommandReader</span></td><td><code>0c8d3ca700ec7199</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.CommandReader.1</span></td><td><code>fbfebde20e2b504c</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.CommandReader.CommandRunnable</span></td><td><code>ee59ae4d74408619</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.DumpErrorSingleton</span></td><td><code>a3fa02cb87e0e12b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter</span></td><td><code>a5c33895f0d22838</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.1</span></td><td><code>c87487d278c3ea96</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.2</span></td><td><code>31c66931520df8eb</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.3</span></td><td><code>95d48141fa4dd03d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.4</span></td><td><code>24dcd1c5bcf0d850</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.5</span></td><td><code>862846325c16cf76</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.6</span></td><td><code>b3ab24d3791d84dd</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.7</span></td><td><code>401437f62a3b16ff</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.PingScheduler</span></td><td><code>04bf02021dfc5e9c</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkingReporterFactory</span></td><td><code>076a6c0176f6238b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkingRunListener</span></td><td><code>92d4b034b32ca2c0</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.MasterProcessCommand</span></td><td><code>da65de332c2de19d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.PpidChecker</span></td><td><code>71b8c658da2ea8d3</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.PpidChecker.2</span></td><td><code>68d262a2c2ad8f14</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.PpidChecker.ProcessInfoConsumer</span></td><td><code>73f319c21fab7e7f</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ProcessInfo</span></td><td><code>b5b56cd86f3f0b31</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.PropertiesWrapper</span></td><td><code>ae4bf137cc5290c1</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ProviderConfiguration</span></td><td><code>d19986536a351b50</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.Shutdown</span></td><td><code>ee9c65017e107986</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.StartupConfiguration</span></td><td><code>a8cc10b01ed27439</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.SystemPropertyManager</span></td><td><code>f47497b1dde50d64</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.TypeEncodedValue</span></td><td><code>5ea9766678ac06a2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.cli.CommandLineOption</span></td><td><code>467fc7f51b73863b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.junitplatform.JUnitPlatformProvider</span></td><td><code>89b934b90ec6eb01</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.junitplatform.RunListenerAdapter</span></td><td><code>02cb8e87a6db2057</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.junitplatform.TestPlanScannerFilter</span></td><td><code>622558f718a42827</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.org.apache.maven.shared.utils.StringUtils</span></td><td><code>336ef03300f29635</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.providerapi.AbstractProvider</span></td><td><code>90f3b08fe8a1c87c</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ClassNameStackTraceFilter</span></td><td><code>2e0e75f8104a222a</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ConsoleOutputCapture</span></td><td><code>b8ae904ed8536017</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ConsoleOutputCapture.ForwardingPrintStream</span></td><td><code>f912ea5d2dac308e</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ConsoleOutputCapture.NullOutputStream</span></td><td><code>8d05eb67510fd586</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.PojoStackTraceWriter</span></td><td><code>cdfe959904c6726b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ReporterConfiguration</span></td><td><code>4281487891f02f69</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.SafeThrowable</span></td><td><code>e61429531d0f0c1c</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.SimpleReportEntry</span></td><td><code>ced572f24a462295</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.SmartStackTraceParser</span></td><td><code>05e423188a7bbb31</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.io.IOUtils</span></td><td><code>31aed2fcfab3e082</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.io.output.StringBuilderWriter</span></td><td><code>6d33fec8cb3374c0</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.lang3.JavaVersion</span></td><td><code>a8452005cb20bb7d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.lang3.StringUtils</span></td><td><code>4f785afa8bb3a23f</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.lang3.SystemUtils</span></td><td><code>aba69a973b7ba06a</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.lang3.math.NumberUtils</span></td><td><code>d0156407bff7b695</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.maven.shared.utils.StringUtils</span></td><td><code>483d14212b21a3ea</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.suite.RunResult</span></td><td><code>f5c7c53a954bcafa</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.DirectoryScannerParameters</span></td><td><code>2b5eeacae469cd1d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.IncludedExcludedPatterns</span></td><td><code>f39908e3b64d7090</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.ResolvedTest</span></td><td><code>a598483e424232d4</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.ResolvedTest.ClassMatcher</span></td><td><code>79be7f2fa77ad8d7</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.ResolvedTest.MethodMatcher</span></td><td><code>7c71374a51e8e61b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.ResolvedTest.Type</span></td><td><code>90e4214668937845</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.RunOrderParameters</span></td><td><code>b4c06223c3099700</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.TestArtifactInfo</span></td><td><code>f703953620e80b33</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.TestListResolver</span></td><td><code>7d372c99b98a147d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.TestRequest</span></td><td><code>0fa2c0cc34345df2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.CloseableIterator</span></td><td><code>cc15bdebae86d5d2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.DefaultRunOrderCalculator</span></td><td><code>1aeecbcd3bf6e89b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.DefaultScanResult</span></td><td><code>7fefafdf8c793c36</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.ReflectionUtils</span></td><td><code>8d5f4b05d6d77207</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.RunOrder</span></td><td><code>d2292a6beb4b6337</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.TestsToRun</span></td><td><code>a95363e4b4ba2069</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.TestsToRun.ClassesIterator</span></td><td><code>84a139c598502c0b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.DaemonThreadFactory</span></td><td><code>21a589f6dedb169c</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.DaemonThreadFactory.NamedThreadFactory</span></td><td><code>682458ca85b067a3</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.DumpFileUtils</span></td><td><code>fff19f49be3d8149</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.ImmutableMap</span></td><td><code>72bcae5e55b4fabb</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.ObjectUtils</span></td><td><code>69a2a92649b44645</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.StringUtils</span></td><td><code>3a7e4daf0a993e1e</code></td></tr><tr><td><span class="el_class">org.apiguardian.api.API.Status</span></td><td><code>0341e8d99fc36573</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertEquals</span></td><td><code>12bfbbf2e4327e63</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertFalse</span></td><td><code>32fea5a28fb6a114</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertTrue</span></td><td><code>612f68f7274dd69c</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertionUtils</span></td><td><code>da37ffd9f98016fd</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.Assertions</span></td><td><code>041279bcf2826fff</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.TestInstance.Lifecycle</span></td><td><code>0e93858cc703e9fc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ConditionEvaluationResult</span></td><td><code>2f9dc9ea54b57975</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ExtensionContext</span></td><td><code>222e1fc44c4844aa</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.DiscoveryFilterApplier</span></td><td><code>ae96a3ff3c2e2bc4</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.JupiterTestEngine</span></td><td><code>c74f725c8cb223be</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.AbstractExtensionContext</span></td><td><code>1f7ed0b87a9f2cca</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ClassExtensionContext</span></td><td><code>b85422abe06bbadd</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ClassTestDescriptor</span></td><td><code>61a635a4acc3ee31</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterEngineDescriptor</span></td><td><code>d025635c09450d0d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterEngineExtensionContext</span></td><td><code>7ae853fe3a80d83c</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterTestDescriptor</span></td><td><code>606e5ec97816bda5</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.LifecycleMethodUtils</span></td><td><code>19c9fba5accef0fa</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.MethodBasedTestDescriptor</span></td><td><code>65654838f58d8b44</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.MethodExtensionContext</span></td><td><code>c098f6d0bb344d56</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.TestInstanceLifecycleUtils</span></td><td><code>c42bb138e6a06252</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor</span></td><td><code>54eb6a19bd953962</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.AbstractMethodResolver</span></td><td><code>3934f16bf877b9f5</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.DiscoverySelectorResolver</span></td><td><code>a858789f976fefbc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.JavaElementsResolver</span></td><td><code>32e9ea682e77049d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodFinder</span></td><td><code>5ea468d2eb528361</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.NestedTestsResolver</span></td><td><code>9d92451ae793af41</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.TestContainerResolver</span></td><td><code>7db010f5e9c7301d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.TestFactoryMethodResolver</span></td><td><code>59fd27320e375440</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.TestMethodResolver</span></td><td><code>1417c6356fa4b27f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.TestTemplateMethodResolver</span></td><td><code>47563eb55cd35171</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsInnerClass</span></td><td><code>f7d9846d00228720</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsNestedTestClass</span></td><td><code>e47ff7cd33073803</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsPotentialTestContainer</span></td><td><code>0f8df015b2d5841a</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsScannableTestClass</span></td><td><code>839db992754219f6</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestClassWithTests</span></td><td><code>5ab134cc6ef3a81f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestFactoryMethod</span></td><td><code>a2c68978bd6bfbc6</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestMethod</span></td><td><code>8b244977e441886e</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestTemplateMethod</span></td><td><code>0baf1066bf0cbad7</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestableMethod</span></td><td><code>59a0b58a40803fe2</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ConditionEvaluator</span></td><td><code>fba35d945644501d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ExecutableInvoker</span></td><td><code>d64b9ef7a154ea95</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ExtensionValuesStore</span></td><td><code>2517eb7835ca6234</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext</span></td><td><code>65be276e3a954a94</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.Builder</span></td><td><code>dd69537274ccbffc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.State</span></td><td><code>38616672a2502408</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ThrowableCollector</span></td><td><code>92102b13561afdcf</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.DisabledCondition</span></td><td><code>a967493a244329fa</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.ExtensionRegistry</span></td><td><code>20b847fc63fd255b</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.RepeatedTestExtension</span></td><td><code>1b7914cc8cf83732</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TestInfoParameterResolver</span></td><td><code>1b5b370a56807cae</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TestReporterParameterResolver</span></td><td><code>839c7c31b3ec6390</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.logging.LoggerFactory</span></td><td><code>ca4e1a8773fb9bed</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.logging.LoggerFactory.DelegatingLogger</span></td><td><code>fd74fe2bb4edddd0</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.AnnotationUtils</span></td><td><code>32499b01efc144e8</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.AnnotationUtils.AnnotationCacheKey</span></td><td><code>f04082259bc4a6ab</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.BlacklistedExceptions</span></td><td><code>73365157bacc50af</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClassLoaderUtils</span></td><td><code>ebded5f4ecebd9d8</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClassUtils</span></td><td><code>4982a89773933a90</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClasspathScanner</span></td><td><code>8425ab535628f6b9</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.CollectionUtils</span></td><td><code>59532d0e14166bc8</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ExceptionUtils</span></td><td><code>0125033b30a9585f</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.Preconditions</span></td><td><code>f9207dc44e9d043d</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ReflectionUtils</span></td><td><code>4d39f1033ae8eb12</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ReflectionUtils.HierarchyTraversalMode</span></td><td><code>b267f8ac562d551e</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.StringUtils</span></td><td><code>3441f99393e2406b</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.CompositeFilter</span></td><td><code>d9d6482243cc9fa3</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.CompositeFilter.1</span></td><td><code>75dffc26c0811b9d</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.ExecutionRequest</span></td><td><code>ed3835cc21e5a048</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.Filter</span></td><td><code>f932423ccd3b54bf</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.FilterResult</span></td><td><code>bf731bc7f64ce694</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestDescriptor</span></td><td><code>e9574ca206cded64</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestDescriptor.Type</span></td><td><code>eb97fc5a29f3ee3a</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestExecutionResult</span></td><td><code>abbab174d32db912</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestExecutionResult.Status</span></td><td><code>da0473a55d05e891</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueId</span></td><td><code>d23a178963e86ca7</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueId.Segment</span></td><td><code>54a2765f04c8cab7</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueIdFormat</span></td><td><code>c860ade4b928ce32</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.ClassSelector</span></td><td><code>228aa96d72021db2</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.DiscoverySelectors</span></td><td><code>8fefc6f1651cc3bd</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.AbstractTestDescriptor</span></td><td><code>2bfbf25c43491443</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.ClassSource</span></td><td><code>9727c5551a632c40</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.EngineDescriptor</span></td><td><code>b7dbf6dfb794516c</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.MethodSource</span></td><td><code>0a1b0f0f95f17b77</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.filter.ClasspathScanningSupport</span></td><td><code>8223a02c2b9d8c89</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.ExecutionTracker</span></td><td><code>cbd37bfd76595d62</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine</span></td><td><code>410766a2a07e44b1</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor</span></td><td><code>7b43a475463d740e</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.1</span></td><td><code>197b854565198af0</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.Node</span></td><td><code>8a5379bd364a5bf6</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.Node.SkipResult</span></td><td><code>d4551dfb7a813206</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.SingleTestExecutor</span></td><td><code>d75bd01628eef7be</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.TestIdentifier</span></td><td><code>225bb434f8f223e2</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.TestPlan</span></td><td><code>9a2b71b572924cbc</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultDiscoveryRequest</span></td><td><code>7dda3ad9a0e6a666</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncher</span></td><td><code>1a1f88af87dc6ec1</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ExecutionListenerAdapter</span></td><td><code>52cf3c3c69d4dfba</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters</span></td><td><code>ef55cacb5e47a902</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherDiscoveryRequestBuilder</span></td><td><code>e78a71b91c159e69</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherFactory</span></td><td><code>e2bd67b8a72737b5</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.Root</span></td><td><code>32394ca895f9fb9a</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ServiceLoaderTestEngineRegistry</span></td><td><code>7c054c4cf76cb0f6</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ServiceLoaderTestExecutionListenerRegistry</span></td><td><code>2299bac1075a6bf3</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.TestExecutionListenerRegistry</span></td><td><code>190f4fb2b0ab865d</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.TestExecutionListenerRegistry.CompositeTestExecutionListener</span></td><td><code>7538d2d860e1f9cb</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.LegacyReportingUtils</span></td><td><code>f3c021e100a54063</code></td></tr><tr><td><span class="el_class">org.opentest4j.AssertionFailedError</span></td><td><code>2c5f69ceb24e9128</code></td></tr><tr><td><span class="el_class">org.opentest4j.ValueWrapper</span></td><td><code>7d0d1c90c1c4c4b3</code></td></tr><tr><td><span class="el_class">sun.text.resources.cldr.ext.FormatData_fr</span></td><td><code>cfe4ef8ff7428512</code></td></tr><tr><td><span class="el_class">sun.util.resources.cldr.provider.CLDRLocaleDataMetaInfo</span></td><td><code>888d0e6a76acb845</code></td></tr><tr><td><span class="el_class">sun.util.resources.provider.LocaleDataProvider</span></td><td><code>36ca29d59ab35e5c</code></td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/jacoco.csv b/target/site/jacoco/jacoco.csv
          new file mode 100644
          index 0000000..9aff09d
          --- /dev/null
          +++ b/target/site/jacoco/jacoco.csv
          @@ -0,0 +1,19 @@
          +GROUP,PACKAGE,CLASS,INSTRUCTION_MISSED,INSTRUCTION_COVERED,BRANCH_MISSED,BRANCH_COVERED,LINE_MISSED,LINE_COVERED,COMPLEXITY_MISSED,COMPLEXITY_COVERED,METHOD_MISSED,METHOD_COVERED
          +spoteezer,musichub.util,XMLHandler,72,0,0,0,25,0,4,0,4,0
          +spoteezer,musichub.business,Album,330,0,14,0,84,0,16,0,9,0
          +spoteezer,musichub.business,PathValidation,0,17,0,0,0,4,0,2,0,2
          +spoteezer,musichub.business,SortByAuthor,9,0,0,0,2,0,2,0,2,0
          +spoteezer,musichub.business,NoAlbumFoundException,4,0,0,0,2,0,1,0,1,0
          +spoteezer,musichub.business,Language,49,0,0,0,6,0,3,0,3,0
          +spoteezer,musichub.business,SortByDate,9,0,0,0,2,0,2,0,2,0
          +spoteezer,musichub.business,MusicHub,803,0,114,0,195,0,79,0,22,0
          +spoteezer,musichub.business,Category,49,0,0,0,6,0,3,0,3,0
          +spoteezer,musichub.business,Song,105,0,6,0,26,0,12,0,7,0
          +spoteezer,musichub.business,NoPlayListFoundException,4,0,0,0,2,0,1,0,1,0
          +spoteezer,musichub.business,PlayList,202,0,14,0,53,0,14,0,7,0
          +spoteezer,musichub.business,AudioBook,164,0,10,0,39,0,17,0,9,0
          +spoteezer,musichub.business,SortByGenre,9,0,0,0,2,0,2,0,2,0
          +spoteezer,musichub.business,NoElementFoundException,4,0,0,0,2,0,1,0,1,0
          +spoteezer,musichub.business,Genre,56,0,0,0,6,0,3,0,3,0
          +spoteezer,musichub.business,AudioElement,266,0,11,0,72,0,16,0,9,0
          +spoteezer,musichub.main,Main,588,0,40,0,199,0,29,0,3,0
          diff --git a/target/site/jacoco/jacoco.xml b/target/site/jacoco/jacoco.xml
          new file mode 100644
          index 0000000..5a939ee
          --- /dev/null
          +++ b/target/site/jacoco/jacoco.xml
          @@ -0,0 +1 @@
          +<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!DOCTYPE report PUBLIC "-//JACOCO//DTD Report 1.1//EN" "report.dtd"><report name="spoteezer"><sessioninfo id="DESKTOP-M4INQND-e57e2e00" start="1624710548706" dump="1624710549076"/><sessioninfo id="DESKTOP-M4INQND-3e358c1a" start="1624710570201" dump="1624710570575"/><sessioninfo id="DESKTOP-M4INQND-56f46767" start="1624710589444" dump="1624710589830"/><sessioninfo id="DESKTOP-M4INQND-e88c304d" start="1624710630581" dump="1624710630973"/><sessioninfo id="DESKTOP-M4INQND-20d8781c" start="1624710642738" dump="1624710643144"/><sessioninfo id="DESKTOP-M4INQND-442c10a6" start="1624710653198" dump="1624710653579"/><package name="musichub/util"><class name="musichub/util/XMLHandler" sourcefilename="XMLHandler.java"><method name="&lt;init&gt;" desc="()V" line="26"><counter type="INSTRUCTION" missed="23" covered="0"/><counter type="LINE" missed="9" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createXMLFile" desc="(Lorg/w3c/dom/Document;Ljava/lang/String;)V" line="41"><counter type="INSTRUCTION" missed="23" covered="0"/><counter type="LINE" missed="7" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createXMLDocument" desc="()Lorg/w3c/dom/Document;" line="57"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="parseXMLFile" desc="(Ljava/lang/String;)Lorg/w3c/dom/NodeList;" line="61"><counter type="INSTRUCTION" missed="22" covered="0"/><counter type="LINE" missed="8" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="72" covered="0"/><counter type="LINE" missed="25" covered="0"/><counter type="COMPLEXITY" missed="4" covered="0"/><counter type="METHOD" missed="4" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><sourcefile name="XMLHandler.java"><line nr="26" mi="2" ci="0" mb="0" cb="0"/><line nr="28" mi="3" ci="0" mb="0" cb="0"/><line nr="29" mi="5" ci="0" mb="0" cb="0"/><line nr="30" mi="3" ci="0" mb="0" cb="0"/><line nr="31" mi="5" ci="0" mb="0" cb="0"/><line nr="32" mi="1" ci="0" mb="0" cb="0"/><line nr="33" mi="2" ci="0" mb="0" cb="0"/><line nr="34" mi="1" ci="0" mb="0" cb="0"/><line nr="35" mi="1" ci="0" mb="0" cb="0"/><line nr="41" mi="5" ci="0" mb="0" cb="0"/><line nr="42" mi="8" ci="0" mb="0" cb="0"/><line nr="49" mi="5" ci="0" mb="0" cb="0"/><line nr="51" mi="1" ci="0" mb="0" cb="0"/><line nr="52" mi="2" ci="0" mb="0" cb="0"/><line nr="53" mi="1" ci="0" mb="0" cb="0"/><line nr="54" mi="1" ci="0" mb="0" cb="0"/><line nr="57" mi="4" ci="0" mb="0" cb="0"/><line nr="61" mi="2" ci="0" mb="0" cb="0"/><line nr="63" mi="8" ci="0" mb="0" cb="0"/><line nr="64" mi="3" ci="0" mb="0" cb="0"/><line nr="66" mi="3" ci="0" mb="0" cb="0"/><line nr="67" mi="1" ci="0" mb="0" cb="0"/><line nr="68" mi="2" ci="0" mb="0" cb="0"/><line nr="69" mi="1" ci="0" mb="0" cb="0"/><line nr="70" mi="2" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="72" covered="0"/><counter type="LINE" missed="25" covered="0"/><counter type="COMPLEXITY" missed="4" covered="0"/><counter type="METHOD" missed="4" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><counter type="INSTRUCTION" missed="72" covered="0"/><counter type="LINE" missed="25" covered="0"/><counter type="COMPLEXITY" missed="4" covered="0"/><counter type="METHOD" missed="4" covered="0"/><counter type="CLASS" missed="1" covered="0"/></package><package name="musichub/business"><class name="musichub/business/Album" sourcefilename="Album.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/util/ArrayList;)V" line="21"><counter type="INSTRUCTION" missed="33" covered="0"/><counter type="LINE" missed="12" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V" line="35"><counter type="INSTRUCTION" missed="34" covered="0"/><counter type="LINE" missed="12" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Lorg/w3c/dom/Element;)V" line="49"><counter type="INSTRUCTION" missed="112" covered="0"/><counter type="BRANCH" missed="12" covered="0"/><counter type="LINE" missed="26" covered="0"/><counter type="COMPLEXITY" missed="7" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addSong" desc="(Ljava/util/UUID;)V" line="89"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getSongs" desc="()Ljava/util/List;" line="94"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getSongsRandomly" desc="()Ljava/util/ArrayList;" line="98"><counter type="INSTRUCTION" missed="7" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getTitle" desc="()Ljava/lang/String;" line="104"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getDate" desc="()Ljava/util/Date;" line="108"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createXMLElement" desc="(Lorg/w3c/dom/Document;Lorg/w3c/dom/Element;)V" line="112"><counter type="INSTRUCTION" missed="129" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="26" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="330" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="84" covered="0"/><counter type="COMPLEXITY" missed="16" covered="0"/><counter type="METHOD" missed="9" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/PathValidation" sourcefilename="PathValidation.java"><method name="&lt;init&gt;" desc="()V" line="22"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isPathValid" desc="(Ljava/lang/String;)Z" line="34"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="musichub/business/SortByAuthor" sourcefilename="MusicHub.java"><method name="&lt;init&gt;" desc="()V" line="27"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="compare" desc="(Lmusichub/business/AudioElement;Lmusichub/business/AudioElement;)I" line="29"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="9" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/NoAlbumFoundException" sourcefilename="NoAlbumFoundException.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="6"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/Language" sourcefilename="Language.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;ILjava/lang/String;)V" line="7"><counter type="INSTRUCTION" missed="8" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getLanguage" desc="()Ljava/lang/String;" line="12"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="3"><counter type="INSTRUCTION" missed="38" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="49" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/SortByDate" sourcefilename="MusicHub.java"><method name="&lt;init&gt;" desc="()V" line="15"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="compare" desc="(Lmusichub/business/Album;Lmusichub/business/Album;)I" line="17"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="9" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/MusicHub" sourcefilename="MusicHub.java"><method name="&lt;init&gt;" desc="()V" line="41"><counter type="INSTRUCTION" missed="29" covered="0"/><counter type="LINE" missed="9" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addElement" desc="(Lmusichub/business/AudioElement;)V" line="53"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addAlbum" desc="(Lmusichub/business/Album;)V" line="57"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addPlaylist" desc="(Lmusichub/business/PlayList;)V" line="61"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="deletePlayList" desc="(Ljava/lang/String;)V" line="66"><counter type="INSTRUCTION" missed="40" covered="0"/><counter type="BRANCH" missed="8" covered="0"/><counter type="LINE" missed="11" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="albums" desc="()Ljava/util/Iterator;" line="81"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="playlists" desc="()Ljava/util/Iterator;" line="85"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="elements" desc="()Ljava/util/Iterator;" line="89"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAlbumsTitlesSortedByDate" desc="()Ljava/lang/String;" line="93"><counter type="INSTRUCTION" missed="32" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAudiobooksTitlesSortedByAuthor" desc="()Ljava/lang/String;" line="101"><counter type="INSTRUCTION" missed="53" covered="0"/><counter type="BRANCH" missed="6" covered="0"/><counter type="LINE" missed="9" covered="0"/><counter type="COMPLEXITY" missed="4" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAlbumSongs" desc="(Ljava/lang/String;)Ljava/util/List;" line="113"><counter type="INSTRUCTION" missed="73" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="15" covered="0"/><counter type="COMPLEXITY" missed="8" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAlbumSongsSortedByGenre" desc="(Ljava/lang/String;)Ljava/util/List;" line="135"><counter type="INSTRUCTION" missed="79" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="16" covered="0"/><counter type="COMPLEXITY" missed="8" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addElementToAlbum" desc="(Ljava/lang/String;Ljava/lang/String;)V" line="158"><counter type="INSTRUCTION" missed="82" covered="0"/><counter type="BRANCH" missed="12" covered="0"/><counter type="LINE" missed="20" covered="0"/><counter type="COMPLEXITY" missed="7" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addElementToPlayList" desc="(Ljava/lang/String;Ljava/lang/String;)V" line="187"><counter type="INSTRUCTION" missed="82" covered="0"/><counter type="BRANCH" missed="12" covered="0"/><counter type="LINE" missed="20" covered="0"/><counter type="COMPLEXITY" missed="7" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="loadAlbums" desc="()V" line="218"><counter type="INSTRUCTION" missed="44" covered="0"/><counter type="BRANCH" missed="8" covered="0"/><counter type="LINE" missed="11" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="loadPlaylists" desc="()V" line="236"><counter type="INSTRUCTION" missed="44" covered="0"/><counter type="BRANCH" missed="8" covered="0"/><counter type="LINE" missed="11" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="loadElements" desc="()V" line="254"><counter type="INSTRUCTION" missed="64" covered="0"/><counter type="BRANCH" missed="10" covered="0"/><counter type="LINE" missed="18" covered="0"/><counter type="COMPLEXITY" missed="6" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="saveAlbums" desc="()V" line="282"><counter type="INSTRUCTION" missed="36" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="10" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="savePlayLists" desc="()V" line="298"><counter type="INSTRUCTION" missed="36" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="10" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="saveElements" desc="()V" line="314"><counter type="INSTRUCTION" missed="47" covered="0"/><counter type="BRANCH" missed="8" covered="0"/><counter type="LINE" missed="12" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAudioElement" desc="(Ljava/util/List;Ljava/lang/String;)V" line="335"><counter type="INSTRUCTION" missed="19" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="34"><counter type="INSTRUCTION" missed="13" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="803" covered="0"/><counter type="BRANCH" missed="114" covered="0"/><counter type="LINE" missed="195" covered="0"/><counter type="COMPLEXITY" missed="79" covered="0"/><counter type="METHOD" missed="22" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/Category" sourcefilename="Category.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;ILjava/lang/String;)V" line="7"><counter type="INSTRUCTION" missed="8" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getCategory" desc="()Ljava/lang/String;" line="12"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="3"><counter type="INSTRUCTION" missed="38" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="49" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/Song" sourcefilename="Song.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" line="11"><counter type="INSTRUCTION" missed="11" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V" line="16"><counter type="INSTRUCTION" missed="10" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Lorg/w3c/dom/Element;)V" line="21"><counter type="INSTRUCTION" missed="12" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getGenre" desc="()Ljava/lang/String;" line="26"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="setGenre" desc="(Ljava/lang/String;)V" line="30"><counter type="INSTRUCTION" missed="33" covered="0"/><counter type="BRANCH" missed="6" covered="0"/><counter type="LINE" missed="8" covered="0"/><counter type="COMPLEXITY" missed="6" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="toString" desc="()Ljava/lang/String;" line="41"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createXMLElement" desc="(Lorg/w3c/dom/Document;Lorg/w3c/dom/Element;)V" line="46"><counter type="INSTRUCTION" missed="29" covered="0"/><counter type="LINE" missed="7" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="105" covered="0"/><counter type="BRANCH" missed="6" covered="0"/><counter type="LINE" missed="26" covered="0"/><counter type="COMPLEXITY" missed="12" covered="0"/><counter type="METHOD" missed="7" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/NoPlayListFoundException" sourcefilename="NoPlayListFoundException.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="6"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/PlayList" sourcefilename="PlayList.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/util/ArrayList;)V" line="16"><counter type="INSTRUCTION" missed="13" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="22"><counter type="INSTRUCTION" missed="14" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Lorg/w3c/dom/Element;)V" line="28"><counter type="INSTRUCTION" missed="88" covered="0"/><counter type="BRANCH" missed="12" covered="0"/><counter type="LINE" missed="23" covered="0"/><counter type="COMPLEXITY" missed="7" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addElement" desc="(Ljava/util/UUID;)V" line="66"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getElements" desc="()Ljava/util/ArrayList;" line="70"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getTitle" desc="()Ljava/lang/String;" line="74"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createXMLElement" desc="(Lorg/w3c/dom/Document;Lorg/w3c/dom/Element;)V" line="78"><counter type="INSTRUCTION" missed="75" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="16" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="202" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="53" covered="0"/><counter type="COMPLEXITY" missed="14" covered="0"/><counter type="METHOD" missed="7" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/AudioBook" sourcefilename="AudioBook.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" line="11"><counter type="INSTRUCTION" missed="14" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" line="17"><counter type="INSTRUCTION" missed="13" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Lorg/w3c/dom/Element;)V" line="23"><counter type="INSTRUCTION" missed="20" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getLanguage" desc="()Lmusichub/business/Language;" line="29"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="setLanguage" desc="(Ljava/lang/String;)V" line="33"><counter type="INSTRUCTION" missed="29" covered="0"/><counter type="BRANCH" missed="5" covered="0"/><counter type="LINE" missed="7" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getCategory" desc="()Lmusichub/business/Category;" line="43"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="setCategory" desc="(Ljava/lang/String;)V" line="47"><counter type="INSTRUCTION" missed="29" covered="0"/><counter type="BRANCH" missed="5" covered="0"/><counter type="LINE" missed="7" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="toString" desc="()Ljava/lang/String;" line="58"><counter type="INSTRUCTION" missed="8" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createXMLElement" desc="(Lorg/w3c/dom/Document;Lorg/w3c/dom/Element;)V" line="64"><counter type="INSTRUCTION" missed="45" covered="0"/><counter type="LINE" missed="10" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="164" covered="0"/><counter type="BRANCH" missed="10" covered="0"/><counter type="LINE" missed="39" covered="0"/><counter type="COMPLEXITY" missed="17" covered="0"/><counter type="METHOD" missed="9" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/SortByGenre" sourcefilename="MusicHub.java"><method name="&lt;init&gt;" desc="()V" line="21"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="compare" desc="(Lmusichub/business/Song;Lmusichub/business/Song;)I" line="23"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="9" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/NoElementFoundException" sourcefilename="NoElementFoundException.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="6"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/Genre" sourcefilename="Genre.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;ILjava/lang/String;)V" line="7"><counter type="INSTRUCTION" missed="8" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getGenre" desc="()Ljava/lang/String;" line="12"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="3"><counter type="INSTRUCTION" missed="45" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="56" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/AudioElement" sourcefilename="AudioElement.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V" line="24"><counter type="INSTRUCTION" missed="19" covered="0"/><counter type="LINE" missed="7" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V" line="32"><counter type="INSTRUCTION" missed="18" covered="0"/><counter type="LINE" missed="7" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Lorg/w3c/dom/Element;)V" line="40"><counter type="INSTRUCTION" missed="63" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="14" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getUUID" desc="()Ljava/util/UUID;" line="59"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getArtist" desc="()Ljava/lang/String;" line="63"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getTitle" desc="()Ljava/lang/String;" line="67"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="toString" desc="()Ljava/lang/String;" line="71"><counter type="INSTRUCTION" missed="10" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createXMLElement" desc="(Lorg/w3c/dom/Document;Lorg/w3c/dom/Element;)V" line="75"><counter type="INSTRUCTION" missed="79" covered="0"/><counter type="LINE" missed="16" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="manageAudioElement" desc="()V" line="99"><counter type="INSTRUCTION" missed="68" covered="0"/><counter type="BRANCH" missed="7" covered="0"/><counter type="LINE" missed="24" covered="0"/><counter type="COMPLEXITY" missed="6" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="266" covered="0"/><counter type="BRANCH" missed="11" covered="0"/><counter type="LINE" missed="72" covered="0"/><counter type="COMPLEXITY" missed="16" covered="0"/><counter type="METHOD" missed="9" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><sourcefile name="MusicHub.java"><line nr="15" mi="3" ci="0" mb="0" cb="0"/><line nr="17" mi="6" ci="0" mb="0" cb="0"/><line nr="21" mi="3" ci="0" mb="0" cb="0"/><line nr="23" mi="6" ci="0" mb="0" cb="0"/><line nr="27" mi="3" ci="0" mb="0" cb="0"/><line nr="29" mi="6" ci="0" mb="0" cb="0"/><line nr="34" mi="3" ci="0" mb="0" cb="0"/><line nr="35" mi="3" ci="0" mb="0" cb="0"/><line nr="36" mi="3" ci="0" mb="0" cb="0"/><line nr="37" mi="4" ci="0" mb="0" cb="0"/><line nr="41" mi="5" ci="0" mb="0" cb="0"/><line nr="43" mi="2" ci="0" mb="0" cb="0"/><line nr="44" mi="5" ci="0" mb="0" cb="0"/><line nr="45" mi="5" ci="0" mb="0" cb="0"/><line nr="46" mi="5" ci="0" mb="0" cb="0"/><line nr="47" mi="2" ci="0" mb="0" cb="0"/><line nr="48" mi="2" ci="0" mb="0" cb="0"/><line nr="49" mi="2" ci="0" mb="0" cb="0"/><line nr="50" mi="1" ci="0" mb="0" cb="0"/><line nr="53" mi="5" ci="0" mb="0" cb="0"/><line nr="54" mi="1" ci="0" mb="0" cb="0"/><line nr="57" mi="5" ci="0" mb="0" cb="0"/><line nr="58" mi="1" ci="0" mb="0" cb="0"/><line nr="61" mi="5" ci="0" mb="0" cb="0"/><line nr="62" mi="1" ci="0" mb="0" cb="0"/><line nr="66" mi="2" ci="0" mb="0" cb="0"/><line nr="67" mi="2" ci="0" mb="0" cb="0"/><line nr="68" mi="11" ci="0" mb="2" cb="0"/><line nr="69" mi="5" ci="0" mb="2" cb="0"/><line nr="70" mi="2" ci="0" mb="0" cb="0"/><line nr="71" mi="1" ci="0" mb="0" cb="0"/><line nr="73" mi="1" ci="0" mb="0" cb="0"/><line nr="75" mi="2" ci="0" mb="2" cb="0"/><line nr="76" mi="5" ci="0" mb="0" cb="0"/><line nr="77" mi="8" ci="0" mb="2" cb="0"/><line nr="78" mi="1" ci="0" mb="0" cb="0"/><line nr="81" mi="4" ci="0" mb="0" cb="0"/><line nr="85" mi="4" ci="0" mb="0" cb="0"/><line nr="89" mi="4" ci="0" mb="0" cb="0"/><line nr="93" mi="4" ci="0" mb="0" cb="0"/><line nr="94" mi="6" ci="0" mb="0" cb="0"/><line nr="95" mi="11" ci="0" mb="2" cb="0"/><line nr="96" mi="8" ci="0" mb="0" cb="0"/><line nr="97" mi="3" ci="0" mb="0" cb="0"/><line nr="101" mi="4" ci="0" mb="0" cb="0"/><line nr="102" mi="4" ci="0" mb="0" cb="0"/><line nr="103" mi="11" ci="0" mb="2" cb="0"/><line nr="104" mi="4" ci="0" mb="2" cb="0"/><line nr="105" mi="4" ci="0" mb="0" cb="0"/><line nr="106" mi="5" ci="0" mb="0" cb="0"/><line nr="107" mi="10" ci="0" mb="2" cb="0"/><line nr="108" mi="8" ci="0" mb="0" cb="0"/><line nr="109" mi="3" ci="0" mb="0" cb="0"/><line nr="113" mi="2" ci="0" mb="0" cb="0"/><line nr="114" mi="4" ci="0" mb="0" cb="0"/><line nr="115" mi="11" ci="0" mb="2" cb="0"/><line nr="116" mi="5" ci="0" mb="2" cb="0"/><line nr="117" mi="2" ci="0" mb="0" cb="0"/><line nr="118" mi="1" ci="0" mb="0" cb="0"/><line nr="120" mi="1" ci="0" mb="0" cb="0"/><line nr="121" mi="7" ci="0" mb="2" cb="0"/><line nr="123" mi="3" ci="0" mb="0" cb="0"/><line nr="124" mi="10" ci="0" mb="2" cb="0"/><line nr="125" mi="12" ci="0" mb="2" cb="0"/><line nr="126" mi="3" ci="0" mb="2" cb="0"/><line nr="127" mi="9" ci="0" mb="2" cb="0"/><line nr="129" mi="1" ci="0" mb="0" cb="0"/><line nr="130" mi="2" ci="0" mb="0" cb="0"/><line nr="135" mi="2" ci="0" mb="0" cb="0"/><line nr="136" mi="4" ci="0" mb="0" cb="0"/><line nr="137" mi="11" ci="0" mb="2" cb="0"/><line nr="138" mi="5" ci="0" mb="2" cb="0"/><line nr="139" mi="2" ci="0" mb="0" cb="0"/><line nr="140" mi="1" ci="0" mb="0" cb="0"/><line nr="142" mi="1" ci="0" mb="0" cb="0"/><line nr="143" mi="7" ci="0" mb="2" cb="0"/><line nr="145" mi="3" ci="0" mb="0" cb="0"/><line nr="146" mi="10" ci="0" mb="2" cb="0"/><line nr="147" mi="12" ci="0" mb="2" cb="0"/><line nr="148" mi="3" ci="0" mb="2" cb="0"/><line nr="149" mi="10" ci="0" mb="2" cb="0"/><line nr="151" mi="1" ci="0" mb="0" cb="0"/><line nr="152" mi="5" ci="0" mb="0" cb="0"/><line nr="153" mi="2" ci="0" mb="0" cb="0"/><line nr="158" mi="2" ci="0" mb="0" cb="0"/><line nr="160" mi="2" ci="0" mb="0" cb="0"/><line nr="161" mi="9" ci="0" mb="2" cb="0"/><line nr="162" mi="9" ci="0" mb="2" cb="0"/><line nr="163" mi="6" ci="0" mb="0" cb="0"/><line nr="164" mi="2" ci="0" mb="0" cb="0"/><line nr="165" mi="1" ci="0" mb="0" cb="0"/><line nr="169" mi="2" ci="0" mb="2" cb="0"/><line nr="170" mi="2" ci="0" mb="0" cb="0"/><line nr="171" mi="11" ci="0" mb="2" cb="0"/><line nr="172" mi="5" ci="0" mb="2" cb="0"/><line nr="173" mi="2" ci="0" mb="0" cb="0"/><line nr="174" mi="1" ci="0" mb="0" cb="0"/><line nr="176" mi="1" ci="0" mb="0" cb="0"/><line nr="177" mi="2" ci="0" mb="2" cb="0"/><line nr="178" mi="4" ci="0" mb="0" cb="0"/><line nr="180" mi="7" ci="0" mb="0" cb="0"/><line nr="181" mi="6" ci="0" mb="0" cb="0"/><line nr="182" mi="7" ci="0" mb="0" cb="0"/><line nr="184" mi="1" ci="0" mb="0" cb="0"/><line nr="187" mi="2" ci="0" mb="0" cb="0"/><line nr="189" mi="2" ci="0" mb="0" cb="0"/><line nr="191" mi="9" ci="0" mb="2" cb="0"/><line nr="192" mi="9" ci="0" mb="2" cb="0"/><line nr="193" mi="6" ci="0" mb="0" cb="0"/><line nr="194" mi="2" ci="0" mb="0" cb="0"/><line nr="195" mi="1" ci="0" mb="0" cb="0"/><line nr="199" mi="2" ci="0" mb="2" cb="0"/><line nr="200" mi="2" ci="0" mb="0" cb="0"/><line nr="201" mi="11" ci="0" mb="2" cb="0"/><line nr="202" mi="5" ci="0" mb="2" cb="0"/><line nr="203" mi="2" ci="0" mb="0" cb="0"/><line nr="204" mi="1" ci="0" mb="0" cb="0"/><line nr="206" mi="1" ci="0" mb="0" cb="0"/><line nr="207" mi="2" ci="0" mb="2" cb="0"/><line nr="208" mi="4" ci="0" mb="0" cb="0"/><line nr="210" mi="7" ci="0" mb="0" cb="0"/><line nr="211" mi="6" ci="0" mb="0" cb="0"/><line nr="213" mi="7" ci="0" mb="0" cb="0"/><line nr="215" mi="1" ci="0" mb="0" cb="0"/><line nr="218" mi="5" ci="0" mb="0" cb="0"/><line nr="219" mi="3" ci="0" mb="2" cb="0"/><line nr="221" mi="8" ci="0" mb="2" cb="0"/><line nr="222" mi="6" ci="0" mb="2" cb="0"/><line nr="223" mi="5" ci="0" mb="0" cb="0"/><line nr="224" mi="5" ci="0" mb="2" cb="0"/><line nr="226" mi="6" ci="0" mb="0" cb="0"/><line nr="227" mi="1" ci="0" mb="0" cb="0"/><line nr="228" mi="3" ci="0" mb="0" cb="0"/><line nr="229" mi="1" ci="0" mb="0" cb="0"/><line nr="233" mi="1" ci="0" mb="0" cb="0"/><line nr="236" mi="5" ci="0" mb="0" cb="0"/><line nr="237" mi="3" ci="0" mb="2" cb="0"/><line nr="239" mi="8" ci="0" mb="2" cb="0"/><line nr="240" mi="6" ci="0" mb="2" cb="0"/><line nr="241" mi="5" ci="0" mb="0" cb="0"/><line nr="242" mi="5" ci="0" mb="2" cb="0"/><line nr="244" mi="6" ci="0" mb="0" cb="0"/><line nr="245" mi="1" ci="0" mb="0" cb="0"/><line nr="246" mi="3" ci="0" mb="0" cb="0"/><line nr="247" mi="1" ci="0" mb="0" cb="0"/><line nr="251" mi="1" ci="0" mb="0" cb="0"/><line nr="254" mi="5" ci="0" mb="0" cb="0"/><line nr="255" mi="3" ci="0" mb="2" cb="0"/><line nr="257" mi="8" ci="0" mb="2" cb="0"/><line nr="258" mi="6" ci="0" mb="2" cb="0"/><line nr="259" mi="5" ci="0" mb="0" cb="0"/><line nr="260" mi="5" ci="0" mb="2" cb="0"/><line nr="262" mi="5" ci="0" mb="0" cb="0"/><line nr="263" mi="3" ci="0" mb="0" cb="0"/><line nr="264" mi="1" ci="0" mb="0" cb="0"/><line nr="265" mi="3" ci="0" mb="0" cb="0"/><line nr="266" mi="1" ci="0" mb="0" cb="0"/><line nr="268" mi="5" ci="0" mb="2" cb="0"/><line nr="270" mi="5" ci="0" mb="0" cb="0"/><line nr="271" mi="3" ci="0" mb="0" cb="0"/><line nr="272" mi="1" ci="0" mb="0" cb="0"/><line nr="273" mi="3" ci="0" mb="0" cb="0"/><line nr="274" mi="1" ci="0" mb="0" cb="0"/><line nr="278" mi="1" ci="0" mb="0" cb="0"/><line nr="282" mi="4" ci="0" mb="0" cb="0"/><line nr="283" mi="3" ci="0" mb="2" cb="0"/><line nr="286" mi="4" ci="0" mb="0" cb="0"/><line nr="287" mi="4" ci="0" mb="0" cb="0"/><line nr="290" mi="6" ci="0" mb="2" cb="0"/><line nr="291" mi="4" ci="0" mb="0" cb="0"/><line nr="292" mi="4" ci="0" mb="0" cb="0"/><line nr="293" mi="1" ci="0" mb="0" cb="0"/><line nr="294" mi="5" ci="0" mb="0" cb="0"/><line nr="295" mi="1" ci="0" mb="0" cb="0"/><line nr="298" mi="4" ci="0" mb="0" cb="0"/><line nr="299" mi="3" ci="0" mb="2" cb="0"/><line nr="302" mi="4" ci="0" mb="0" cb="0"/><line nr="303" mi="4" ci="0" mb="0" cb="0"/><line nr="306" mi="6" ci="0" mb="2" cb="0"/><line nr="307" mi="4" ci="0" mb="0" cb="0"/><line nr="308" mi="4" ci="0" mb="0" cb="0"/><line nr="309" mi="1" ci="0" mb="0" cb="0"/><line nr="310" mi="5" ci="0" mb="0" cb="0"/><line nr="311" mi="1" ci="0" mb="0" cb="0"/><line nr="314" mi="4" ci="0" mb="0" cb="0"/><line nr="315" mi="3" ci="0" mb="2" cb="0"/><line nr="318" mi="4" ci="0" mb="0" cb="0"/><line nr="319" mi="4" ci="0" mb="0" cb="0"/><line nr="322" mi="11" ci="0" mb="2" cb="0"/><line nr="324" mi="3" ci="0" mb="2" cb="0"/><line nr="325" mi="4" ci="0" mb="0" cb="0"/><line nr="327" mi="3" ci="0" mb="2" cb="0"/><line nr="328" mi="4" ci="0" mb="0" cb="0"/><line nr="330" mi="1" ci="0" mb="0" cb="0"/><line nr="331" mi="5" ci="0" mb="0" cb="0"/><line nr="332" mi="1" ci="0" mb="0" cb="0"/><line nr="335" mi="10" ci="0" mb="2" cb="0"/><line nr="336" mi="5" ci="0" mb="2" cb="0"/><line nr="337" mi="2" ci="0" mb="0" cb="0"/><line nr="339" mi="1" ci="0" mb="0" cb="0"/><line nr="341" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="830" covered="0"/><counter type="BRANCH" missed="114" covered="0"/><counter type="LINE" missed="201" covered="0"/><counter type="COMPLEXITY" missed="85" covered="0"/><counter type="METHOD" missed="28" covered="0"/><counter type="CLASS" missed="4" covered="0"/></sourcefile><sourcefile name="PlayList.java"><line nr="16" mi="2" ci="0" mb="0" cb="0"/><line nr="17" mi="3" ci="0" mb="0" cb="0"/><line nr="18" mi="4" ci="0" mb="0" cb="0"/><line nr="19" mi="3" ci="0" mb="0" cb="0"/><line nr="20" mi="1" ci="0" mb="0" cb="0"/><line nr="22" mi="2" ci="0" mb="0" cb="0"/><line nr="23" mi="3" ci="0" mb="0" cb="0"/><line nr="24" mi="3" ci="0" mb="0" cb="0"/><line nr="25" mi="5" ci="0" mb="0" cb="0"/><line nr="26" mi="1" ci="0" mb="0" cb="0"/><line nr="28" mi="2" ci="0" mb="0" cb="0"/><line nr="30" mi="8" ci="0" mb="0" cb="0"/><line nr="32" mi="2" ci="0" mb="0" cb="0"/><line nr="34" mi="7" ci="0" mb="0" cb="0"/><line nr="35" mi="1" ci="0" mb="0" cb="0"/><line nr="36" mi="3" ci="0" mb="0" cb="0"/><line nr="37" mi="1" ci="0" mb="0" cb="0"/><line nr="38" mi="5" ci="0" mb="4" cb="0"/><line nr="39" mi="4" ci="0" mb="0" cb="0"/><line nr="40" mi="4" ci="0" mb="0" cb="0"/><line nr="43" mi="6" ci="0" mb="0" cb="0"/><line nr="44" mi="3" ci="0" mb="0" cb="0"/><line nr="45" mi="3" ci="0" mb="2" cb="0"/><line nr="47" mi="5" ci="0" mb="0" cb="0"/><line nr="50" mi="8" ci="0" mb="2" cb="0"/><line nr="51" mi="6" ci="0" mb="2" cb="0"/><line nr="52" mi="5" ci="0" mb="0" cb="0"/><line nr="53" mi="5" ci="0" mb="2" cb="0"/><line nr="55" mi="5" ci="0" mb="0" cb="0"/><line nr="56" mi="1" ci="0" mb="0" cb="0"/><line nr="57" mi="2" ci="0" mb="0" cb="0"/><line nr="58" mi="1" ci="0" mb="0" cb="0"/><line nr="63" mi="1" ci="0" mb="0" cb="0"/><line nr="66" mi="5" ci="0" mb="0" cb="0"/><line nr="67" mi="1" ci="0" mb="0" cb="0"/><line nr="70" mi="3" ci="0" mb="0" cb="0"/><line nr="74" mi="3" ci="0" mb="0" cb="0"/><line nr="78" mi="4" ci="0" mb="0" cb="0"/><line nr="79" mi="4" ci="0" mb="0" cb="0"/><line nr="81" mi="4" ci="0" mb="0" cb="0"/><line nr="82" mi="7" ci="0" mb="0" cb="0"/><line nr="83" mi="4" ci="0" mb="0" cb="0"/><line nr="85" mi="4" ci="0" mb="0" cb="0"/><line nr="86" mi="8" ci="0" mb="0" cb="0"/><line nr="87" mi="4" ci="0" mb="0" cb="0"/><line nr="90" mi="4" ci="0" mb="0" cb="0"/><line nr="91" mi="11" ci="0" mb="2" cb="0"/><line nr="93" mi="4" ci="0" mb="0" cb="0"/><line nr="94" mi="7" ci="0" mb="0" cb="0"/><line nr="95" mi="4" ci="0" mb="0" cb="0"/><line nr="96" mi="1" ci="0" mb="0" cb="0"/><line nr="97" mi="4" ci="0" mb="0" cb="0"/><line nr="98" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="202" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="53" covered="0"/><counter type="COMPLEXITY" missed="14" covered="0"/><counter type="METHOD" missed="7" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="NoAlbumFoundException.java"><line nr="6" mi="3" ci="0" mb="0" cb="0"/><line nr="7" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="Album.java"><line nr="21" mi="2" ci="0" mb="0" cb="0"/><line nr="22" mi="3" ci="0" mb="0" cb="0"/><line nr="23" mi="3" ci="0" mb="0" cb="0"/><line nr="24" mi="3" ci="0" mb="0" cb="0"/><line nr="25" mi="4" ci="0" mb="0" cb="0"/><line nr="27" mi="5" ci="0" mb="0" cb="0"/><line nr="28" mi="5" ci="0" mb="0" cb="0"/><line nr="29" mi="1" ci="0" mb="0" cb="0"/><line nr="30" mi="2" ci="0" mb="0" cb="0"/><line nr="31" mi="1" ci="0" mb="0" cb="0"/><line nr="32" mi="3" ci="0" mb="0" cb="0"/><line nr="33" mi="1" ci="0" mb="0" cb="0"/><line nr="35" mi="2" ci="0" mb="0" cb="0"/><line nr="36" mi="3" ci="0" mb="0" cb="0"/><line nr="37" mi="3" ci="0" mb="0" cb="0"/><line nr="38" mi="3" ci="0" mb="0" cb="0"/><line nr="39" mi="3" ci="0" mb="0" cb="0"/><line nr="41" mi="5" ci="0" mb="0" cb="0"/><line nr="42" mi="5" ci="0" mb="0" cb="0"/><line nr="43" mi="1" ci="0" mb="0" cb="0"/><line nr="44" mi="2" ci="0" mb="0" cb="0"/><line nr="45" mi="1" ci="0" mb="0" cb="0"/><line nr="46" mi="5" ci="0" mb="0" cb="0"/><line nr="47" mi="1" ci="0" mb="0" cb="0"/><line nr="49" mi="2" ci="0" mb="0" cb="0"/><line nr="51" mi="8" ci="0" mb="0" cb="0"/><line nr="52" mi="9" ci="0" mb="0" cb="0"/><line nr="53" mi="2" ci="0" mb="0" cb="0"/><line nr="55" mi="7" ci="0" mb="0" cb="0"/><line nr="56" mi="1" ci="0" mb="0" cb="0"/><line nr="57" mi="3" ci="0" mb="0" cb="0"/><line nr="58" mi="1" ci="0" mb="0" cb="0"/><line nr="59" mi="5" ci="0" mb="4" cb="0"/><line nr="60" mi="4" ci="0" mb="0" cb="0"/><line nr="61" mi="4" ci="0" mb="0" cb="0"/><line nr="63" mi="5" ci="0" mb="0" cb="0"/><line nr="64" mi="10" ci="0" mb="0" cb="0"/><line nr="66" mi="6" ci="0" mb="0" cb="0"/><line nr="67" mi="3" ci="0" mb="0" cb="0"/><line nr="68" mi="3" ci="0" mb="2" cb="0"/><line nr="70" mi="5" ci="0" mb="0" cb="0"/><line nr="72" mi="8" ci="0" mb="2" cb="0"/><line nr="73" mi="6" ci="0" mb="2" cb="0"/><line nr="74" mi="5" ci="0" mb="0" cb="0"/><line nr="75" mi="5" ci="0" mb="2" cb="0"/><line nr="77" mi="5" ci="0" mb="0" cb="0"/><line nr="78" mi="1" ci="0" mb="0" cb="0"/><line nr="79" mi="2" ci="0" mb="0" cb="0"/><line nr="80" mi="1" ci="0" mb="0" cb="0"/><line nr="85" mi="1" ci="0" mb="0" cb="0"/><line nr="89" mi="5" ci="0" mb="0" cb="0"/><line nr="90" mi="1" ci="0" mb="0" cb="0"/><line nr="94" mi="3" ci="0" mb="0" cb="0"/><line nr="98" mi="3" ci="0" mb="0" cb="0"/><line nr="99" mi="2" ci="0" mb="0" cb="0"/><line nr="100" mi="2" ci="0" mb="0" cb="0"/><line nr="104" mi="3" ci="0" mb="0" cb="0"/><line nr="108" mi="3" ci="0" mb="0" cb="0"/><line nr="112" mi="4" ci="0" mb="0" cb="0"/><line nr="113" mi="4" ci="0" mb="0" cb="0"/><line nr="115" mi="4" ci="0" mb="0" cb="0"/><line nr="116" mi="7" ci="0" mb="0" cb="0"/><line nr="117" mi="4" ci="0" mb="0" cb="0"/><line nr="119" mi="4" ci="0" mb="0" cb="0"/><line nr="120" mi="7" ci="0" mb="0" cb="0"/><line nr="121" mi="4" ci="0" mb="0" cb="0"/><line nr="123" mi="4" ci="0" mb="0" cb="0"/><line nr="124" mi="9" ci="0" mb="0" cb="0"/><line nr="125" mi="4" ci="0" mb="0" cb="0"/><line nr="127" mi="4" ci="0" mb="0" cb="0"/><line nr="128" mi="8" ci="0" mb="0" cb="0"/><line nr="129" mi="4" ci="0" mb="0" cb="0"/><line nr="131" mi="4" ci="0" mb="0" cb="0"/><line nr="132" mi="5" ci="0" mb="0" cb="0"/><line nr="133" mi="9" ci="0" mb="0" cb="0"/><line nr="134" mi="4" ci="0" mb="0" cb="0"/><line nr="136" mi="4" ci="0" mb="0" cb="0"/><line nr="137" mi="11" ci="0" mb="2" cb="0"/><line nr="138" mi="4" ci="0" mb="0" cb="0"/><line nr="139" mi="7" ci="0" mb="0" cb="0"/><line nr="140" mi="4" ci="0" mb="0" cb="0"/><line nr="141" mi="1" ci="0" mb="0" cb="0"/><line nr="142" mi="4" ci="0" mb="0" cb="0"/><line nr="144" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="330" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="84" covered="0"/><counter type="COMPLEXITY" missed="16" covered="0"/><counter type="METHOD" missed="9" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="Language.java"><line nr="3" mi="3" ci="0" mb="0" cb="0"/><line nr="4" mi="35" ci="0" mb="0" cb="0"/><line nr="7" mi="4" ci="0" mb="0" cb="0"/><line nr="8" mi="3" ci="0" mb="0" cb="0"/><line nr="9" mi="1" ci="0" mb="0" cb="0"/><line nr="12" mi="3" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="49" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="Genre.java"><line nr="3" mi="3" ci="0" mb="0" cb="0"/><line nr="4" mi="42" ci="0" mb="0" cb="0"/><line nr="7" mi="4" ci="0" mb="0" cb="0"/><line nr="8" mi="3" ci="0" mb="0" cb="0"/><line nr="9" mi="1" ci="0" mb="0" cb="0"/><line nr="12" mi="3" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="56" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="NoPlayListFoundException.java"><line nr="6" mi="3" ci="0" mb="0" cb="0"/><line nr="7" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="AudioElement.java"><line nr="24" mi="2" ci="0" mb="0" cb="0"/><line nr="25" mi="3" ci="0" mb="0" cb="0"/><line nr="26" mi="3" ci="0" mb="0" cb="0"/><line nr="27" mi="3" ci="0" mb="0" cb="0"/><line nr="28" mi="4" ci="0" mb="0" cb="0"/><line nr="29" mi="3" ci="0" mb="0" cb="0"/><line nr="30" mi="1" ci="0" mb="0" cb="0"/><line nr="32" mi="2" ci="0" mb="0" cb="0"/><line nr="33" mi="3" ci="0" mb="0" cb="0"/><line nr="34" mi="3" ci="0" mb="0" cb="0"/><line nr="35" mi="3" ci="0" mb="0" cb="0"/><line nr="36" mi="3" ci="0" mb="0" cb="0"/><line nr="37" mi="3" ci="0" mb="0" cb="0"/><line nr="38" mi="1" ci="0" mb="0" cb="0"/><line nr="40" mi="2" ci="0" mb="0" cb="0"/><line nr="42" mi="8" ci="0" mb="0" cb="0"/><line nr="43" mi="8" ci="0" mb="0" cb="0"/><line nr="44" mi="9" ci="0" mb="0" cb="0"/><line nr="45" mi="8" ci="0" mb="0" cb="0"/><line nr="46" mi="2" ci="0" mb="0" cb="0"/><line nr="48" mi="7" ci="0" mb="0" cb="0"/><line nr="49" mi="1" ci="0" mb="0" cb="0"/><line nr="50" mi="3" ci="0" mb="0" cb="0"/><line nr="51" mi="1" ci="0" mb="0" cb="0"/><line nr="52" mi="5" ci="0" mb="4" cb="0"/><line nr="53" mi="4" ci="0" mb="0" cb="0"/><line nr="54" mi="4" ci="0" mb="0" cb="0"/><line nr="56" mi="1" ci="0" mb="0" cb="0"/><line nr="59" mi="3" ci="0" mb="0" cb="0"/><line nr="63" mi="3" ci="0" mb="0" cb="0"/><line nr="67" mi="3" ci="0" mb="0" cb="0"/><line nr="71" mi="10" ci="0" mb="0" cb="0"/><line nr="75" mi="4" ci="0" mb="0" cb="0"/><line nr="76" mi="7" ci="0" mb="0" cb="0"/><line nr="77" mi="4" ci="0" mb="0" cb="0"/><line nr="79" mi="4" ci="0" mb="0" cb="0"/><line nr="80" mi="7" ci="0" mb="0" cb="0"/><line nr="81" mi="4" ci="0" mb="0" cb="0"/><line nr="83" mi="4" ci="0" mb="0" cb="0"/><line nr="84" mi="9" ci="0" mb="0" cb="0"/><line nr="85" mi="4" ci="0" mb="0" cb="0"/><line nr="87" mi="4" ci="0" mb="0" cb="0"/><line nr="88" mi="8" ci="0" mb="0" cb="0"/><line nr="89" mi="4" ci="0" mb="0" cb="0"/><line nr="91" mi="4" ci="0" mb="0" cb="0"/><line nr="92" mi="7" ci="0" mb="0" cb="0"/><line nr="93" mi="4" ci="0" mb="0" cb="0"/><line nr="95" mi="1" ci="0" mb="0" cb="0"/><line nr="99" mi="5" ci="0" mb="0" cb="0"/><line nr="101" mi="6" ci="0" mb="0" cb="0"/><line nr="102" mi="3" ci="0" mb="0" cb="0"/><line nr="103" mi="2" ci="0" mb="0" cb="0"/><line nr="104" mi="3" ci="0" mb="0" cb="0"/><line nr="106" mi="2" ci="0" mb="0" cb="0"/><line nr="108" mi="4" ci="0" mb="2" cb="0"/><line nr="109" mi="3" ci="0" mb="0" cb="0"/><line nr="110" mi="3" ci="0" mb="0" cb="0"/><line nr="111" mi="3" ci="0" mb="0" cb="0"/><line nr="112" mi="3" ci="0" mb="0" cb="0"/><line nr="114" mi="8" ci="0" mb="5" cb="0"/><line nr="115" mi="2" ci="0" mb="0" cb="0"/><line nr="116" mi="1" ci="0" mb="0" cb="0"/><line nr="117" mi="2" ci="0" mb="0" cb="0"/><line nr="118" mi="1" ci="0" mb="0" cb="0"/><line nr="119" mi="3" ci="0" mb="0" cb="0"/><line nr="120" mi="1" ci="0" mb="0" cb="0"/><line nr="121" mi="2" ci="0" mb="0" cb="0"/><line nr="122" mi="1" ci="0" mb="0" cb="0"/><line nr="123" mi="3" ci="0" mb="0" cb="0"/><line nr="125" mi="4" ci="0" mb="0" cb="0"/><line nr="128" mi="2" ci="0" mb="0" cb="0"/><line nr="130" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="266" covered="0"/><counter type="BRANCH" missed="11" covered="0"/><counter type="LINE" missed="72" covered="0"/><counter type="COMPLEXITY" missed="16" covered="0"/><counter type="METHOD" missed="9" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="NoElementFoundException.java"><line nr="6" mi="3" ci="0" mb="0" cb="0"/><line nr="7" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="PathValidation.java"><line nr="22" mi="0" ci="2" mb="0" cb="0"/><line nr="23" mi="0" ci="5" mb="0" cb="0"/><line nr="34" mi="0" ci="5" mb="0" cb="0"/><line nr="35" mi="0" ci="5" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="Category.java"><line nr="3" mi="3" ci="0" mb="0" cb="0"/><line nr="4" mi="35" ci="0" mb="0" cb="0"/><line nr="7" mi="4" ci="0" mb="0" cb="0"/><line nr="8" mi="3" ci="0" mb="0" cb="0"/><line nr="9" mi="1" ci="0" mb="0" cb="0"/><line nr="12" mi="3" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="49" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="AudioBook.java"><line nr="11" mi="7" ci="0" mb="0" cb="0"/><line nr="12" mi="3" ci="0" mb="0" cb="0"/><line nr="13" mi="3" ci="0" mb="0" cb="0"/><line nr="14" mi="1" ci="0" mb="0" cb="0"/><line nr="17" mi="6" ci="0" mb="0" cb="0"/><line nr="18" mi="3" ci="0" mb="0" cb="0"/><line nr="19" mi="3" ci="0" mb="0" cb="0"/><line nr="20" mi="1" ci="0" mb="0" cb="0"/><line nr="23" mi="3" ci="0" mb="0" cb="0"/><line nr="24" mi="8" ci="0" mb="0" cb="0"/><line nr="25" mi="8" ci="0" mb="0" cb="0"/><line nr="26" mi="1" ci="0" mb="0" cb="0"/><line nr="29" mi="3" ci="0" mb="0" cb="0"/><line nr="33" mi="9" ci="0" mb="5" cb="0"/><line nr="34" mi="4" ci="0" mb="0" cb="0"/><line nr="35" mi="4" ci="0" mb="0" cb="0"/><line nr="36" mi="4" ci="0" mb="0" cb="0"/><line nr="37" mi="4" ci="0" mb="0" cb="0"/><line nr="38" mi="3" ci="0" mb="0" cb="0"/><line nr="40" mi="1" ci="0" mb="0" cb="0"/><line nr="43" mi="3" ci="0" mb="0" cb="0"/><line nr="47" mi="9" ci="0" mb="5" cb="0"/><line nr="48" mi="4" ci="0" mb="0" cb="0"/><line nr="49" mi="4" ci="0" mb="0" cb="0"/><line nr="50" mi="4" ci="0" mb="0" cb="0"/><line nr="51" mi="4" ci="0" mb="0" cb="0"/><line nr="52" mi="3" ci="0" mb="0" cb="0"/><line nr="54" mi="1" ci="0" mb="0" cb="0"/><line nr="58" mi="8" ci="0" mb="0" cb="0"/><line nr="64" mi="4" ci="0" mb="0" cb="0"/><line nr="66" mi="4" ci="0" mb="0" cb="0"/><line nr="68" mi="4" ci="0" mb="0" cb="0"/><line nr="69" mi="8" ci="0" mb="0" cb="0"/><line nr="70" mi="4" ci="0" mb="0" cb="0"/><line nr="72" mi="4" ci="0" mb="0" cb="0"/><line nr="73" mi="8" ci="0" mb="0" cb="0"/><line nr="74" mi="4" ci="0" mb="0" cb="0"/><line nr="76" mi="4" ci="0" mb="0" cb="0"/><line nr="77" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="164" covered="0"/><counter type="BRANCH" missed="10" covered="0"/><counter type="LINE" missed="39" covered="0"/><counter type="COMPLEXITY" missed="17" covered="0"/><counter type="METHOD" missed="9" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="Song.java"><line nr="11" mi="7" ci="0" mb="0" cb="0"/><line nr="12" mi="3" ci="0" mb="0" cb="0"/><line nr="13" mi="1" ci="0" mb="0" cb="0"/><line nr="16" mi="6" ci="0" mb="0" cb="0"/><line nr="17" mi="3" ci="0" mb="0" cb="0"/><line nr="18" mi="1" ci="0" mb="0" cb="0"/><line nr="21" mi="3" ci="0" mb="0" cb="0"/><line nr="22" mi="8" ci="0" mb="0" cb="0"/><line nr="23" mi="1" ci="0" mb="0" cb="0"/><line nr="26" mi="4" ci="0" mb="0" cb="0"/><line nr="30" mi="9" ci="0" mb="6" cb="0"/><line nr="31" mi="4" ci="0" mb="0" cb="0"/><line nr="32" mi="4" ci="0" mb="0" cb="0"/><line nr="33" mi="4" ci="0" mb="0" cb="0"/><line nr="34" mi="4" ci="0" mb="0" cb="0"/><line nr="35" mi="4" ci="0" mb="0" cb="0"/><line nr="36" mi="3" ci="0" mb="0" cb="0"/><line nr="38" mi="1" ci="0" mb="0" cb="0"/><line nr="41" mi="6" ci="0" mb="0" cb="0"/><line nr="46" mi="4" ci="0" mb="0" cb="0"/><line nr="48" mi="4" ci="0" mb="0" cb="0"/><line nr="50" mi="4" ci="0" mb="0" cb="0"/><line nr="51" mi="8" ci="0" mb="0" cb="0"/><line nr="52" mi="4" ci="0" mb="0" cb="0"/><line nr="54" mi="4" ci="0" mb="0" cb="0"/><line nr="55" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="105" covered="0"/><counter type="BRANCH" missed="6" covered="0"/><counter type="LINE" missed="26" covered="0"/><counter type="COMPLEXITY" missed="12" covered="0"/><counter type="METHOD" missed="7" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><counter type="INSTRUCTION" missed="2063" covered="17"/><counter type="BRANCH" missed="169" covered="0"/><counter type="LINE" missed="499" covered="4"/><counter type="COMPLEXITY" missed="172" covered="2"/><counter type="METHOD" missed="81" covered="2"/><counter type="CLASS" missed="15" covered="1"/></package><package name="musichub/main"><class name="musichub/main/Main" sourcefilename="Main.java"><method name="&lt;init&gt;" desc="()V" line="14"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="main" desc="([Ljava/lang/String;)V" line="17"><counter type="INSTRUCTION" missed="548" covered="0"/><counter type="BRANCH" missed="40" covered="0"/><counter type="LINE" missed="185" covered="0"/><counter type="COMPLEXITY" missed="27" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="printAvailableCommands" desc="()V" line="252"><counter type="INSTRUCTION" missed="37" covered="0"/><counter type="LINE" missed="13" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="588" covered="0"/><counter type="BRANCH" missed="40" covered="0"/><counter type="LINE" missed="199" covered="0"/><counter type="COMPLEXITY" missed="29" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><sourcefile name="Main.java"><line nr="14" mi="3" ci="0" mb="0" cb="0"/><line nr="17" mi="4" ci="0" mb="0" cb="0"/><line nr="19" mi="3" ci="0" mb="0" cb="0"/><line nr="22" mi="5" ci="0" mb="0" cb="0"/><line nr="23" mi="3" ci="0" mb="0" cb="0"/><line nr="27" mi="5" ci="0" mb="2" cb="0"/><line nr="29" mi="4" ci="0" mb="2" cb="0"/><line nr="30" mi="4" ci="0" mb="14" cb="0"/><line nr="32" mi="2" ci="0" mb="0" cb="0"/><line nr="34" mi="1" ci="0" mb="0" cb="0"/><line nr="35" mi="3" ci="0" mb="0" cb="0"/><line nr="36" mi="1" ci="0" mb="0" cb="0"/><line nr="39" mi="4" ci="0" mb="0" cb="0"/><line nr="40" mi="1" ci="0" mb="0" cb="0"/><line nr="41" mi="3" ci="0" mb="0" cb="0"/><line nr="42" mi="1" ci="0" mb="0" cb="0"/><line nr="45" mi="3" ci="0" mb="0" cb="0"/><line nr="46" mi="4" ci="0" mb="0" cb="0"/><line nr="48" mi="3" ci="0" mb="0" cb="0"/><line nr="50" mi="4" ci="0" mb="0" cb="0"/><line nr="51" mi="3" ci="0" mb="0" cb="0"/><line nr="52" mi="1" ci="0" mb="0" cb="0"/><line nr="53" mi="5" ci="0" mb="0" cb="0"/><line nr="54" mi="1" ci="0" mb="0" cb="0"/><line nr="55" mi="1" ci="0" mb="0" cb="0"/><line nr="56" mi="3" ci="0" mb="0" cb="0"/><line nr="57" mi="1" ci="0" mb="0" cb="0"/><line nr="60" mi="3" ci="0" mb="0" cb="0"/><line nr="61" mi="4" ci="0" mb="0" cb="0"/><line nr="63" mi="3" ci="0" mb="0" cb="0"/><line nr="65" mi="4" ci="0" mb="0" cb="0"/><line nr="66" mi="5" ci="0" mb="0" cb="0"/><line nr="67" mi="3" ci="0" mb="0" cb="0"/><line nr="68" mi="4" ci="0" mb="0" cb="0"/><line nr="69" mi="1" ci="0" mb="0" cb="0"/><line nr="70" mi="5" ci="0" mb="0" cb="0"/><line nr="71" mi="1" ci="0" mb="0" cb="0"/><line nr="72" mi="1" ci="0" mb="0" cb="0"/><line nr="73" mi="3" ci="0" mb="0" cb="0"/><line nr="74" mi="1" ci="0" mb="0" cb="0"/><line nr="77" mi="4" ci="0" mb="0" cb="0"/><line nr="78" mi="1" ci="0" mb="0" cb="0"/><line nr="79" mi="3" ci="0" mb="0" cb="0"/><line nr="80" mi="1" ci="0" mb="0" cb="0"/><line nr="83" mi="3" ci="0" mb="0" cb="0"/><line nr="84" mi="3" ci="0" mb="0" cb="0"/><line nr="85" mi="3" ci="0" mb="0" cb="0"/><line nr="86" mi="3" ci="0" mb="0" cb="0"/><line nr="87" mi="3" ci="0" mb="0" cb="0"/><line nr="88" mi="3" ci="0" mb="0" cb="0"/><line nr="89" mi="3" ci="0" mb="0" cb="0"/><line nr="90" mi="3" ci="0" mb="0" cb="0"/><line nr="91" mi="4" ci="0" mb="0" cb="0"/><line nr="93" mi="3" ci="0" mb="0" cb="0"/><line nr="94" mi="3" ci="0" mb="0" cb="0"/><line nr="95" mi="3" ci="0" mb="2" cb="0"/><line nr="96" mi="3" ci="0" mb="0" cb="0"/><line nr="97" mi="3" ci="0" mb="0" cb="0"/><line nr="98" mi="1" ci="0" mb="0" cb="0"/><line nr="101" mi="9" ci="0" mb="0" cb="0"/><line nr="102" mi="3" ci="0" mb="0" cb="0"/><line nr="103" mi="3" ci="0" mb="0" cb="0"/><line nr="104" mi="3" ci="0" mb="0" cb="0"/><line nr="105" mi="10" ci="0" mb="2" cb="0"/><line nr="106" mi="3" ci="0" mb="0" cb="0"/><line nr="107" mi="1" ci="0" mb="0" cb="0"/><line nr="108" mi="3" ci="0" mb="0" cb="0"/><line nr="109" mi="1" ci="0" mb="0" cb="0"/><line nr="112" mi="3" ci="0" mb="0" cb="0"/><line nr="113" mi="3" ci="0" mb="0" cb="0"/><line nr="114" mi="3" ci="0" mb="0" cb="0"/><line nr="115" mi="3" ci="0" mb="0" cb="0"/><line nr="116" mi="3" ci="0" mb="0" cb="0"/><line nr="117" mi="3" ci="0" mb="0" cb="0"/><line nr="118" mi="4" ci="0" mb="0" cb="0"/><line nr="119" mi="3" ci="0" mb="0" cb="0"/><line nr="120" mi="3" ci="0" mb="0" cb="0"/><line nr="121" mi="8" ci="0" mb="0" cb="0"/><line nr="122" mi="3" ci="0" mb="0" cb="0"/><line nr="123" mi="3" ci="0" mb="0" cb="0"/><line nr="124" mi="3" ci="0" mb="0" cb="0"/><line nr="125" mi="10" ci="0" mb="2" cb="0"/><line nr="126" mi="3" ci="0" mb="0" cb="0"/><line nr="127" mi="1" ci="0" mb="0" cb="0"/><line nr="128" mi="3" ci="0" mb="0" cb="0"/><line nr="129" mi="1" ci="0" mb="0" cb="0"/><line nr="132" mi="3" ci="0" mb="0" cb="0"/><line nr="133" mi="3" ci="0" mb="0" cb="0"/><line nr="134" mi="3" ci="0" mb="0" cb="0"/><line nr="135" mi="3" ci="0" mb="2" cb="0"/><line nr="136" mi="4" ci="0" mb="0" cb="0"/><line nr="137" mi="7" ci="0" mb="2" cb="0"/><line nr="138" mi="1" ci="0" mb="0" cb="0"/><line nr="139" mi="3" ci="0" mb="0" cb="0"/><line nr="141" mi="3" ci="0" mb="0" cb="0"/><line nr="142" mi="3" ci="0" mb="0" cb="0"/><line nr="143" mi="3" ci="0" mb="2" cb="0"/><line nr="144" mi="4" ci="0" mb="0" cb="0"/><line nr="145" mi="4" ci="0" mb="0" cb="0"/><line nr="146" mi="1" ci="0" mb="0" cb="0"/><line nr="147" mi="3" ci="0" mb="0" cb="0"/><line nr="149" mi="4" ci="0" mb="0" cb="0"/><line nr="150" mi="1" ci="0" mb="0" cb="0"/><line nr="151" mi="4" ci="0" mb="0" cb="0"/><line nr="152" mi="1" ci="0" mb="0" cb="0"/><line nr="153" mi="3" ci="0" mb="0" cb="0"/><line nr="154" mi="1" ci="0" mb="0" cb="0"/><line nr="155" mi="3" ci="0" mb="0" cb="0"/><line nr="156" mi="1" ci="0" mb="0" cb="0"/><line nr="159" mi="3" ci="0" mb="0" cb="0"/><line nr="160" mi="3" ci="0" mb="0" cb="0"/><line nr="161" mi="3" ci="0" mb="0" cb="0"/><line nr="162" mi="3" ci="0" mb="0" cb="0"/><line nr="163" mi="3" ci="0" mb="0" cb="0"/><line nr="164" mi="3" ci="0" mb="0" cb="0"/><line nr="165" mi="3" ci="0" mb="0" cb="0"/><line nr="166" mi="3" ci="0" mb="0" cb="0"/><line nr="167" mi="4" ci="0" mb="0" cb="0"/><line nr="168" mi="3" ci="0" mb="0" cb="0"/><line nr="169" mi="3" ci="0" mb="0" cb="0"/><line nr="170" mi="3" ci="0" mb="0" cb="0"/><line nr="171" mi="3" ci="0" mb="0" cb="0"/><line nr="172" mi="10" ci="0" mb="0" cb="0"/><line nr="173" mi="3" ci="0" mb="0" cb="0"/><line nr="174" mi="3" ci="0" mb="0" cb="0"/><line nr="175" mi="3" ci="0" mb="0" cb="0"/><line nr="176" mi="10" ci="0" mb="2" cb="0"/><line nr="177" mi="1" ci="0" mb="0" cb="0"/><line nr="178" mi="3" ci="0" mb="0" cb="0"/><line nr="179" mi="1" ci="0" mb="0" cb="0"/><line nr="182" mi="3" ci="0" mb="0" cb="0"/><line nr="183" mi="3" ci="0" mb="0" cb="0"/><line nr="184" mi="3" ci="0" mb="0" cb="0"/><line nr="185" mi="3" ci="0" mb="2" cb="0"/><line nr="186" mi="4" ci="0" mb="0" cb="0"/><line nr="187" mi="4" ci="0" mb="0" cb="0"/><line nr="188" mi="1" ci="0" mb="0" cb="0"/><line nr="189" mi="3" ci="0" mb="0" cb="0"/><line nr="190" mi="3" ci="0" mb="0" cb="0"/><line nr="191" mi="5" ci="0" mb="0" cb="0"/><line nr="192" mi="3" ci="0" mb="0" cb="0"/><line nr="193" mi="3" ci="0" mb="0" cb="0"/><line nr="195" mi="3" ci="0" mb="0" cb="0"/><line nr="196" mi="3" ci="0" mb="2" cb="0"/><line nr="197" mi="4" ci="0" mb="0" cb="0"/><line nr="198" mi="4" ci="0" mb="0" cb="0"/><line nr="199" mi="1" ci="0" mb="0" cb="0"/><line nr="200" mi="5" ci="0" mb="2" cb="0"/><line nr="201" mi="3" ci="0" mb="0" cb="0"/><line nr="202" mi="3" ci="0" mb="0" cb="0"/><line nr="204" mi="4" ci="0" mb="0" cb="0"/><line nr="205" mi="1" ci="0" mb="0" cb="0"/><line nr="206" mi="4" ci="0" mb="0" cb="0"/><line nr="207" mi="1" ci="0" mb="0" cb="0"/><line nr="209" mi="3" ci="0" mb="0" cb="0"/><line nr="210" mi="3" ci="0" mb="0" cb="0"/><line nr="211" mi="1" ci="0" mb="0" cb="0"/><line nr="212" mi="3" ci="0" mb="0" cb="0"/><line nr="213" mi="1" ci="0" mb="0" cb="0"/><line nr="214" mi="3" ci="0" mb="0" cb="0"/><line nr="215" mi="1" ci="0" mb="0" cb="0"/><line nr="218" mi="3" ci="0" mb="0" cb="0"/><line nr="219" mi="3" ci="0" mb="0" cb="0"/><line nr="220" mi="3" ci="0" mb="2" cb="0"/><line nr="221" mi="4" ci="0" mb="0" cb="0"/><line nr="222" mi="4" ci="0" mb="0" cb="0"/><line nr="223" mi="1" ci="0" mb="0" cb="0"/><line nr="224" mi="3" ci="0" mb="0" cb="0"/><line nr="226" mi="3" ci="0" mb="0" cb="0"/><line nr="227" mi="1" ci="0" mb="0" cb="0"/><line nr="228" mi="4" ci="0" mb="0" cb="0"/><line nr="229" mi="1" ci="0" mb="0" cb="0"/><line nr="230" mi="3" ci="0" mb="0" cb="0"/><line nr="231" mi="1" ci="0" mb="0" cb="0"/><line nr="232" mi="3" ci="0" mb="0" cb="0"/><line nr="233" mi="1" ci="0" mb="0" cb="0"/><line nr="236" mi="2" ci="0" mb="0" cb="0"/><line nr="237" mi="2" ci="0" mb="0" cb="0"/><line nr="238" mi="2" ci="0" mb="0" cb="0"/><line nr="239" mi="3" ci="0" mb="0" cb="0"/><line nr="240" mi="1" ci="0" mb="0" cb="0"/><line nr="241" mi="3" ci="0" mb="0" cb="0"/><line nr="242" mi="1" ci="0" mb="0" cb="0"/><line nr="245" mi="1" ci="0" mb="0" cb="0"/><line nr="248" mi="2" ci="0" mb="0" cb="0"/><line nr="249" mi="1" ci="0" mb="0" cb="0"/><line nr="252" mi="3" ci="0" mb="0" cb="0"/><line nr="253" mi="3" ci="0" mb="0" cb="0"/><line nr="254" mi="3" ci="0" mb="0" cb="0"/><line nr="255" mi="3" ci="0" mb="0" cb="0"/><line nr="256" mi="3" ci="0" mb="0" cb="0"/><line nr="257" mi="3" ci="0" mb="0" cb="0"/><line nr="258" mi="3" ci="0" mb="0" cb="0"/><line nr="259" mi="3" ci="0" mb="0" cb="0"/><line nr="260" mi="3" ci="0" mb="0" cb="0"/><line nr="261" mi="3" ci="0" mb="0" cb="0"/><line nr="262" mi="3" ci="0" mb="0" cb="0"/><line nr="263" mi="3" ci="0" mb="0" cb="0"/><line nr="264" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="588" covered="0"/><counter type="BRANCH" missed="40" covered="0"/><counter type="LINE" missed="199" covered="0"/><counter type="COMPLEXITY" missed="29" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><counter type="INSTRUCTION" missed="588" covered="0"/><counter type="BRANCH" missed="40" covered="0"/><counter type="LINE" missed="199" covered="0"/><counter type="COMPLEXITY" missed="29" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></package><counter type="INSTRUCTION" missed="2723" covered="17"/><counter type="BRANCH" missed="209" covered="0"/><counter type="LINE" missed="723" covered="4"/><counter type="COMPLEXITY" missed="205" covered="2"/><counter type="METHOD" missed="88" covered="2"/><counter type="CLASS" missed="17" covered="1"/></report>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.business/Album.html b/target/site/jacoco/musichub.business/Album.html
          new file mode 100644
          index 0000000..24287ce
          --- /dev/null
          +++ b/target/site/jacoco/musichub.business/Album.html
          @@ -0,0 +1 @@
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Album</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.html" class="el_package">musichub.business</a> &gt; <span class="el_class">Album</span></div><h1>Album</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">330 of 330</td><td class="ctr2">0 %</td><td class="bar">14 of 14</td><td class="ctr2">0 %</td><td class="ctr1">16</td><td class="ctr2">16</td><td class="ctr1">84</td><td class="ctr2">84</td><td class="ctr1">9</td><td class="ctr2">9</td></tr></tfoot><tbody><tr><td id="a4"><a href="Album.java.html#L112" class="el_method">createXMLElement(Document, Element)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="129" alt="129"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="20" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0 %</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h0">26</td><td class="ctr2" id="i0">26</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="Album.java.html#L49" class="el_method">Album(Element)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="104" height="10" title="112" alt="112"/></td><td class="ctr2" id="c1">0 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="12" alt="12"/></td><td class="ctr2" id="e1">0 %</td><td class="ctr1" id="f0">7</td><td class="ctr2" id="g0">7</td><td class="ctr1" id="h1">26</td><td class="ctr2" id="i1">26</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="Album.java.html#L35" class="el_method">Album(String, String, int, String)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="31" height="10" title="34" alt="34"/></td><td class="ctr2" id="c2">0 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">12</td><td class="ctr2" id="i2">12</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="Album.java.html#L21" class="el_method">Album(String, String, int, String, String, ArrayList)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="30" height="10" title="33" alt="33"/></td><td class="ctr2" id="c3">0 %</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">12</td><td class="ctr2" id="i3">12</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a7"><a href="Album.java.html#L98" class="el_method">getSongsRandomly()</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="6" height="10" title="7" alt="7"/></td><td class="ctr2" id="c4">0 %</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">3</td><td class="ctr2" id="i4">3</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a0"><a href="Album.java.html#L89" class="el_method">addSong(UUID)</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="5" height="10" title="6" alt="6"/></td><td class="ctr2" id="c5">0 %</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">2</td><td class="ctr2" id="i5">2</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a6"><a href="Album.java.html#L94" class="el_method">getSongs()</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="2" height="10" title="3" alt="3"/></td><td class="ctr2" id="c6">0 %</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">1</td><td class="ctr2" id="i6">1</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a8"><a href="Album.java.html#L104" class="el_method">getTitle()</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="2" height="10" title="3" alt="3"/></td><td class="ctr2" id="c7">0 %</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">1</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">1</td><td class="ctr2" id="i7">1</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a5"><a href="Album.java.html#L108" class="el_method">getDate()</a></td><td class="bar" id="b8"><img src="../jacoco-resources/redbar.gif" width="2" height="10" title="3" alt="3"/></td><td class="ctr2" id="c8">0 %</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">1</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h8">1</td><td class="ctr2" id="i8">1</td><td class="ctr1" id="j8">1</td><td class="ctr2" id="k8">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.business/Album.java.html b/target/site/jacoco/musichub.business/Album.java.html
          new file mode 100644
          index 0000000..107bbe9
          --- /dev/null
          +++ b/target/site/jacoco/musichub.business/Album.java.html
          @@ -0,0 +1,146 @@
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Album.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.source.html" class="el_package">musichub.business</a> &gt; <span class="el_source">Album.java</span></div><h1>Album.java</h1><pre class="source lang-java linenums">package musichub.business;
          +
          +import org.w3c.dom.Document;
          +import org.w3c.dom.Element;
          +import org.w3c.dom.Node;
          +import org.w3c.dom.NodeList;
          +
          +import java.text.ParseException;
          +import java.text.SimpleDateFormat;
          +import java.util.*;
          +
          +
          +public class Album {
          +    private final String title;
          +    private final int lengthInSeconds;
          +    private final UUID uuid;
          +    private String artist;
          +    private Date date;
          +    private ArrayList&lt;UUID&gt; songsUIDs;
          +
          +<span class="nc" id="L21">    public Album(String title, String artist, int lengthInSeconds, String id, String date, ArrayList&lt;UUID&gt; songsUIDs) {</span>
          +<span class="nc" id="L22">        this.title = title;</span>
          +<span class="nc" id="L23">        this.artist = artist;</span>
          +<span class="nc" id="L24">        this.lengthInSeconds = lengthInSeconds;</span>
          +<span class="nc" id="L25">        this.uuid = UUID.fromString(id);</span>
          +        try {
          +<span class="nc" id="L27">            SimpleDateFormat sdf = new SimpleDateFormat(&quot;yyyy-MM-dd&quot;);</span>
          +<span class="nc" id="L28">            this.date = sdf.parse(date);</span>
          +<span class="nc" id="L29">        } catch (ParseException ex) {</span>
          +<span class="nc" id="L30">            ex.printStackTrace();</span>
          +<span class="nc" id="L31">        }</span>
          +<span class="nc" id="L32">        this.songsUIDs = songsUIDs;</span>
          +<span class="nc" id="L33">    }</span>
          +
          +<span class="nc" id="L35">    public Album(String title, String artist, int lengthInSeconds, String date) {</span>
          +<span class="nc" id="L36">        this.title = title;</span>
          +<span class="nc" id="L37">        this.artist = artist;</span>
          +<span class="nc" id="L38">        this.lengthInSeconds = lengthInSeconds;</span>
          +<span class="nc" id="L39">        this.uuid = UUID.randomUUID();</span>
          +        try {
          +<span class="nc" id="L41">            SimpleDateFormat sdf = new SimpleDateFormat(&quot;yyyy-MM-dd&quot;);</span>
          +<span class="nc" id="L42">            this.date = sdf.parse(date);</span>
          +<span class="nc" id="L43">        } catch (ParseException ex) {</span>
          +<span class="nc" id="L44">            ex.printStackTrace();</span>
          +<span class="nc" id="L45">        }</span>
          +<span class="nc" id="L46">        this.songsUIDs = new ArrayList&lt;&gt;();</span>
          +<span class="nc" id="L47">    }</span>
          +
          +<span class="nc" id="L49">    public Album(Element xmlElement) throws Exception {</span>
          +        {
          +<span class="nc" id="L51">            this.title = xmlElement.getElementsByTagName(&quot;title&quot;).item(0).getTextContent();</span>
          +<span class="nc" id="L52">            this.lengthInSeconds = Integer.parseInt(xmlElement.getElementsByTagName(&quot;lengthInSeconds&quot;).item(0).getTextContent());</span>
          +<span class="nc" id="L53">            String uuid = null;</span>
          +            try {
          +<span class="nc" id="L55">                uuid = xmlElement.getElementsByTagName(&quot;UUID&quot;).item(0).getTextContent();</span>
          +<span class="nc" id="L56">            } catch (Exception ex) {</span>
          +<span class="nc" id="L57">                System.out.println(&quot;Empty album UUID, will create a new one&quot;);</span>
          +<span class="nc" id="L58">            }</span>
          +<span class="nc bnc" id="L59" title="All 4 branches missed.">            if ((uuid == null) || (uuid.isEmpty()))</span>
          +<span class="nc" id="L60">                this.uuid = UUID.randomUUID();</span>
          +<span class="nc" id="L61">            else this.uuid = UUID.fromString(uuid);</span>
          +
          +<span class="nc" id="L63">            SimpleDateFormat sdf = new SimpleDateFormat(&quot;yyyy-MM-dd&quot;);</span>
          +<span class="nc" id="L64">            this.date = sdf.parse(xmlElement.getElementsByTagName(&quot;date&quot;).item(0).getTextContent());</span>
          +            //parse list of songs:
          +<span class="nc" id="L66">            Node songsElement = xmlElement.getElementsByTagName(&quot;songs&quot;).item(0);</span>
          +<span class="nc" id="L67">            NodeList songUUIDNodes = songsElement.getChildNodes();</span>
          +<span class="nc bnc" id="L68" title="All 2 branches missed.">            if (songUUIDNodes == null) return;</span>
          +
          +<span class="nc" id="L70">            this.songsUIDs = new ArrayList&lt;&gt;();</span>
          +
          +<span class="nc bnc" id="L72" title="All 2 branches missed.">            for (int i = 0; i &lt; songUUIDNodes.getLength(); i++) {</span>
          +<span class="nc bnc" id="L73" title="All 2 branches missed.">                if (songUUIDNodes.item(i).getNodeType() == Node.ELEMENT_NODE) {</span>
          +<span class="nc" id="L74">                    Element songElement = (Element) songUUIDNodes.item(i);</span>
          +<span class="nc bnc" id="L75" title="All 2 branches missed.">                    if (songElement.getNodeName().equals(&quot;UUID&quot;)) {</span>
          +                        try {
          +<span class="nc" id="L77">                            this.addSong(UUID.fromString(songElement.getTextContent()));</span>
          +<span class="nc" id="L78">                        } catch (Exception ex) {</span>
          +<span class="nc" id="L79">                            ex.printStackTrace();</span>
          +<span class="nc" id="L80">                        }</span>
          +                    }
          +                }
          +            }
          +        }
          +<span class="nc" id="L85">    }</span>
          +
          +
          +    public void addSong(UUID song) {
          +<span class="nc" id="L89">        songsUIDs.add(song);</span>
          +<span class="nc" id="L90">    }</span>
          +
          +
          +    public List&lt;UUID&gt; getSongs() {
          +<span class="nc" id="L94">        return songsUIDs;</span>
          +    }
          +
          +    public ArrayList&lt;UUID&gt; getSongsRandomly() {
          +<span class="nc" id="L98">        ArrayList&lt;UUID&gt; shuffledSongs = songsUIDs;</span>
          +<span class="nc" id="L99">        Collections.shuffle(shuffledSongs);</span>
          +<span class="nc" id="L100">        return shuffledSongs;</span>
          +    }
          +
          +    public String getTitle() {
          +<span class="nc" id="L104">        return title;</span>
          +    }
          +
          +    public Date getDate() {
          +<span class="nc" id="L108">        return date;</span>
          +    }
          +
          +    public void createXMLElement(Document document, Element parentElement) {
          +<span class="nc" id="L112">        Element albumElement = document.createElement(&quot;album&quot;);</span>
          +<span class="nc" id="L113">        parentElement.appendChild(albumElement);</span>
          +
          +<span class="nc" id="L115">        Element nameElement = document.createElement(&quot;title&quot;);</span>
          +<span class="nc" id="L116">        nameElement.appendChild(document.createTextNode(title));</span>
          +<span class="nc" id="L117">        albumElement.appendChild(nameElement);</span>
          +
          +<span class="nc" id="L119">        Element artistElement = document.createElement(&quot;artist&quot;);</span>
          +<span class="nc" id="L120">        artistElement.appendChild(document.createTextNode(artist));</span>
          +<span class="nc" id="L121">        albumElement.appendChild(artistElement);</span>
          +
          +<span class="nc" id="L123">        Element lengthElement = document.createElement(&quot;lengthInSeconds&quot;);</span>
          +<span class="nc" id="L124">        lengthElement.appendChild(document.createTextNode(Integer.valueOf(lengthInSeconds).toString()));</span>
          +<span class="nc" id="L125">        albumElement.appendChild(lengthElement);</span>
          +
          +<span class="nc" id="L127">        Element UUIDElement = document.createElement(&quot;UUID&quot;);</span>
          +<span class="nc" id="L128">        UUIDElement.appendChild(document.createTextNode(uuid.toString()));</span>
          +<span class="nc" id="L129">        albumElement.appendChild(UUIDElement);</span>
          +
          +<span class="nc" id="L131">        Element dateElement = document.createElement(&quot;date&quot;);</span>
          +<span class="nc" id="L132">        SimpleDateFormat sdf = new SimpleDateFormat(&quot;yyyy-MM-dd&quot;);</span>
          +<span class="nc" id="L133">        dateElement.appendChild(document.createTextNode(sdf.format(date)));</span>
          +<span class="nc" id="L134">        albumElement.appendChild(dateElement);</span>
          +
          +<span class="nc" id="L136">        Element songsElement = document.createElement(&quot;songs&quot;);</span>
          +<span class="nc bnc" id="L137" title="All 2 branches missed.">        for (UUID currentUUID : this.songsUIDs) {</span>
          +<span class="nc" id="L138">            Element songUUIDElement = document.createElement(&quot;UUID&quot;);</span>
          +<span class="nc" id="L139">            songUUIDElement.appendChild(document.createTextNode(currentUUID.toString()));</span>
          +<span class="nc" id="L140">            songsElement.appendChild(songUUIDElement);</span>
          +<span class="nc" id="L141">        }</span>
          +<span class="nc" id="L142">        albumElement.appendChild(songsElement);</span>
          +
          +<span class="nc" id="L144">    }</span>
          +}
          +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.business/AudioBook.html b/target/site/jacoco/musichub.business/AudioBook.html
          new file mode 100644
          index 0000000..aec1e56
          --- /dev/null
          +++ b/target/site/jacoco/musichub.business/AudioBook.html
          @@ -0,0 +1 @@
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>AudioBook</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.html" class="el_package">musichub.business</a> &gt; <span class="el_class">AudioBook</span></div><h1>AudioBook</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">164 of 164</td><td class="ctr2">0 %</td><td class="bar">10 of 10</td><td class="ctr2">0 %</td><td class="ctr1">17</td><td class="ctr2">17</td><td class="ctr1">39</td><td class="ctr2">39</td><td class="ctr1">9</td><td class="ctr2">9</td></tr></tfoot><tbody><tr><td id="a3"><a href="AudioBook.java.html#L64" class="el_method">createXMLElement(Document, Element)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="45" alt="45"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h0">10</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a7"><a href="AudioBook.java.html#L33" class="el_method">setLanguage(String)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="77" height="10" title="29" alt="29"/></td><td class="ctr2" id="c1">0 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="5" alt="5"/></td><td class="ctr2" id="e0">0 %</td><td class="ctr1" id="f0">5</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h1">7</td><td class="ctr2" id="i1">7</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a6"><a href="AudioBook.java.html#L47" class="el_method">setCategory(String)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="77" height="10" title="29" alt="29"/></td><td class="ctr2" id="c2">0 %</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="5" alt="5"/></td><td class="ctr2" id="e1">0 %</td><td class="ctr1" id="f1">5</td><td class="ctr2" id="g1">5</td><td class="ctr1" id="h2">7</td><td class="ctr2" id="i2">7</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="AudioBook.java.html#L23" class="el_method">AudioBook(Element)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="53" height="10" title="20" alt="20"/></td><td class="ctr2" id="c3">0 %</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">4</td><td class="ctr2" id="i3">4</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a2"><a href="AudioBook.java.html#L11" class="el_method">AudioBook(String, String, int, String, String, String, String)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="37" height="10" title="14" alt="14"/></td><td class="ctr2" id="c4">0 %</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">4</td><td class="ctr2" id="i4">4</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a1"><a href="AudioBook.java.html#L17" class="el_method">AudioBook(String, String, int, String, String, String)</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="34" height="10" title="13" alt="13"/></td><td class="ctr2" id="c5">0 %</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">4</td><td class="ctr2" id="i5">4</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a8"><a href="AudioBook.java.html#L58" class="el_method">toString()</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="21" height="10" title="8" alt="8"/></td><td class="ctr2" id="c6">0 %</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">1</td><td class="ctr2" id="i6">1</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a5"><a href="AudioBook.java.html#L29" class="el_method">getLanguage()</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="3" alt="3"/></td><td class="ctr2" id="c7">0 %</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">1</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">1</td><td class="ctr2" id="i7">1</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a4"><a href="AudioBook.java.html#L43" class="el_method">getCategory()</a></td><td class="bar" id="b8"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="3" alt="3"/></td><td class="ctr2" id="c8">0 %</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">1</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h8">1</td><td class="ctr2" id="i8">1</td><td class="ctr1" id="j8">1</td><td class="ctr2" id="k8">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.business/AudioBook.java.html b/target/site/jacoco/musichub.business/AudioBook.java.html
          new file mode 100644
          index 0000000..33a7924
          --- /dev/null
          +++ b/target/site/jacoco/musichub.business/AudioBook.java.html
          @@ -0,0 +1,79 @@
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>AudioBook.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.source.html" class="el_package">musichub.business</a> &gt; <span class="el_source">AudioBook.java</span></div><h1>AudioBook.java</h1><pre class="source lang-java linenums">package musichub.business;
          +
          +import org.w3c.dom.Document;
          +import org.w3c.dom.Element;
          +
          +public class AudioBook extends AudioElement {
          +    private Language language;
          +    private Category category;
          +
          +    public AudioBook(String title, String artist, int lengthInSeconds, String uid, String content, String language, String category) {
          +<span class="nc" id="L11">        super(title, artist, lengthInSeconds, uid, content);</span>
          +<span class="nc" id="L12">        this.setLanguage(language);</span>
          +<span class="nc" id="L13">        this.setCategory(category);</span>
          +<span class="nc" id="L14">    }</span>
          +
          +    public AudioBook(String title, String artist, int lengthInSeconds, String content, String language, String category) {
          +<span class="nc" id="L17">        super(title, artist, lengthInSeconds, content);</span>
          +<span class="nc" id="L18">        this.setLanguage(language);</span>
          +<span class="nc" id="L19">        this.setCategory(category);</span>
          +<span class="nc" id="L20">    }</span>
          +
          +    public AudioBook(Element xmlElement) {
          +<span class="nc" id="L23">        super(xmlElement);</span>
          +<span class="nc" id="L24">        this.setLanguage(xmlElement.getElementsByTagName(&quot;language&quot;).item(0).getTextContent());</span>
          +<span class="nc" id="L25">        this.setCategory(xmlElement.getElementsByTagName(&quot;category&quot;).item(0).getTextContent());</span>
          +<span class="nc" id="L26">    }</span>
          +
          +    public Language getLanguage() {
          +<span class="nc" id="L29">        return this.language;</span>
          +    }
          +
          +    public void setLanguage(String language) {
          +<span class="nc bnc" id="L33" title="All 5 branches missed.">        switch (language.toLowerCase()) {</span>
          +<span class="nc" id="L34">            default -&gt; this.language = Language.ENGLISH;</span>
          +<span class="nc" id="L35">            case &quot;french&quot; -&gt; this.language = Language.FRENCH;</span>
          +<span class="nc" id="L36">            case &quot;german&quot; -&gt; this.language = Language.GERMAN;</span>
          +<span class="nc" id="L37">            case &quot;spanish&quot; -&gt; this.language = Language.SPANISH;</span>
          +<span class="nc" id="L38">            case &quot;italian&quot; -&gt; this.language = Language.ITALIAN;</span>
          +        }
          +<span class="nc" id="L40">    }</span>
          +
          +    public Category getCategory() {
          +<span class="nc" id="L43">        return this.category;</span>
          +    }
          +
          +    public void setCategory(String category) {
          +<span class="nc bnc" id="L47" title="All 5 branches missed.">        switch (category.toLowerCase()) {</span>
          +<span class="nc" id="L48">            default -&gt; this.category = Category.YOUTH;</span>
          +<span class="nc" id="L49">            case &quot;novel&quot; -&gt; this.category = Category.NOVEL;</span>
          +<span class="nc" id="L50">            case &quot;theater&quot; -&gt; this.category = Category.THEATER;</span>
          +<span class="nc" id="L51">            case &quot;documentary&quot; -&gt; this.category = Category.DOCUMENTARY;</span>
          +<span class="nc" id="L52">            case &quot;speech&quot; -&gt; this.category = Category.SPEECH;</span>
          +        }
          +<span class="nc" id="L54">    }</span>
          +
          +
          +    public String toString() {
          +<span class="nc" id="L58">        return super.toString() + &quot;, Language = &quot; + getLanguage() + &quot;, Category = &quot; + getCategory() + &quot;\n&quot;;</span>
          +    }
          +
          +
          +    public void createXMLElement(Document document, Element parentElement) {
          +        // audiobook element
          +<span class="nc" id="L64">        Element audioBook = document.createElement(&quot;audiobook&quot;);</span>
          +
          +<span class="nc" id="L66">        super.createXMLElement(document, audioBook);</span>
          +
          +<span class="nc" id="L68">        Element languageElement = document.createElement(&quot;language&quot;);</span>
          +<span class="nc" id="L69">        languageElement.appendChild(document.createTextNode(language.getLanguage()));</span>
          +<span class="nc" id="L70">        audioBook.appendChild(languageElement);</span>
          +
          +<span class="nc" id="L72">        Element categoryElement = document.createElement(&quot;category&quot;);</span>
          +<span class="nc" id="L73">        categoryElement.appendChild(document.createTextNode(category.getCategory()));</span>
          +<span class="nc" id="L74">        audioBook.appendChild(categoryElement);</span>
          +
          +<span class="nc" id="L76">        parentElement.appendChild(audioBook);</span>
          +<span class="nc" id="L77">    }</span>
          +}
          +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.business/AudioElement.html b/target/site/jacoco/musichub.business/AudioElement.html
          new file mode 100644
          index 0000000..7a6e499
          --- /dev/null
          +++ b/target/site/jacoco/musichub.business/AudioElement.html
          @@ -0,0 +1 @@
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>AudioElement</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.html" class="el_package">musichub.business</a> &gt; <span class="el_class">AudioElement</span></div><h1>AudioElement</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">266 of 266</td><td class="ctr2">0 %</td><td class="bar">11 of 11</td><td class="ctr2">0 %</td><td class="ctr1">16</td><td class="ctr2">16</td><td class="ctr1">72</td><td class="ctr2">72</td><td class="ctr1">9</td><td class="ctr2">9</td></tr></tfoot><tbody><tr><td id="a3"><a href="AudioElement.java.html#L75" class="el_method">createXMLElement(Document, Element)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="79" alt="79"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h1">16</td><td class="ctr2" id="i1">16</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a7"><a href="AudioElement.java.html#L99" class="el_method">manageAudioElement()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="103" height="10" title="68" alt="68"/></td><td class="ctr2" id="c1">0 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="7" alt="7"/></td><td class="ctr2" id="e0">0 %</td><td class="ctr1" id="f0">6</td><td class="ctr2" id="g0">6</td><td class="ctr1" id="h0">24</td><td class="ctr2" id="i0">24</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="AudioElement.java.html#L40" class="el_method">AudioElement(Element)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="95" height="10" title="63" alt="63"/></td><td class="ctr2" id="c2">0 %</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="68" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">0 %</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h2">14</td><td class="ctr2" id="i2">14</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a2"><a href="AudioElement.java.html#L24" class="el_method">AudioElement(String, String, int, String, String)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="28" height="10" title="19" alt="19"/></td><td class="ctr2" id="c3">0 %</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">7</td><td class="ctr2" id="i3">7</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a1"><a href="AudioElement.java.html#L32" class="el_method">AudioElement(String, String, int, String)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="27" height="10" title="18" alt="18"/></td><td class="ctr2" id="c4">0 %</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">7</td><td class="ctr2" id="i4">7</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a8"><a href="AudioElement.java.html#L71" class="el_method">toString()</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="15" height="10" title="10" alt="10"/></td><td class="ctr2" id="c5">0 %</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">1</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a6"><a href="AudioElement.java.html#L59" class="el_method">getUUID()</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="3" alt="3"/></td><td class="ctr2" id="c6">0 %</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">1</td><td class="ctr2" id="i6">1</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a4"><a href="AudioElement.java.html#L63" class="el_method">getArtist()</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="3" alt="3"/></td><td class="ctr2" id="c7">0 %</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">1</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">1</td><td class="ctr2" id="i7">1</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a5"><a href="AudioElement.java.html#L67" class="el_method">getTitle()</a></td><td class="bar" id="b8"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="3" alt="3"/></td><td class="ctr2" id="c8">0 %</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">1</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h8">1</td><td class="ctr2" id="i8">1</td><td class="ctr1" id="j8">1</td><td class="ctr2" id="k8">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.business/AudioElement.java.html b/target/site/jacoco/musichub.business/AudioElement.java.html
          new file mode 100644
          index 0000000..4401836
          --- /dev/null
          +++ b/target/site/jacoco/musichub.business/AudioElement.java.html
          @@ -0,0 +1,133 @@
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>AudioElement.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.source.html" class="el_package">musichub.business</a> &gt; <span class="el_source">AudioElement.java</span></div><h1>AudioElement.java</h1><pre class="source lang-java linenums">package musichub.business;
          +
          +import org.w3c.dom.Document;
          +import org.w3c.dom.Element;
          +
          +import java.io.File;
          +import java.io.IOException;
          +import java.util.Scanner;
          +import java.util.UUID;
          +
          +import javax.sound.sampled.AudioInputStream;
          +import javax.sound.sampled.AudioSystem;
          +import javax.sound.sampled.Clip;
          +import javax.sound.sampled.LineUnavailableException;
          +import javax.sound.sampled.UnsupportedAudioFileException;
          +
          +public abstract class AudioElement {
          +    protected String title;
          +    protected String artist;
          +    protected int lengthInSeconds;
          +    protected UUID uuid;
          +    protected String content;
          +
          +<span class="nc" id="L24">    public AudioElement(String title, String artist, int lengthInSeconds, String id, String content) {</span>
          +<span class="nc" id="L25">        this.title = title;</span>
          +<span class="nc" id="L26">        this.artist = artist;</span>
          +<span class="nc" id="L27">        this.lengthInSeconds = lengthInSeconds;</span>
          +<span class="nc" id="L28">        this.uuid = UUID.fromString(id);</span>
          +<span class="nc" id="L29">        this.content = content;</span>
          +<span class="nc" id="L30">    }</span>
          +
          +<span class="nc" id="L32">    public AudioElement(String title, String artist, int lengthInSeconds, String content) {</span>
          +<span class="nc" id="L33">        this.title = title;</span>
          +<span class="nc" id="L34">        this.artist = artist;</span>
          +<span class="nc" id="L35">        this.lengthInSeconds = lengthInSeconds;</span>
          +<span class="nc" id="L36">        this.content = content;</span>
          +<span class="nc" id="L37">        this.uuid = UUID.randomUUID();</span>
          +<span class="nc" id="L38">    }</span>
          +
          +<span class="nc" id="L40">    public AudioElement(Element xmlElement) {</span>
          +        {
          +<span class="nc" id="L42">            title = xmlElement.getElementsByTagName(&quot;title&quot;).item(0).getTextContent();</span>
          +<span class="nc" id="L43">            artist = xmlElement.getElementsByTagName(&quot;artist&quot;).item(0).getTextContent();</span>
          +<span class="nc" id="L44">            lengthInSeconds = Integer.parseInt(xmlElement.getElementsByTagName(&quot;length&quot;).item(0).getTextContent());</span>
          +<span class="nc" id="L45">            content = xmlElement.getElementsByTagName(&quot;content&quot;).item(0).getTextContent();</span>
          +<span class="nc" id="L46">            String uuid = null;</span>
          +            try {
          +<span class="nc" id="L48">                uuid = xmlElement.getElementsByTagName(&quot;UUID&quot;).item(0).getTextContent();</span>
          +<span class="nc" id="L49">            } catch (Exception ex) {</span>
          +<span class="nc" id="L50">                System.out.println(&quot;Empty element UUID, will create a new one&quot;);</span>
          +<span class="nc" id="L51">            }</span>
          +<span class="nc bnc" id="L52" title="All 4 branches missed.">            if ((uuid == null) || (uuid.isEmpty()))</span>
          +<span class="nc" id="L53">                this.uuid = UUID.randomUUID();</span>
          +<span class="nc" id="L54">            else this.uuid = UUID.fromString(uuid);</span>
          +        }
          +<span class="nc" id="L56">    }</span>
          +
          +    public UUID getUUID() {
          +<span class="nc" id="L59">        return this.uuid;</span>
          +    }
          +
          +    public String getArtist() {
          +<span class="nc" id="L63">        return this.artist;</span>
          +    }
          +
          +    public String getTitle() {
          +<span class="nc" id="L67">        return this.title;</span>
          +    }
          +
          +    public String toString() {
          +<span class="nc" id="L71">        return &quot;Title = &quot; + this.title + &quot;, Artist = &quot; + this.artist + &quot;, Length = &quot; + this.lengthInSeconds + &quot;, Content = &quot; + this.content;</span>
          +    }
          +
          +    public void createXMLElement(Document document, Element parentElement) {
          +<span class="nc" id="L75">        Element nameElement = document.createElement(&quot;title&quot;);</span>
          +<span class="nc" id="L76">        nameElement.appendChild(document.createTextNode(title));</span>
          +<span class="nc" id="L77">        parentElement.appendChild(nameElement);</span>
          +
          +<span class="nc" id="L79">        Element artistElement = document.createElement(&quot;artist&quot;);</span>
          +<span class="nc" id="L80">        artistElement.appendChild(document.createTextNode(artist));</span>
          +<span class="nc" id="L81">        parentElement.appendChild(artistElement);</span>
          +
          +<span class="nc" id="L83">        Element lengthElement = document.createElement(&quot;length&quot;);</span>
          +<span class="nc" id="L84">        lengthElement.appendChild(document.createTextNode(Integer.valueOf(lengthInSeconds).toString()));</span>
          +<span class="nc" id="L85">        parentElement.appendChild(lengthElement);</span>
          +
          +<span class="nc" id="L87">        Element UUIDElement = document.createElement(&quot;UUID&quot;);</span>
          +<span class="nc" id="L88">        UUIDElement.appendChild(document.createTextNode(uuid.toString()));</span>
          +<span class="nc" id="L89">        parentElement.appendChild(UUIDElement);</span>
          +
          +<span class="nc" id="L91">        Element contentElement = document.createElement(&quot;content&quot;);</span>
          +<span class="nc" id="L92">        contentElement.appendChild(document.createTextNode(content));</span>
          +<span class="nc" id="L93">        parentElement.appendChild(contentElement);</span>
          +
          +<span class="nc" id="L95">    }</span>
          +    
          +    public void manageAudioElement() throws UnsupportedAudioFileException, IOException, LineUnavailableException {
          +    	
          +<span class="nc" id="L99">    	Scanner scanner = new Scanner(System.in); </span>
          +    	
          +<span class="nc" id="L101">    	File file = new File(this.content);</span>
          +<span class="nc" id="L102">    	AudioInputStream audioStream = AudioSystem.getAudioInputStream(file);</span>
          +<span class="nc" id="L103">    	Clip clip = AudioSystem.getClip();</span>
          +<span class="nc" id="L104">    	clip.open(audioStream);</span>
          +    	
          +<span class="nc" id="L106">    	String action = &quot;&quot;;</span>
          +    			
          +<span class="nc bnc" id="L108" title="All 2 branches missed.">    	while(!action.equals(&quot;Q&quot;)) {</span>
          +<span class="nc" id="L109">    		System.out.println(&quot;P = Play \b S = Stop \b R = Reset \b Q = Quit&quot;);</span>
          +<span class="nc" id="L110">    		System.out.println(&quot;Enter your choice&quot;);</span>
          +<span class="nc" id="L111">    		action = scanner.next();</span>
          +<span class="nc" id="L112">        	action = action.toUpperCase();</span>
          +        	
          +<span class="nc bnc" id="L114" title="All 5 branches missed.">        	switch(action) {</span>
          +<span class="nc" id="L115">        		case &quot;S&quot; : clip.stop();</span>
          +<span class="nc" id="L116">        		break;</span>
          +<span class="nc" id="L117">        		case &quot;P&quot; : clip.start();</span>
          +<span class="nc" id="L118">        		break;</span>
          +<span class="nc" id="L119">        		case &quot;R&quot; : clip.setMicrosecondPosition(0);</span>
          +<span class="nc" id="L120">        		break;</span>
          +<span class="nc" id="L121">        		case &quot;Q&quot; : clip.stop();</span>
          +<span class="nc" id="L122">        		break;</span>
          +<span class="nc" id="L123">        		default : System.out.println(&quot;try again&quot;);</span>
          +        	}
          +<span class="nc" id="L125">        	System.out.println(&quot;You stoped the Audio element&quot;);</span>
          +    	}
          +    	
          +<span class="nc" id="L128">    	clip.close();</span>
          +    
          +<span class="nc" id="L130">    }</span>
          +
          +}
          +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.business/Category.html b/target/site/jacoco/musichub.business/Category.html
          new file mode 100644
          index 0000000..d7e4df0
          --- /dev/null
          +++ b/target/site/jacoco/musichub.business/Category.html
          @@ -0,0 +1 @@
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Category</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.html" class="el_package">musichub.business</a> &gt; <span class="el_class">Category</span></div><h1>Category</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">49 of 49</td><td class="ctr2">0 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="Category.java.html#L3" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="38" alt="38"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="Category.java.html#L7" class="el_method">Category(String, int, String)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="25" height="10" title="8" alt="8"/></td><td class="ctr2" id="c1">0 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h0">3</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="Category.java.html#L12" class="el_method">getCategory()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="9" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">0 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.business/Category.java.html b/target/site/jacoco/musichub.business/Category.java.html
          new file mode 100644
          index 0000000..cdef51f
          --- /dev/null
          +++ b/target/site/jacoco/musichub.business/Category.java.html
          @@ -0,0 +1,15 @@
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Category.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.source.html" class="el_package">musichub.business</a> &gt; <span class="el_source">Category.java</span></div><h1>Category.java</h1><pre class="source lang-java linenums">package musichub.business;
          +
          +<span class="nc" id="L3">public enum Category {</span>
          +<span class="nc" id="L4">    YOUTH(&quot;youth&quot;), NOVEL(&quot;novel&quot;), THEATER(&quot;theater&quot;), DOCUMENTARY(&quot;documentary&quot;), SPEECH(&quot;speech&quot;);</span>
          +    private final String category;
          +
          +<span class="nc" id="L7">    Category(String category) {</span>
          +<span class="nc" id="L8">        this.category = category;</span>
          +<span class="nc" id="L9">    }</span>
          +
          +    public String getCategory() {
          +<span class="nc" id="L12">        return category;</span>
          +    }
          +}
          +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.business/Genre.html b/target/site/jacoco/musichub.business/Genre.html
          new file mode 100644
          index 0000000..88e0ecd
          --- /dev/null
          +++ b/target/site/jacoco/musichub.business/Genre.html
          @@ -0,0 +1 @@
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Genre</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.html" class="el_package">musichub.business</a> &gt; <span class="el_class">Genre</span></div><h1>Genre</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">56 of 56</td><td class="ctr2">0 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="Genre.java.html#L3" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="45" alt="45"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="Genre.java.html#L7" class="el_method">Genre(String, int, String)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="21" height="10" title="8" alt="8"/></td><td class="ctr2" id="c1">0 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h0">3</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="Genre.java.html#L12" class="el_method">getGenre()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">0 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.business/Genre.java.html b/target/site/jacoco/musichub.business/Genre.java.html
          new file mode 100644
          index 0000000..021bb4b
          --- /dev/null
          +++ b/target/site/jacoco/musichub.business/Genre.java.html
          @@ -0,0 +1,15 @@
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Genre.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.source.html" class="el_package">musichub.business</a> &gt; <span class="el_source">Genre.java</span></div><h1>Genre.java</h1><pre class="source lang-java linenums">package musichub.business;
          +
          +<span class="nc" id="L3">public enum Genre {</span>
          +<span class="nc" id="L4">    JAZZ(&quot;jazz&quot;), CLASSIC(&quot;classic&quot;), HIPHOP(&quot;hiphop&quot;), ROCK(&quot;rock&quot;), POP(&quot;pop&quot;), RAP(&quot;rap&quot;);</span>
          +    private final String genre;
          +
          +<span class="nc" id="L7">    Genre(String genre) {</span>
          +<span class="nc" id="L8">        this.genre = genre;</span>
          +<span class="nc" id="L9">    }</span>
          +
          +    public String getGenre() {
          +<span class="nc" id="L12">        return genre;</span>
          +    }
          +}
          +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.business/Language.html b/target/site/jacoco/musichub.business/Language.html
          new file mode 100644
          index 0000000..604af85
          --- /dev/null
          +++ b/target/site/jacoco/musichub.business/Language.html
          @@ -0,0 +1 @@
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Language</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.html" class="el_package">musichub.business</a> &gt; <span class="el_class">Language</span></div><h1>Language</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">49 of 49</td><td class="ctr2">0 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="Language.java.html#L3" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="38" alt="38"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="Language.java.html#L7" class="el_method">Language(String, int, String)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="25" height="10" title="8" alt="8"/></td><td class="ctr2" id="c1">0 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h0">3</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="Language.java.html#L12" class="el_method">getLanguage()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="9" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">0 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.business/Language.java.html b/target/site/jacoco/musichub.business/Language.java.html
          new file mode 100644
          index 0000000..f974811
          --- /dev/null
          +++ b/target/site/jacoco/musichub.business/Language.java.html
          @@ -0,0 +1,15 @@
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Language.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.source.html" class="el_package">musichub.business</a> &gt; <span class="el_source">Language.java</span></div><h1>Language.java</h1><pre class="source lang-java linenums">package musichub.business;
          +
          +<span class="nc" id="L3">public enum Language {</span>
          +<span class="nc" id="L4">    FRENCH(&quot;french&quot;), ENGLISH(&quot;english&quot;), ITALIAN(&quot;italian&quot;), SPANISH(&quot;spanish&quot;), GERMAN(&quot;german&quot;);</span>
          +    private final String language;
          +
          +<span class="nc" id="L7">    Language(String language) {</span>
          +<span class="nc" id="L8">        this.language = language;</span>
          +<span class="nc" id="L9">    }</span>
          +
          +    public String getLanguage() {
          +<span class="nc" id="L12">        return language;</span>
          +    }
          +}
          +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.business/MusicHub.html b/target/site/jacoco/musichub.business/MusicHub.html
          new file mode 100644
          index 0000000..6bedc98
          --- /dev/null
          +++ b/target/site/jacoco/musichub.business/MusicHub.html
          @@ -0,0 +1 @@
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>MusicHub</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.html" class="el_package">musichub.business</a> &gt; <span class="el_class">MusicHub</span></div><h1>MusicHub</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">803 of 803</td><td class="ctr2">0 %</td><td class="bar">114 of 114</td><td class="ctr2">0 %</td><td class="ctr1">79</td><td class="ctr2">79</td><td class="ctr1">195</td><td class="ctr2">195</td><td class="ctr1">22</td><td class="ctr2">22</td></tr></tfoot><tbody><tr><td id="a2"><a href="MusicHub.java.html#L158" class="el_method">addElementToAlbum(String, String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="82" alt="82"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="102" height="10" title="12" alt="12"/></td><td class="ctr2" id="e0">0 %</td><td class="ctr1" id="f2">7</td><td class="ctr2" id="g2">7</td><td class="ctr1" id="h0">20</td><td class="ctr2" id="i0">20</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="MusicHub.java.html#L187" class="el_method">addElementToPlayList(String, String)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="82" alt="82"/></td><td class="ctr2" id="c1">0 %</td><td class="bar" id="d3"><img src="../jacoco-resources/redbar.gif" width="102" height="10" title="12" alt="12"/></td><td class="ctr2" id="e1">0 %</td><td class="ctr1" id="f3">7</td><td class="ctr2" id="g3">7</td><td class="ctr1" id="h1">20</td><td class="ctr2" id="i1">20</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a9"><a href="MusicHub.java.html#L135" class="el_method">getAlbumSongsSortedByGenre(String)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="115" height="10" title="79" alt="79"/></td><td class="ctr2" id="c2">0 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="14" alt="14"/></td><td class="ctr2" id="e2">0 %</td><td class="ctr1" id="f0">8</td><td class="ctr2" id="g0">8</td><td class="ctr1" id="h3">16</td><td class="ctr2" id="i3">16</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a8"><a href="MusicHub.java.html#L113" class="el_method">getAlbumSongs(String)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="106" height="10" title="73" alt="73"/></td><td class="ctr2" id="c3">0 %</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="14" alt="14"/></td><td class="ctr2" id="e3">0 %</td><td class="ctr1" id="f1">8</td><td class="ctr2" id="g1">8</td><td class="ctr1" id="h4">15</td><td class="ctr2" id="i4">15</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a14"><a href="MusicHub.java.html#L254" class="el_method">loadElements()</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="93" height="10" title="64" alt="64"/></td><td class="ctr2" id="c4">0 %</td><td class="bar" id="d4"><img src="../jacoco-resources/redbar.gif" width="85" height="10" title="10" alt="10"/></td><td class="ctr2" id="e4">0 %</td><td class="ctr1" id="f4">6</td><td class="ctr2" id="g4">6</td><td class="ctr1" id="h2">18</td><td class="ctr2" id="i2">18</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a11"><a href="MusicHub.java.html#L101" class="el_method">getAudiobooksTitlesSortedByAuthor()</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="77" height="10" title="53" alt="53"/></td><td class="ctr2" id="c5">0 %</td><td class="bar" id="d9"><img src="../jacoco-resources/redbar.gif" width="51" height="10" title="6" alt="6"/></td><td class="ctr2" id="e5">0 %</td><td class="ctr1" id="f9">4</td><td class="ctr2" id="g9">4</td><td class="ctr1" id="h11">9</td><td class="ctr2" id="i11">9</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a19"><a href="MusicHub.java.html#L314" class="el_method">saveElements()</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="68" height="10" title="47" alt="47"/></td><td class="ctr2" id="c6">0 %</td><td class="bar" id="d5"><img src="../jacoco-resources/redbar.gif" width="68" height="10" title="8" alt="8"/></td><td class="ctr2" id="e6">0 %</td><td class="ctr1" id="f5">5</td><td class="ctr2" id="g5">5</td><td class="ctr1" id="h5">12</td><td class="ctr2" id="i5">12</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a13"><a href="MusicHub.java.html#L218" class="el_method">loadAlbums()</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="64" height="10" title="44" alt="44"/></td><td class="ctr2" id="c7">0 %</td><td class="bar" id="d6"><img src="../jacoco-resources/redbar.gif" width="68" height="10" title="8" alt="8"/></td><td class="ctr2" id="e7">0 %</td><td class="ctr1" id="f6">5</td><td class="ctr2" id="g6">5</td><td class="ctr1" id="h6">11</td><td class="ctr2" id="i6">11</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a15"><a href="MusicHub.java.html#L236" class="el_method">loadPlaylists()</a></td><td class="bar" id="b8"><img src="../jacoco-resources/redbar.gif" width="64" height="10" title="44" alt="44"/></td><td class="ctr2" id="c8">0 %</td><td class="bar" id="d7"><img src="../jacoco-resources/redbar.gif" width="68" height="10" title="8" alt="8"/></td><td class="ctr2" id="e8">0 %</td><td class="ctr1" id="f7">5</td><td class="ctr2" id="g7">5</td><td class="ctr1" id="h7">11</td><td class="ctr2" id="i7">11</td><td class="ctr1" id="j8">1</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a6"><a href="MusicHub.java.html#L66" class="el_method">deletePlayList(String)</a></td><td class="bar" id="b9"><img src="../jacoco-resources/redbar.gif" width="58" height="10" title="40" alt="40"/></td><td class="ctr2" id="c9">0 %</td><td class="bar" id="d8"><img src="../jacoco-resources/redbar.gif" width="68" height="10" title="8" alt="8"/></td><td class="ctr2" id="e9">0 %</td><td class="ctr1" id="f8">5</td><td class="ctr2" id="g8">5</td><td class="ctr1" id="h8">11</td><td class="ctr2" id="i8">11</td><td class="ctr1" id="j9">1</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a18"><a href="MusicHub.java.html#L282" class="el_method">saveAlbums()</a></td><td class="bar" id="b10"><img src="../jacoco-resources/redbar.gif" width="52" height="10" title="36" alt="36"/></td><td class="ctr2" id="c10">0 %</td><td class="bar" id="d10"><img src="../jacoco-resources/redbar.gif" width="34" height="10" title="4" alt="4"/></td><td class="ctr2" id="e10">0 %</td><td class="ctr1" id="f10">3</td><td class="ctr2" id="g10">3</td><td class="ctr1" id="h9">10</td><td class="ctr2" id="i9">10</td><td class="ctr1" id="j10">1</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a20"><a href="MusicHub.java.html#L298" class="el_method">savePlayLists()</a></td><td class="bar" id="b11"><img src="../jacoco-resources/redbar.gif" width="52" height="10" title="36" alt="36"/></td><td class="ctr2" id="c11">0 %</td><td class="bar" id="d11"><img src="../jacoco-resources/redbar.gif" width="34" height="10" title="4" alt="4"/></td><td class="ctr2" id="e11">0 %</td><td class="ctr1" id="f11">3</td><td class="ctr2" id="g11">3</td><td class="ctr1" id="h10">10</td><td class="ctr2" id="i10">10</td><td class="ctr1" id="j11">1</td><td class="ctr2" id="k11">1</td></tr><tr><td id="a10"><a href="MusicHub.java.html#L93" class="el_method">getAlbumsTitlesSortedByDate()</a></td><td class="bar" id="b12"><img src="../jacoco-resources/redbar.gif" width="46" height="10" title="32" alt="32"/></td><td class="ctr2" id="c12">0 %</td><td class="bar" id="d13"><img src="../jacoco-resources/redbar.gif" width="17" height="10" title="2" alt="2"/></td><td class="ctr2" id="e12">0 %</td><td class="ctr1" id="f13">2</td><td class="ctr2" id="g13">2</td><td class="ctr1" id="h13">5</td><td class="ctr2" id="i13">5</td><td class="ctr1" id="j12">1</td><td class="ctr2" id="k12">1</td></tr><tr><td id="a16"><a href="MusicHub.java.html#L41" class="el_method">MusicHub()</a></td><td class="bar" id="b13"><img src="../jacoco-resources/redbar.gif" width="42" height="10" title="29" alt="29"/></td><td class="ctr2" id="c13">0 %</td><td class="bar" id="d14"/><td class="ctr2" id="e14">n/a</td><td class="ctr1" id="f14">1</td><td class="ctr2" id="g14">1</td><td class="ctr1" id="h12">9</td><td class="ctr2" id="i12">9</td><td class="ctr1" id="j13">1</td><td class="ctr2" id="k13">1</td></tr><tr><td id="a12"><a href="MusicHub.java.html#L335" class="el_method">getAudioElement(List, String)</a></td><td class="bar" id="b14"><img src="../jacoco-resources/redbar.gif" width="27" height="10" title="19" alt="19"/></td><td class="ctr2" id="c14">0 %</td><td class="bar" id="d12"><img src="../jacoco-resources/redbar.gif" width="34" height="10" title="4" alt="4"/></td><td class="ctr2" id="e13">0 %</td><td class="ctr1" id="f12">3</td><td class="ctr2" id="g12">3</td><td class="ctr1" id="h14">5</td><td class="ctr2" id="i14">5</td><td class="ctr1" id="j14">1</td><td class="ctr2" id="k14">1</td></tr><tr><td id="a21"><a href="MusicHub.java.html#L34" class="el_method">static {...}</a></td><td class="bar" id="b15"><img src="../jacoco-resources/redbar.gif" width="19" height="10" title="13" alt="13"/></td><td class="ctr2" id="c15">0 %</td><td class="bar" id="d15"/><td class="ctr2" id="e15">n/a</td><td class="ctr1" id="f15">1</td><td class="ctr2" id="g15">1</td><td class="ctr1" id="h15">4</td><td class="ctr2" id="i15">4</td><td class="ctr1" id="j15">1</td><td class="ctr2" id="k15">1</td></tr><tr><td id="a1"><a href="MusicHub.java.html#L53" class="el_method">addElement(AudioElement)</a></td><td class="bar" id="b16"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="6" alt="6"/></td><td class="ctr2" id="c16">0 %</td><td class="bar" id="d16"/><td class="ctr2" id="e16">n/a</td><td class="ctr1" id="f16">1</td><td class="ctr2" id="g16">1</td><td class="ctr1" id="h16">2</td><td class="ctr2" id="i16">2</td><td class="ctr1" id="j16">1</td><td class="ctr2" id="k16">1</td></tr><tr><td id="a0"><a href="MusicHub.java.html#L57" class="el_method">addAlbum(Album)</a></td><td class="bar" id="b17"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="6" alt="6"/></td><td class="ctr2" id="c17">0 %</td><td class="bar" id="d17"/><td class="ctr2" id="e17">n/a</td><td class="ctr1" id="f17">1</td><td class="ctr2" id="g17">1</td><td class="ctr1" id="h17">2</td><td class="ctr2" id="i17">2</td><td class="ctr1" id="j17">1</td><td class="ctr2" id="k17">1</td></tr><tr><td id="a4"><a href="MusicHub.java.html#L61" class="el_method">addPlaylist(PlayList)</a></td><td class="bar" id="b18"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="6" alt="6"/></td><td class="ctr2" id="c18">0 %</td><td class="bar" id="d18"/><td class="ctr2" id="e18">n/a</td><td class="ctr1" id="f18">1</td><td class="ctr2" id="g18">1</td><td class="ctr1" id="h18">2</td><td class="ctr2" id="i18">2</td><td class="ctr1" id="j18">1</td><td class="ctr2" id="k18">1</td></tr><tr><td id="a5"><a href="MusicHub.java.html#L81" class="el_method">albums()</a></td><td class="bar" id="b19"><img src="../jacoco-resources/redbar.gif" width="5" height="10" title="4" alt="4"/></td><td class="ctr2" id="c19">0 %</td><td class="bar" id="d19"/><td class="ctr2" id="e19">n/a</td><td class="ctr1" id="f19">1</td><td class="ctr2" id="g19">1</td><td class="ctr1" id="h19">1</td><td class="ctr2" id="i19">1</td><td class="ctr1" id="j19">1</td><td class="ctr2" id="k19">1</td></tr><tr><td id="a17"><a href="MusicHub.java.html#L85" class="el_method">playlists()</a></td><td class="bar" id="b20"><img src="../jacoco-resources/redbar.gif" width="5" height="10" title="4" alt="4"/></td><td class="ctr2" id="c20">0 %</td><td class="bar" id="d20"/><td class="ctr2" id="e20">n/a</td><td class="ctr1" id="f20">1</td><td class="ctr2" id="g20">1</td><td class="ctr1" id="h20">1</td><td class="ctr2" id="i20">1</td><td class="ctr1" id="j20">1</td><td class="ctr2" id="k20">1</td></tr><tr><td id="a7"><a href="MusicHub.java.html#L89" class="el_method">elements()</a></td><td class="bar" id="b21"><img src="../jacoco-resources/redbar.gif" width="5" height="10" title="4" alt="4"/></td><td class="ctr2" id="c21">0 %</td><td class="bar" id="d21"/><td class="ctr2" id="e21">n/a</td><td class="ctr1" id="f21">1</td><td class="ctr2" id="g21">1</td><td class="ctr1" id="h21">1</td><td class="ctr2" id="i21">1</td><td class="ctr1" id="j21">1</td><td class="ctr2" id="k21">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.business/MusicHub.java.html b/target/site/jacoco/musichub.business/MusicHub.java.html
          new file mode 100644
          index 0000000..b9dfd09
          --- /dev/null
          +++ b/target/site/jacoco/musichub.business/MusicHub.java.html
          @@ -0,0 +1,343 @@
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>MusicHub.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.source.html" class="el_package">musichub.business</a> &gt; <span class="el_source">MusicHub.java</span></div><h1>MusicHub.java</h1><pre class="source lang-java linenums">package musichub.business;
          +
          +import musichub.util.XMLHandler;
          +import org.w3c.dom.Document;
          +import org.w3c.dom.Element;
          +import org.w3c.dom.Node;
          +import org.w3c.dom.NodeList;
          +
          +import java.io.IOException;
          +import java.util.*;
          +
          +import javax.sound.sampled.LineUnavailableException;
          +import javax.sound.sampled.UnsupportedAudioFileException;
          +
          +<span class="nc" id="L15">class SortByDate implements Comparator&lt;Album&gt; {</span>
          +    public int compare(Album a1, Album a2) {
          +<span class="nc" id="L17">        return a1.getDate().compareTo(a2.getDate());</span>
          +    }
          +}
          +
          +<span class="nc" id="L21">class SortByGenre implements Comparator&lt;Song&gt; {</span>
          +    public int compare(Song s1, Song s2) {
          +<span class="nc" id="L23">        return s1.getGenre().compareTo(s2.getGenre());</span>
          +    }
          +}
          +
          +<span class="nc" id="L27">class SortByAuthor implements Comparator&lt;AudioElement&gt; {</span>
          +    public int compare(AudioElement e1, AudioElement e2) {
          +<span class="nc" id="L29">        return e1.getArtist().compareTo(e2.getArtist());</span>
          +    }
          +}
          +
          +public class MusicHub {
          +<span class="nc" id="L34">    public static final String DIR = System.getProperty(&quot;user.dir&quot;);</span>
          +<span class="nc" id="L35">    public static final String ALBUMS_FILE_PATH = DIR + &quot;/files/albums.xml&quot;;</span>
          +<span class="nc" id="L36">    public static final String PLAYLISTS_FILE_PATH = DIR + &quot;/files/playlists.xml&quot;;</span>
          +<span class="nc" id="L37">    public static final String ELEMENTS_FILE_PATH = DIR + &quot;/files/elements.xml&quot;;</span>
          +    private final List&lt;Album&gt; albums;
          +    private final List&lt;PlayList&gt; playlists;
          +    private final List&lt;AudioElement&gt; elements;
          +<span class="nc" id="L41">    private final XMLHandler xmlHandler = new XMLHandler();</span>
          +
          +<span class="nc" id="L43">    public MusicHub() {</span>
          +<span class="nc" id="L44">        albums = new LinkedList&lt;&gt;();</span>
          +<span class="nc" id="L45">        playlists = new LinkedList&lt;&gt;();</span>
          +<span class="nc" id="L46">        elements = new LinkedList&lt;&gt;();</span>
          +<span class="nc" id="L47">        this.loadElements();</span>
          +<span class="nc" id="L48">        this.loadAlbums();</span>
          +<span class="nc" id="L49">        this.loadPlaylists();</span>
          +<span class="nc" id="L50">    }</span>
          +
          +    public void addElement(AudioElement element) {
          +<span class="nc" id="L53">        elements.add(element);</span>
          +<span class="nc" id="L54">    }</span>
          +
          +    public void addAlbum(Album album) {
          +<span class="nc" id="L57">        albums.add(album);</span>
          +<span class="nc" id="L58">    }</span>
          +
          +    public void addPlaylist(PlayList playlist) {
          +<span class="nc" id="L61">        playlists.add(playlist);</span>
          +<span class="nc" id="L62">    }</span>
          +
          +    public void deletePlayList(String playListTitle) throws NoPlayListFoundException {
          +
          +<span class="nc" id="L66">        PlayList thePlayList = null;</span>
          +<span class="nc" id="L67">        boolean result = false;</span>
          +<span class="nc bnc" id="L68" title="All 2 branches missed.">        for (PlayList pl : playlists) {</span>
          +<span class="nc bnc" id="L69" title="All 2 branches missed.">            if (pl.getTitle().equalsIgnoreCase(playListTitle)) {</span>
          +<span class="nc" id="L70">                thePlayList = pl;</span>
          +<span class="nc" id="L71">                break;</span>
          +            }
          +<span class="nc" id="L73">        }</span>
          +
          +<span class="nc bnc" id="L75" title="All 2 branches missed.">        if (thePlayList != null)</span>
          +<span class="nc" id="L76">            result = playlists.remove(thePlayList);</span>
          +<span class="nc bnc" id="L77" title="All 2 branches missed.">        if (!result) throw new NoPlayListFoundException(&quot;Playlist &quot; + playListTitle + &quot; not found!&quot;);</span>
          +<span class="nc" id="L78">    }</span>
          +
          +    public Iterator&lt;Album&gt; albums() {
          +<span class="nc" id="L81">        return albums.listIterator();</span>
          +    }
          +
          +    public Iterator&lt;PlayList&gt; playlists() {
          +<span class="nc" id="L85">        return playlists.listIterator();</span>
          +    }
          +
          +    public Iterator&lt;AudioElement&gt; elements() {
          +<span class="nc" id="L89">        return elements.listIterator();</span>
          +    }
          +
          +    public String getAlbumsTitlesSortedByDate() {
          +<span class="nc" id="L93">        StringBuilder titleList = new StringBuilder();</span>
          +<span class="nc" id="L94">        albums.sort(new SortByDate());</span>
          +<span class="nc bnc" id="L95" title="All 2 branches missed.">        for (Album al : albums)</span>
          +<span class="nc" id="L96">            titleList.append(al.getTitle()).append(&quot;\n&quot;);</span>
          +<span class="nc" id="L97">        return titleList.toString();</span>
          +    }
          +
          +    public String getAudiobooksTitlesSortedByAuthor() {
          +<span class="nc" id="L101">        StringBuilder titleList = new StringBuilder();</span>
          +<span class="nc" id="L102">        List&lt;AudioElement&gt; audioBookList = new ArrayList&lt;&gt;();</span>
          +<span class="nc bnc" id="L103" title="All 2 branches missed.">        for (AudioElement ae : elements)</span>
          +<span class="nc bnc" id="L104" title="All 2 branches missed.">            if (ae instanceof AudioBook)</span>
          +<span class="nc" id="L105">                audioBookList.add(ae);</span>
          +<span class="nc" id="L106">        audioBookList.sort(new SortByAuthor());</span>
          +<span class="nc bnc" id="L107" title="All 2 branches missed.">        for (AudioElement ab : audioBookList)</span>
          +<span class="nc" id="L108">            titleList.append(ab.getArtist()).append(&quot;\n&quot;);</span>
          +<span class="nc" id="L109">        return titleList.toString();</span>
          +    }
          +
          +    public List&lt;AudioElement&gt; getAlbumSongs(String albumTitle) throws NoAlbumFoundException {
          +<span class="nc" id="L113">        Album theAlbum = null;</span>
          +<span class="nc" id="L114">        ArrayList&lt;AudioElement&gt; songsInAlbum = new ArrayList&lt;&gt;();</span>
          +<span class="nc bnc" id="L115" title="All 2 branches missed.">        for (Album al : albums) {</span>
          +<span class="nc bnc" id="L116" title="All 2 branches missed.">            if (al.getTitle().equalsIgnoreCase(albumTitle)) {</span>
          +<span class="nc" id="L117">                theAlbum = al;</span>
          +<span class="nc" id="L118">                break;</span>
          +            }
          +<span class="nc" id="L120">        }</span>
          +<span class="nc bnc" id="L121" title="All 2 branches missed.">        if (theAlbum == null) throw new NoAlbumFoundException(&quot;No album with this title in the MusicHub!&quot;);</span>
          +
          +<span class="nc" id="L123">        List&lt;UUID&gt; songIDs = theAlbum.getSongs();</span>
          +<span class="nc bnc" id="L124" title="All 2 branches missed.">        for (UUID id : songIDs)</span>
          +<span class="nc bnc" id="L125" title="All 2 branches missed.">            for (AudioElement el : elements) {</span>
          +<span class="nc bnc" id="L126" title="All 2 branches missed.">                if (el instanceof Song) {</span>
          +<span class="nc bnc" id="L127" title="All 2 branches missed.">                    if (el.getUUID().equals(id)) songsInAlbum.add(el);</span>
          +                }
          +<span class="nc" id="L129">            }</span>
          +<span class="nc" id="L130">        return songsInAlbum;</span>
          +
          +    }
          +
          +    public List&lt;Song&gt; getAlbumSongsSortedByGenre(String albumTitle) throws NoAlbumFoundException {
          +<span class="nc" id="L135">        Album theAlbum = null;</span>
          +<span class="nc" id="L136">        ArrayList&lt;Song&gt; songsInAlbum = new ArrayList&lt;&gt;();</span>
          +<span class="nc bnc" id="L137" title="All 2 branches missed.">        for (Album al : albums) {</span>
          +<span class="nc bnc" id="L138" title="All 2 branches missed.">            if (al.getTitle().equalsIgnoreCase(albumTitle)) {</span>
          +<span class="nc" id="L139">                theAlbum = al;</span>
          +<span class="nc" id="L140">                break;</span>
          +            }
          +<span class="nc" id="L142">        }</span>
          +<span class="nc bnc" id="L143" title="All 2 branches missed.">        if (theAlbum == null) throw new NoAlbumFoundException(&quot;No album with this title in the MusicHub!&quot;);</span>
          +
          +<span class="nc" id="L145">        List&lt;UUID&gt; songIDs = theAlbum.getSongs();</span>
          +<span class="nc bnc" id="L146" title="All 2 branches missed.">        for (UUID id : songIDs)</span>
          +<span class="nc bnc" id="L147" title="All 2 branches missed.">            for (AudioElement el : elements) {</span>
          +<span class="nc bnc" id="L148" title="All 2 branches missed.">                if (el instanceof Song) {</span>
          +<span class="nc bnc" id="L149" title="All 2 branches missed.">                    if (el.getUUID().equals(id)) songsInAlbum.add((Song) el);</span>
          +                }
          +<span class="nc" id="L151">            }</span>
          +<span class="nc" id="L152">        songsInAlbum.sort(new SortByGenre());</span>
          +<span class="nc" id="L153">        return songsInAlbum;</span>
          +
          +    }
          +
          +    public void addElementToAlbum(String elementTitle, String albumTitle) throws NoAlbumFoundException, NoElementFoundException {
          +<span class="nc" id="L158">        Album theAlbum = null;</span>
          +        int i;
          +<span class="nc" id="L160">        boolean found = false;</span>
          +<span class="nc bnc" id="L161" title="All 2 branches missed.">        for (i = 0; i &lt; albums.size(); i++) {</span>
          +<span class="nc bnc" id="L162" title="All 2 branches missed.">            if (albums.get(i).getTitle().equalsIgnoreCase(albumTitle)) {</span>
          +<span class="nc" id="L163">                theAlbum = albums.get(i);</span>
          +<span class="nc" id="L164">                found = true;</span>
          +<span class="nc" id="L165">                break;</span>
          +            }
          +        }
          +
          +<span class="nc bnc" id="L169" title="All 2 branches missed.">        if (found) {</span>
          +<span class="nc" id="L170">            AudioElement theElement = null;</span>
          +<span class="nc bnc" id="L171" title="All 2 branches missed.">            for (AudioElement ae : elements) {</span>
          +<span class="nc bnc" id="L172" title="All 2 branches missed.">                if (ae.getTitle().equalsIgnoreCase(elementTitle)) {</span>
          +<span class="nc" id="L173">                    theElement = ae;</span>
          +<span class="nc" id="L174">                    break;</span>
          +                }
          +<span class="nc" id="L176">            }</span>
          +<span class="nc bnc" id="L177" title="All 2 branches missed.">            if (theElement != null) {</span>
          +<span class="nc" id="L178">                theAlbum.addSong(theElement.getUUID());</span>
          +                //replace the album in the list
          +<span class="nc" id="L180">                albums.set(i, theAlbum);</span>
          +<span class="nc" id="L181">            } else throw new NoElementFoundException(&quot;Element &quot; + elementTitle + &quot; not found!&quot;);</span>
          +<span class="nc" id="L182">        } else throw new NoAlbumFoundException(&quot;Album &quot; + albumTitle + &quot; not found!&quot;);</span>
          +
          +<span class="nc" id="L184">    }</span>
          +
          +    public void addElementToPlayList(String elementTitle, String playListTitle) throws NoPlayListFoundException, NoElementFoundException {
          +<span class="nc" id="L187">        PlayList thePlaylist = null;</span>
          +        int i;
          +<span class="nc" id="L189">        boolean found = false;</span>
          +
          +<span class="nc bnc" id="L191" title="All 2 branches missed.">        for (i = 0; i &lt; playlists.size(); i++) {</span>
          +<span class="nc bnc" id="L192" title="All 2 branches missed.">            if (playlists.get(i).getTitle().equalsIgnoreCase(playListTitle)) {</span>
          +<span class="nc" id="L193">                thePlaylist = playlists.get(i);</span>
          +<span class="nc" id="L194">                found = true;</span>
          +<span class="nc" id="L195">                break;</span>
          +            }
          +        }
          +
          +<span class="nc bnc" id="L199" title="All 2 branches missed.">        if (found) {</span>
          +<span class="nc" id="L200">            AudioElement theElement = null;</span>
          +<span class="nc bnc" id="L201" title="All 2 branches missed.">            for (AudioElement ae : elements) {</span>
          +<span class="nc bnc" id="L202" title="All 2 branches missed.">                if (ae.getTitle().equalsIgnoreCase(elementTitle)) {</span>
          +<span class="nc" id="L203">                    theElement = ae;</span>
          +<span class="nc" id="L204">                    break;</span>
          +                }
          +<span class="nc" id="L206">            }</span>
          +<span class="nc bnc" id="L207" title="All 2 branches missed.">            if (theElement != null) {</span>
          +<span class="nc" id="L208">                thePlaylist.addElement(theElement.getUUID());</span>
          +                //replace the album in the list
          +<span class="nc" id="L210">                playlists.set(i, thePlaylist);</span>
          +<span class="nc" id="L211">            } else throw new NoElementFoundException(&quot;Element &quot; + elementTitle + &quot; not found!&quot;);</span>
          +
          +<span class="nc" id="L213">        } else throw new NoPlayListFoundException(&quot;Playlist &quot; + playListTitle + &quot; not found!&quot;);</span>
          +
          +<span class="nc" id="L215">    }</span>
          +
          +    private void loadAlbums() {
          +<span class="nc" id="L218">        NodeList albumNodes = xmlHandler.parseXMLFile(ALBUMS_FILE_PATH);</span>
          +<span class="nc bnc" id="L219" title="All 2 branches missed.">        if (albumNodes == null) return;</span>
          +
          +<span class="nc bnc" id="L221" title="All 2 branches missed.">        for (int i = 0; i &lt; albumNodes.getLength(); i++) {</span>
          +<span class="nc bnc" id="L222" title="All 2 branches missed.">            if (albumNodes.item(i).getNodeType() == Node.ELEMENT_NODE) {</span>
          +<span class="nc" id="L223">                Element albumElement = (Element) albumNodes.item(i);</span>
          +<span class="nc bnc" id="L224" title="All 2 branches missed.">                if (albumElement.getNodeName().equals(&quot;album&quot;)) {</span>
          +                    try {
          +<span class="nc" id="L226">                        this.addAlbum(new Album(albumElement));</span>
          +<span class="nc" id="L227">                    } catch (Exception ex) {</span>
          +<span class="nc" id="L228">                        System.out.println(&quot;Something is wrong with the XML album element&quot;);</span>
          +<span class="nc" id="L229">                    }</span>
          +                }
          +            }
          +        }
          +<span class="nc" id="L233">    }</span>
          +
          +    private void loadPlaylists() {
          +<span class="nc" id="L236">        NodeList playlistNodes = xmlHandler.parseXMLFile(PLAYLISTS_FILE_PATH);</span>
          +<span class="nc bnc" id="L237" title="All 2 branches missed.">        if (playlistNodes == null) return;</span>
          +
          +<span class="nc bnc" id="L239" title="All 2 branches missed.">        for (int i = 0; i &lt; playlistNodes.getLength(); i++) {</span>
          +<span class="nc bnc" id="L240" title="All 2 branches missed.">            if (playlistNodes.item(i).getNodeType() == Node.ELEMENT_NODE) {</span>
          +<span class="nc" id="L241">                Element playlistElement = (Element) playlistNodes.item(i);</span>
          +<span class="nc bnc" id="L242" title="All 2 branches missed.">                if (playlistElement.getNodeName().equals(&quot;playlist&quot;)) {</span>
          +                    try {
          +<span class="nc" id="L244">                        this.addPlaylist(new PlayList(playlistElement));</span>
          +<span class="nc" id="L245">                    } catch (Exception ex) {</span>
          +<span class="nc" id="L246">                        System.out.println(&quot;Something is wrong with the XML playlist element&quot;);</span>
          +<span class="nc" id="L247">                    }</span>
          +                }
          +            }
          +        }
          +<span class="nc" id="L251">    }</span>
          +
          +    private void loadElements() {
          +<span class="nc" id="L254">        NodeList audioelementsNodes = xmlHandler.parseXMLFile(ELEMENTS_FILE_PATH);</span>
          +<span class="nc bnc" id="L255" title="All 2 branches missed.">        if (audioelementsNodes == null) return;</span>
          +
          +<span class="nc bnc" id="L257" title="All 2 branches missed.">        for (int i = 0; i &lt; audioelementsNodes.getLength(); i++) {</span>
          +<span class="nc bnc" id="L258" title="All 2 branches missed.">            if (audioelementsNodes.item(i).getNodeType() == Node.ELEMENT_NODE) {</span>
          +<span class="nc" id="L259">                Element audioElement = (Element) audioelementsNodes.item(i);</span>
          +<span class="nc bnc" id="L260" title="All 2 branches missed.">                if (audioElement.getNodeName().equals(&quot;song&quot;)) {</span>
          +                    try {
          +<span class="nc" id="L262">                        AudioElement newSong = new Song(audioElement);</span>
          +<span class="nc" id="L263">                        this.addElement(newSong);</span>
          +<span class="nc" id="L264">                    } catch (Exception ex) {</span>
          +<span class="nc" id="L265">                        System.out.println(&quot;Something is wrong with the XML song element&quot;);</span>
          +<span class="nc" id="L266">                    }</span>
          +                }
          +<span class="nc bnc" id="L268" title="All 2 branches missed.">                if (audioElement.getNodeName().equals(&quot;audiobook&quot;)) {</span>
          +                    try {
          +<span class="nc" id="L270">                        AudioElement newAudioBook = new AudioBook(audioElement);</span>
          +<span class="nc" id="L271">                        this.addElement(newAudioBook);</span>
          +<span class="nc" id="L272">                    } catch (Exception ex) {</span>
          +<span class="nc" id="L273">                        System.out.println(&quot;Something is wrong with the XML audiobook element&quot;);</span>
          +<span class="nc" id="L274">                    }</span>
          +                }
          +            }
          +        }
          +<span class="nc" id="L278">    }</span>
          +
          +
          +    public void saveAlbums() {
          +<span class="nc" id="L282">        Document document = xmlHandler.createXMLDocument();</span>
          +<span class="nc bnc" id="L283" title="All 2 branches missed.">        if (document == null) return;</span>
          +
          +        // root element
          +<span class="nc" id="L286">        Element root = document.createElement(&quot;albums&quot;);</span>
          +<span class="nc" id="L287">        document.appendChild(root);</span>
          +
          +        //save all albums
          +<span class="nc bnc" id="L290" title="All 2 branches missed.">        for (Iterator&lt;Album&gt; albumsIter = this.albums(); albumsIter.hasNext(); ) {</span>
          +<span class="nc" id="L291">            Album currentAlbum = albumsIter.next();</span>
          +<span class="nc" id="L292">            currentAlbum.createXMLElement(document, root);</span>
          +<span class="nc" id="L293">        }</span>
          +<span class="nc" id="L294">        xmlHandler.createXMLFile(document, ALBUMS_FILE_PATH);</span>
          +<span class="nc" id="L295">    }</span>
          +
          +    public void savePlayLists() {
          +<span class="nc" id="L298">        Document document = xmlHandler.createXMLDocument();</span>
          +<span class="nc bnc" id="L299" title="All 2 branches missed.">        if (document == null) return;</span>
          +
          +        // root element
          +<span class="nc" id="L302">        Element root = document.createElement(&quot;playlists&quot;);</span>
          +<span class="nc" id="L303">        document.appendChild(root);</span>
          +
          +        //save all playlists
          +<span class="nc bnc" id="L306" title="All 2 branches missed.">        for (Iterator&lt;PlayList&gt; playlistsIter = this.playlists(); playlistsIter.hasNext(); ) {</span>
          +<span class="nc" id="L307">            PlayList currentPlayList = playlistsIter.next();</span>
          +<span class="nc" id="L308">            currentPlayList.createXMLElement(document, root);</span>
          +<span class="nc" id="L309">        }</span>
          +<span class="nc" id="L310">        xmlHandler.createXMLFile(document, PLAYLISTS_FILE_PATH);</span>
          +<span class="nc" id="L311">    }</span>
          +
          +    public void saveElements() {
          +<span class="nc" id="L314">        Document document = xmlHandler.createXMLDocument();</span>
          +<span class="nc bnc" id="L315" title="All 2 branches missed.">        if (document == null) return;</span>
          +
          +        // root element
          +<span class="nc" id="L318">        Element root = document.createElement(&quot;elements&quot;);</span>
          +<span class="nc" id="L319">        document.appendChild(root);</span>
          +
          +        //save all AudioElements
          +<span class="nc bnc" id="L322" title="All 2 branches missed.">        for (AudioElement currentElement : elements) {</span>
          +
          +<span class="nc bnc" id="L324" title="All 2 branches missed.">            if (currentElement instanceof Song) {</span>
          +<span class="nc" id="L325">                currentElement.createXMLElement(document, root);</span>
          +            }
          +<span class="nc bnc" id="L327" title="All 2 branches missed.">            if (currentElement instanceof AudioBook) {</span>
          +<span class="nc" id="L328">                currentElement.createXMLElement(document, root);</span>
          +            }
          +<span class="nc" id="L330">        }</span>
          +<span class="nc" id="L331">        xmlHandler.createXMLFile(document, ELEMENTS_FILE_PATH);</span>
          +<span class="nc" id="L332">    }</span>
          +    
          +    public void getAudioElement(List&lt;AudioElement&gt; audios, String elementTitle) throws NoAlbumFoundException, UnsupportedAudioFileException, IOException, LineUnavailableException {
          +<span class="nc bnc" id="L335" title="All 2 branches missed.">        for (AudioElement el : audios) {</span>
          +<span class="nc bnc" id="L336" title="All 2 branches missed.">            if (el.getTitle().equalsIgnoreCase(elementTitle)) {</span>
          +<span class="nc" id="L337">                el.manageAudioElement();</span>
          +            }
          +<span class="nc" id="L339">        }</span>
          +
          +<span class="nc" id="L341">    }</span>
          +}
          +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.business/NoAlbumFoundException.html b/target/site/jacoco/musichub.business/NoAlbumFoundException.html
          new file mode 100644
          index 0000000..51bf5be
          --- /dev/null
          +++ b/target/site/jacoco/musichub.business/NoAlbumFoundException.html
          @@ -0,0 +1 @@
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>NoAlbumFoundException</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.html" class="el_package">musichub.business</a> &gt; <span class="el_class">NoAlbumFoundException</span></div><h1>NoAlbumFoundException</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="NoAlbumFoundException.java.html#L6" class="el_method">NoAlbumFoundException(String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.business/NoAlbumFoundException.java.html b/target/site/jacoco/musichub.business/NoAlbumFoundException.java.html
          new file mode 100644
          index 0000000..d78347b
          --- /dev/null
          +++ b/target/site/jacoco/musichub.business/NoAlbumFoundException.java.html
          @@ -0,0 +1,9 @@
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>NoAlbumFoundException.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.source.html" class="el_package">musichub.business</a> &gt; <span class="el_source">NoAlbumFoundException.java</span></div><h1>NoAlbumFoundException.java</h1><pre class="source lang-java linenums">package musichub.business;
          +
          +public class NoAlbumFoundException extends Exception {
          +
          +    public NoAlbumFoundException(String msg) {
          +<span class="nc" id="L6">        super(msg);</span>
          +<span class="nc" id="L7">    }</span>
          +}
          +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.business/NoElementFoundException.html b/target/site/jacoco/musichub.business/NoElementFoundException.html
          new file mode 100644
          index 0000000..01fecbd
          --- /dev/null
          +++ b/target/site/jacoco/musichub.business/NoElementFoundException.html
          @@ -0,0 +1 @@
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>NoElementFoundException</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.html" class="el_package">musichub.business</a> &gt; <span class="el_class">NoElementFoundException</span></div><h1>NoElementFoundException</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="NoElementFoundException.java.html#L6" class="el_method">NoElementFoundException(String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.business/NoElementFoundException.java.html b/target/site/jacoco/musichub.business/NoElementFoundException.java.html
          new file mode 100644
          index 0000000..4d5f6bb
          --- /dev/null
          +++ b/target/site/jacoco/musichub.business/NoElementFoundException.java.html
          @@ -0,0 +1,9 @@
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>NoElementFoundException.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.source.html" class="el_package">musichub.business</a> &gt; <span class="el_source">NoElementFoundException.java</span></div><h1>NoElementFoundException.java</h1><pre class="source lang-java linenums">package musichub.business;
          +
          +public class NoElementFoundException extends Exception {
          +
          +    public NoElementFoundException(String msg) {
          +<span class="nc" id="L6">        super(msg);</span>
          +<span class="nc" id="L7">    }</span>
          +}
          +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.business/NoPlayListFoundException.html b/target/site/jacoco/musichub.business/NoPlayListFoundException.html
          new file mode 100644
          index 0000000..d1803ad
          --- /dev/null
          +++ b/target/site/jacoco/musichub.business/NoPlayListFoundException.html
          @@ -0,0 +1 @@
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>NoPlayListFoundException</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.html" class="el_package">musichub.business</a> &gt; <span class="el_class">NoPlayListFoundException</span></div><h1>NoPlayListFoundException</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="NoPlayListFoundException.java.html#L6" class="el_method">NoPlayListFoundException(String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.business/NoPlayListFoundException.java.html b/target/site/jacoco/musichub.business/NoPlayListFoundException.java.html
          new file mode 100644
          index 0000000..f93e9a4
          --- /dev/null
          +++ b/target/site/jacoco/musichub.business/NoPlayListFoundException.java.html
          @@ -0,0 +1,9 @@
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>NoPlayListFoundException.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.source.html" class="el_package">musichub.business</a> &gt; <span class="el_source">NoPlayListFoundException.java</span></div><h1>NoPlayListFoundException.java</h1><pre class="source lang-java linenums">package musichub.business;
          +
          +public class NoPlayListFoundException extends Exception {
          +
          +    public NoPlayListFoundException(String msg) {
          +<span class="nc" id="L6">        super(msg);</span>
          +<span class="nc" id="L7">    }</span>
          +}
          +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.business/PathValidation.html b/target/site/jacoco/musichub.business/PathValidation.html
          new file mode 100644
          index 0000000..3b58bb2
          --- /dev/null
          +++ b/target/site/jacoco/musichub.business/PathValidation.html
          @@ -0,0 +1 @@
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>PathValidation</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.html" class="el_package">musichub.business</a> &gt; <span class="el_class">PathValidation</span></div><h1>PathValidation</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 17</td><td class="ctr2">100 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">2</td><td class="ctr1">0</td><td class="ctr2">4</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="PathValidation.java.html#L34" class="el_method">isPathValid(String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="PathValidation.java.html#L22" class="el_method">PathValidation()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="84" height="10" title="7" alt="7"/></td><td class="ctr2" id="c1">100 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.business/PathValidation.java.html b/target/site/jacoco/musichub.business/PathValidation.java.html
          new file mode 100644
          index 0000000..4d22953
          --- /dev/null
          +++ b/target/site/jacoco/musichub.business/PathValidation.java.html
          @@ -0,0 +1,39 @@
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>PathValidation.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.source.html" class="el_package">musichub.business</a> &gt; <span class="el_source">PathValidation.java</span></div><h1>PathValidation.java</h1><pre class="source lang-java linenums">package musichub.business;
          +
          +import java.nio.file.Files;
          +import java.nio.file.Path;
          +import java.nio.file.Paths;
          +
          +/**
          + * Class offering a path validation method.
          + *
          + * @author Aimeric ADJUTOR
          + * @version 1.0
          + */
          +
          +public final class PathValidation {
          +
          +    /**
          +     * Method that just throws an AssertionError if the class is called
          +     * @author Aimeric ADJUTOR
          +     * @throws AssertionError you can't instantiate this class
          +     */
          +
          +<span class="fc" id="L22">    public PathValidation() {</span>
          +<span class="fc" id="L23">        throw new AssertionError(&quot;You just can't instantiate this class.&quot;);</span>
          +    }
          +
          +    /**
          +     * Method that checks the validity of a given path
          +     *
          +     * @param inputPath the path given by the user
          +     * @return a boolean
          +     */
          +
          +    public static boolean isPathValid(String inputPath) {
          +<span class="fc" id="L34">        Path path = Paths.get(inputPath);</span>
          +<span class="fc" id="L35">        return Files.exists(path);</span>
          +    }
          +
          +}
          +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.business/PlayList.html b/target/site/jacoco/musichub.business/PlayList.html
          new file mode 100644
          index 0000000..ae17a14
          --- /dev/null
          +++ b/target/site/jacoco/musichub.business/PlayList.html
          @@ -0,0 +1 @@
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>PlayList</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.html" class="el_package">musichub.business</a> &gt; <span class="el_class">PlayList</span></div><h1>PlayList</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">202 of 202</td><td class="ctr2">0 %</td><td class="bar">14 of 14</td><td class="ctr2">0 %</td><td class="ctr1">14</td><td class="ctr2">14</td><td class="ctr1">53</td><td class="ctr2">53</td><td class="ctr1">7</td><td class="ctr2">7</td></tr></tfoot><tbody><tr><td id="a4"><a href="PlayList.java.html#L28" class="el_method">PlayList(Element)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="88" alt="88"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="12" alt="12"/></td><td class="ctr2" id="e0">0 %</td><td class="ctr1" id="f0">7</td><td class="ctr2" id="g0">7</td><td class="ctr1" id="h0">23</td><td class="ctr2" id="i0">23</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="PlayList.java.html#L78" class="el_method">createXMLElement(Document, Element)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="102" height="10" title="75" alt="75"/></td><td class="ctr2" id="c1">0 %</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="20" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">0 %</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">16</td><td class="ctr2" id="i1">16</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a5"><a href="PlayList.java.html#L22" class="el_method">PlayList(String)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="19" height="10" title="14" alt="14"/></td><td class="ctr2" id="c2">0 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">5</td><td class="ctr2" id="i2">5</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a6"><a href="PlayList.java.html#L16" class="el_method">PlayList(String, String, ArrayList)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="17" height="10" title="13" alt="13"/></td><td class="ctr2" id="c3">0 %</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">5</td><td class="ctr2" id="i3">5</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a0"><a href="PlayList.java.html#L66" class="el_method">addElement(UUID)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="6" alt="6"/></td><td class="ctr2" id="c4">0 %</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">2</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a2"><a href="PlayList.java.html#L70" class="el_method">getElements()</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="3" alt="3"/></td><td class="ctr2" id="c5">0 %</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">1</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a3"><a href="PlayList.java.html#L74" class="el_method">getTitle()</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="3" alt="3"/></td><td class="ctr2" id="c6">0 %</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">1</td><td class="ctr2" id="i6">1</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.business/PlayList.java.html b/target/site/jacoco/musichub.business/PlayList.java.html
          new file mode 100644
          index 0000000..6a45004
          --- /dev/null
          +++ b/target/site/jacoco/musichub.business/PlayList.java.html
          @@ -0,0 +1,101 @@
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>PlayList.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.source.html" class="el_package">musichub.business</a> &gt; <span class="el_source">PlayList.java</span></div><h1>PlayList.java</h1><pre class="source lang-java linenums">package musichub.business;
          +
          +import org.w3c.dom.Document;
          +import org.w3c.dom.Element;
          +import org.w3c.dom.Node;
          +import org.w3c.dom.NodeList;
          +
          +import java.util.ArrayList;
          +import java.util.UUID;
          +
          +public class PlayList {
          +    private final String title;
          +    private final UUID uuid;
          +    private ArrayList&lt;UUID&gt; elementUUIDs;
          +
          +<span class="nc" id="L16">    public PlayList(String title, String id, ArrayList&lt;UUID&gt; elementUUIDs) {</span>
          +<span class="nc" id="L17">        this.title = title;</span>
          +<span class="nc" id="L18">        this.uuid = UUID.fromString(id);</span>
          +<span class="nc" id="L19">        this.elementUUIDs = elementUUIDs;</span>
          +<span class="nc" id="L20">    }</span>
          +
          +<span class="nc" id="L22">    public PlayList(String title) {</span>
          +<span class="nc" id="L23">        this.title = title;</span>
          +<span class="nc" id="L24">        this.uuid = UUID.randomUUID();</span>
          +<span class="nc" id="L25">        this.elementUUIDs = new ArrayList&lt;&gt;();</span>
          +<span class="nc" id="L26">    }</span>
          +
          +<span class="nc" id="L28">    public PlayList(Element xmlElement) {</span>
          +        {
          +<span class="nc" id="L30">            this.title = xmlElement.getElementsByTagName(&quot;title&quot;).item(0).getTextContent();</span>
          +
          +<span class="nc" id="L32">            String uuid = null;</span>
          +            try {
          +<span class="nc" id="L34">                uuid = xmlElement.getElementsByTagName(&quot;UUID&quot;).item(0).getTextContent();</span>
          +<span class="nc" id="L35">            } catch (Exception ex) {</span>
          +<span class="nc" id="L36">                System.out.println(&quot;Empty playlist UUID, will create a new one&quot;);</span>
          +<span class="nc" id="L37">            }</span>
          +<span class="nc bnc" id="L38" title="All 4 branches missed.">            if ((uuid == null) || (uuid.isEmpty()))</span>
          +<span class="nc" id="L39">                this.uuid = UUID.randomUUID();</span>
          +<span class="nc" id="L40">            else this.uuid = UUID.fromString(uuid);</span>
          +
          +            //parse list of elements:
          +<span class="nc" id="L43">            Node elementsElement = xmlElement.getElementsByTagName(&quot;elements&quot;).item(0);</span>
          +<span class="nc" id="L44">            NodeList elementUUIDNodes = elementsElement.getChildNodes();</span>
          +<span class="nc bnc" id="L45" title="All 2 branches missed.">            if (elementUUIDNodes == null) return;</span>
          +
          +<span class="nc" id="L47">            this.elementUUIDs = new ArrayList&lt;&gt;();</span>
          +
          +
          +<span class="nc bnc" id="L50" title="All 2 branches missed.">            for (int i = 0; i &lt; elementUUIDNodes.getLength(); i++) {</span>
          +<span class="nc bnc" id="L51" title="All 2 branches missed.">                if (elementUUIDNodes.item(i).getNodeType() == Node.ELEMENT_NODE) {</span>
          +<span class="nc" id="L52">                    Element elementElement = (Element) elementUUIDNodes.item(i);</span>
          +<span class="nc bnc" id="L53" title="All 2 branches missed.">                    if (elementElement.getNodeName().equals(&quot;UUID&quot;)) {</span>
          +                        try {
          +<span class="nc" id="L55">                            this.addElement(UUID.fromString(elementElement.getTextContent()));</span>
          +<span class="nc" id="L56">                        } catch (Exception ex) {</span>
          +<span class="nc" id="L57">                            ex.printStackTrace();</span>
          +<span class="nc" id="L58">                        }</span>
          +                    }
          +                }
          +            }
          +        }
          +<span class="nc" id="L63">    }</span>
          +
          +    public void addElement(UUID element) {
          +<span class="nc" id="L66">        elementUUIDs.add(element);</span>
          +<span class="nc" id="L67">    }</span>
          +
          +    public ArrayList&lt;UUID&gt; getElements() {
          +<span class="nc" id="L70">        return elementUUIDs;</span>
          +    }
          +
          +    public String getTitle() {
          +<span class="nc" id="L74">        return title;</span>
          +    }
          +
          +    public void createXMLElement(Document document, Element parentElement) {
          +<span class="nc" id="L78">        Element playlistElement = document.createElement(&quot;playlist&quot;);</span>
          +<span class="nc" id="L79">        parentElement.appendChild(playlistElement);</span>
          +
          +<span class="nc" id="L81">        Element nameElement = document.createElement(&quot;title&quot;);</span>
          +<span class="nc" id="L82">        nameElement.appendChild(document.createTextNode(title));</span>
          +<span class="nc" id="L83">        playlistElement.appendChild(nameElement);</span>
          +
          +<span class="nc" id="L85">        Element UUIDElement = document.createElement(&quot;UUID&quot;);</span>
          +<span class="nc" id="L86">        UUIDElement.appendChild(document.createTextNode(uuid.toString()));</span>
          +<span class="nc" id="L87">        playlistElement.appendChild(UUIDElement);</span>
          +
          +
          +<span class="nc" id="L90">        Element elementsElement = document.createElement(&quot;elements&quot;);</span>
          +<span class="nc bnc" id="L91" title="All 2 branches missed.">        for (UUID currentUUID : this.elementUUIDs) {</span>
          +
          +<span class="nc" id="L93">            Element elementUUIDElement = document.createElement(&quot;UUID&quot;);</span>
          +<span class="nc" id="L94">            elementUUIDElement.appendChild(document.createTextNode(currentUUID.toString()));</span>
          +<span class="nc" id="L95">            elementsElement.appendChild(elementUUIDElement);</span>
          +<span class="nc" id="L96">        }</span>
          +<span class="nc" id="L97">        playlistElement.appendChild(elementsElement);</span>
          +<span class="nc" id="L98">    }</span>
          +
          +}
          +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.business/Song.html b/target/site/jacoco/musichub.business/Song.html
          new file mode 100644
          index 0000000..4af18c3
          --- /dev/null
          +++ b/target/site/jacoco/musichub.business/Song.html
          @@ -0,0 +1 @@
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Song</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.html" class="el_package">musichub.business</a> &gt; <span class="el_class">Song</span></div><h1>Song</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">105 of 105</td><td class="ctr2">0 %</td><td class="bar">6 of 6</td><td class="ctr2">0 %</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">26</td><td class="ctr2">26</td><td class="ctr1">7</td><td class="ctr2">7</td></tr></tfoot><tbody><tr><td id="a2"><a href="Song.java.html#L30" class="el_method">setGenre(String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="33" alt="33"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">0 %</td><td class="ctr1" id="f0">6</td><td class="ctr2" id="g0">6</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="Song.java.html#L46" class="el_method">createXMLElement(Document, Element)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="105" height="10" title="29" alt="29"/></td><td class="ctr2" id="c1">0 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">7</td><td class="ctr2" id="i1">7</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="Song.java.html#L21" class="el_method">Song(Element)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="43" height="10" title="12" alt="12"/></td><td class="ctr2" id="c2">0 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">3</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a5"><a href="Song.java.html#L11" class="el_method">Song(String, String, int, String, String, String)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="11" alt="11"/></td><td class="ctr2" id="c3">0 %</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">3</td><td class="ctr2" id="i3">3</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a4"><a href="Song.java.html#L16" class="el_method">Song(String, String, int, String, String)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="36" height="10" title="10" alt="10"/></td><td class="ctr2" id="c4">0 %</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">3</td><td class="ctr2" id="i4">3</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a6"><a href="Song.java.html#L41" class="el_method">toString()</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="21" height="10" title="6" alt="6"/></td><td class="ctr2" id="c5">0 %</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">1</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a1"><a href="Song.java.html#L26" class="el_method">getGenre()</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="14" height="10" title="4" alt="4"/></td><td class="ctr2" id="c6">0 %</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">1</td><td class="ctr2" id="i6">1</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.business/Song.java.html b/target/site/jacoco/musichub.business/Song.java.html
          new file mode 100644
          index 0000000..4f7f01d
          --- /dev/null
          +++ b/target/site/jacoco/musichub.business/Song.java.html
          @@ -0,0 +1,59 @@
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Song.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.source.html" class="el_package">musichub.business</a> &gt; <span class="el_source">Song.java</span></div><h1>Song.java</h1><pre class="source lang-java linenums">package musichub.business;
          +
          +import org.w3c.dom.Document;
          +import org.w3c.dom.Element;
          +
          +
          +public class Song extends AudioElement {
          +    private Genre genre;
          +
          +    public Song(String title, String artist, int length, String uid, String content, String genre) {
          +<span class="nc" id="L11">        super(title, artist, length, uid, content);</span>
          +<span class="nc" id="L12">        this.setGenre(genre);</span>
          +<span class="nc" id="L13">    }</span>
          +
          +    public Song(String title, String artist, int length, String content, String genre) {
          +<span class="nc" id="L16">        super(title, artist, length, content);</span>
          +<span class="nc" id="L17">        this.setGenre(genre);</span>
          +<span class="nc" id="L18">    }</span>
          +
          +    public Song(Element xmlElement) {
          +<span class="nc" id="L21">        super(xmlElement);</span>
          +<span class="nc" id="L22">        this.setGenre(xmlElement.getElementsByTagName(&quot;genre&quot;).item(0).getTextContent());</span>
          +<span class="nc" id="L23">    }</span>
          +
          +    public String getGenre() {
          +<span class="nc" id="L26">        return genre.getGenre();</span>
          +    }
          +
          +    public void setGenre(String genre) {
          +<span class="nc bnc" id="L30" title="All 6 branches missed.">        switch (genre.toLowerCase()) {</span>
          +<span class="nc" id="L31">            default -&gt; this.genre = Genre.JAZZ;</span>
          +<span class="nc" id="L32">            case &quot;classic&quot; -&gt; this.genre = Genre.CLASSIC;</span>
          +<span class="nc" id="L33">            case &quot;hiphop&quot; -&gt; this.genre = Genre.HIPHOP;</span>
          +<span class="nc" id="L34">            case &quot;rock&quot; -&gt; this.genre = Genre.ROCK;</span>
          +<span class="nc" id="L35">            case &quot;pop&quot; -&gt; this.genre = Genre.POP;</span>
          +<span class="nc" id="L36">            case &quot;rap&quot; -&gt; this.genre = Genre.RAP;</span>
          +        }
          +<span class="nc" id="L38">    }</span>
          +
          +    public String toString() {
          +<span class="nc" id="L41">        return super.toString() + &quot;, Genre = &quot; + getGenre() + &quot;\n&quot;;</span>
          +    }
          +
          +    public void createXMLElement(Document document, Element parentElement) {
          +        // song element
          +<span class="nc" id="L46">        Element song = document.createElement(&quot;song&quot;);</span>
          +
          +<span class="nc" id="L48">        super.createXMLElement(document, song);</span>
          +
          +<span class="nc" id="L50">        Element genreElement = document.createElement(&quot;genre&quot;);</span>
          +<span class="nc" id="L51">        genreElement.appendChild(document.createTextNode(genre.getGenre()));</span>
          +<span class="nc" id="L52">        song.appendChild(genreElement);</span>
          +
          +<span class="nc" id="L54">        parentElement.appendChild(song);</span>
          +<span class="nc" id="L55">    }</span>
          +    
          +
          +}
          +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.business/SortByAuthor.html b/target/site/jacoco/musichub.business/SortByAuthor.html
          new file mode 100644
          index 0000000..851cdce
          --- /dev/null
          +++ b/target/site/jacoco/musichub.business/SortByAuthor.html
          @@ -0,0 +1 @@
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SortByAuthor</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.html" class="el_package">musichub.business</a> &gt; <span class="el_class">SortByAuthor</span></div><h1>SortByAuthor</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">9 of 9</td><td class="ctr2">0 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="MusicHub.java.html#L29" class="el_method">compare(AudioElement, AudioElement)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="MusicHub.java.html#L27" class="el_method">SortByAuthor()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="60" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">0 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.business/SortByDate.html b/target/site/jacoco/musichub.business/SortByDate.html
          new file mode 100644
          index 0000000..8f4b2f7
          --- /dev/null
          +++ b/target/site/jacoco/musichub.business/SortByDate.html
          @@ -0,0 +1 @@
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SortByDate</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.html" class="el_package">musichub.business</a> &gt; <span class="el_class">SortByDate</span></div><h1>SortByDate</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">9 of 9</td><td class="ctr2">0 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="MusicHub.java.html#L17" class="el_method">compare(Album, Album)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="MusicHub.java.html#L15" class="el_method">SortByDate()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="60" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">0 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.business/SortByGenre.html b/target/site/jacoco/musichub.business/SortByGenre.html
          new file mode 100644
          index 0000000..6dd6e7d
          --- /dev/null
          +++ b/target/site/jacoco/musichub.business/SortByGenre.html
          @@ -0,0 +1 @@
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SortByGenre</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.html" class="el_package">musichub.business</a> &gt; <span class="el_class">SortByGenre</span></div><h1>SortByGenre</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">9 of 9</td><td class="ctr2">0 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="MusicHub.java.html#L23" class="el_method">compare(Song, Song)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="MusicHub.java.html#L21" class="el_method">SortByGenre()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="60" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">0 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.business/index.html b/target/site/jacoco/musichub.business/index.html
          new file mode 100644
          index 0000000..178e60b
          --- /dev/null
          +++ b/target/site/jacoco/musichub.business/index.html
          @@ -0,0 +1 @@
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>musichub.business</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <span class="el_package">musichub.business</span></div><h1>musichub.business</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">2 063 of 2 080</td><td class="ctr2">0 %</td><td class="bar">169 of 169</td><td class="ctr2">0 %</td><td class="ctr1">172</td><td class="ctr2">174</td><td class="ctr1">499</td><td class="ctr2">503</td><td class="ctr1">81</td><td class="ctr2">83</td><td class="ctr1">15</td><td class="ctr2">16</td></tr></tfoot><tbody><tr><td id="a6"><a href="MusicHub.html" class="el_class">MusicHub</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="803" alt="803"/></td><td class="ctr2" id="c1">0 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="114" alt="114"/></td><td class="ctr2" id="e0">0 %</td><td class="ctr1" id="f0">79</td><td class="ctr2" id="g0">79</td><td class="ctr1" id="h0">195</td><td class="ctr2" id="i0">195</td><td class="ctr1" id="j0">22</td><td class="ctr2" id="k0">22</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="Album.html" class="el_class">Album</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="49" height="10" title="330" alt="330"/></td><td class="ctr2" id="c2">0 %</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="14" height="10" title="14" alt="14"/></td><td class="ctr2" id="e1">0 %</td><td class="ctr1" id="f2">16</td><td class="ctr2" id="g2">16</td><td class="ctr1" id="h1">84</td><td class="ctr2" id="i1">84</td><td class="ctr1" id="j1">9</td><td class="ctr2" id="k1">9</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a2"><a href="AudioElement.html" class="el_class">AudioElement</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="39" height="10" title="266" alt="266"/></td><td class="ctr2" id="c3">0 %</td><td class="bar" id="d3"><img src="../jacoco-resources/redbar.gif" width="11" height="10" title="11" alt="11"/></td><td class="ctr2" id="e2">0 %</td><td class="ctr1" id="f3">16</td><td class="ctr2" id="g3">16</td><td class="ctr1" id="h2">72</td><td class="ctr2" id="i2">72</td><td class="ctr1" id="j2">9</td><td class="ctr2" id="k2">9</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a11"><a href="PlayList.html" class="el_class">PlayList</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="30" height="10" title="202" alt="202"/></td><td class="ctr2" id="c4">0 %</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="14" height="10" title="14" alt="14"/></td><td class="ctr2" id="e3">0 %</td><td class="ctr1" id="f4">14</td><td class="ctr2" id="g4">14</td><td class="ctr1" id="h3">53</td><td class="ctr2" id="i3">53</td><td class="ctr1" id="j4">7</td><td class="ctr2" id="k4">7</td><td class="ctr1" id="l3">1</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a1"><a href="AudioBook.html" class="el_class">AudioBook</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="24" height="10" title="164" alt="164"/></td><td class="ctr2" id="c5">0 %</td><td class="bar" id="d4"><img src="../jacoco-resources/redbar.gif" width="10" height="10" title="10" alt="10"/></td><td class="ctr2" id="e4">0 %</td><td class="ctr1" id="f1">17</td><td class="ctr2" id="g1">17</td><td class="ctr1" id="h4">39</td><td class="ctr2" id="i4">39</td><td class="ctr1" id="j3">9</td><td class="ctr2" id="k3">9</td><td class="ctr1" id="l4">1</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a12"><a href="Song.html" class="el_class">Song</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="15" height="10" title="105" alt="105"/></td><td class="ctr2" id="c6">0 %</td><td class="bar" id="d5"><img src="../jacoco-resources/redbar.gif" width="6" height="10" title="6" alt="6"/></td><td class="ctr2" id="e5">0 %</td><td class="ctr1" id="f5">12</td><td class="ctr2" id="g5">12</td><td class="ctr1" id="h5">26</td><td class="ctr2" id="i5">26</td><td class="ctr1" id="j5">7</td><td class="ctr2" id="k5">7</td><td class="ctr1" id="l5">1</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a4"><a href="Genre.html" class="el_class">Genre</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="56" alt="56"/></td><td class="ctr2" id="c7">0 %</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">3</td><td class="ctr2" id="g6">3</td><td class="ctr1" id="h6">6</td><td class="ctr2" id="i6">6</td><td class="ctr1" id="j6">3</td><td class="ctr2" id="k6">3</td><td class="ctr1" id="l6">1</td><td class="ctr2" id="m6">1</td></tr><tr><td id="a5"><a href="Language.html" class="el_class">Language</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="7" height="10" title="49" alt="49"/></td><td class="ctr2" id="c8">0 %</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">3</td><td class="ctr2" id="g7">3</td><td class="ctr1" id="h7">6</td><td class="ctr2" id="i7">6</td><td class="ctr1" id="j7">3</td><td class="ctr2" id="k7">3</td><td class="ctr1" id="l7">1</td><td class="ctr2" id="m7">1</td></tr><tr><td id="a3"><a href="Category.html" class="el_class">Category</a></td><td class="bar" id="b8"><img src="../jacoco-resources/redbar.gif" width="7" height="10" title="49" alt="49"/></td><td class="ctr2" id="c9">0 %</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">3</td><td class="ctr2" id="g8">3</td><td class="ctr1" id="h8">6</td><td class="ctr2" id="i8">6</td><td class="ctr1" id="j8">3</td><td class="ctr2" id="k8">3</td><td class="ctr1" id="l8">1</td><td class="ctr2" id="m8">1</td></tr><tr><td id="a13"><a href="SortByAuthor.html" class="el_class">SortByAuthor</a></td><td class="bar" id="b9"><img src="../jacoco-resources/redbar.gif" width="1" height="10" title="9" alt="9"/></td><td class="ctr2" id="c10">0 %</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">2</td><td class="ctr2" id="g9">2</td><td class="ctr1" id="h9">2</td><td class="ctr2" id="i10">2</td><td class="ctr1" id="j9">2</td><td class="ctr2" id="k9">2</td><td class="ctr1" id="l9">1</td><td class="ctr2" id="m9">1</td></tr><tr><td id="a14"><a href="SortByDate.html" class="el_class">SortByDate</a></td><td class="bar" id="b10"><img src="../jacoco-resources/redbar.gif" width="1" height="10" title="9" alt="9"/></td><td class="ctr2" id="c11">0 %</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">2</td><td class="ctr2" id="g10">2</td><td class="ctr1" id="h10">2</td><td class="ctr2" id="i11">2</td><td class="ctr1" id="j10">2</td><td class="ctr2" id="k10">2</td><td class="ctr1" id="l10">1</td><td class="ctr2" id="m10">1</td></tr><tr><td id="a15"><a href="SortByGenre.html" class="el_class">SortByGenre</a></td><td class="bar" id="b11"><img src="../jacoco-resources/redbar.gif" width="1" height="10" title="9" alt="9"/></td><td class="ctr2" id="c12">0 %</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">2</td><td class="ctr2" id="g11">2</td><td class="ctr1" id="h11">2</td><td class="ctr2" id="i12">2</td><td class="ctr1" id="j11">2</td><td class="ctr2" id="k11">2</td><td class="ctr1" id="l11">1</td><td class="ctr2" id="m11">1</td></tr><tr><td id="a7"><a href="NoAlbumFoundException.html" class="el_class">NoAlbumFoundException</a></td><td class="bar" id="b12"/><td class="ctr2" id="c13">0 %</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f12">1</td><td class="ctr2" id="g13">1</td><td class="ctr1" id="h12">2</td><td class="ctr2" id="i13">2</td><td class="ctr1" id="j12">1</td><td class="ctr2" id="k13">1</td><td class="ctr1" id="l12">1</td><td class="ctr2" id="m12">1</td></tr><tr><td id="a9"><a href="NoPlayListFoundException.html" class="el_class">NoPlayListFoundException</a></td><td class="bar" id="b13"/><td class="ctr2" id="c14">0 %</td><td class="bar" id="d13"/><td class="ctr2" id="e13">n/a</td><td class="ctr1" id="f13">1</td><td class="ctr2" id="g14">1</td><td class="ctr1" id="h13">2</td><td class="ctr2" id="i14">2</td><td class="ctr1" id="j13">1</td><td class="ctr2" id="k14">1</td><td class="ctr1" id="l13">1</td><td class="ctr2" id="m13">1</td></tr><tr><td id="a8"><a href="NoElementFoundException.html" class="el_class">NoElementFoundException</a></td><td class="bar" id="b14"/><td class="ctr2" id="c15">0 %</td><td class="bar" id="d14"/><td class="ctr2" id="e14">n/a</td><td class="ctr1" id="f14">1</td><td class="ctr2" id="g15">1</td><td class="ctr1" id="h14">2</td><td class="ctr2" id="i15">2</td><td class="ctr1" id="j14">1</td><td class="ctr2" id="k15">1</td><td class="ctr1" id="l14">1</td><td class="ctr2" id="m14">1</td></tr><tr><td id="a10"><a href="PathValidation.html" class="el_class">PathValidation</a></td><td class="bar" id="b15"><img src="../jacoco-resources/greenbar.gif" width="2" height="10" title="17" alt="17"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d15"/><td class="ctr2" id="e15">n/a</td><td class="ctr1" id="f15">0</td><td class="ctr2" id="g12">2</td><td class="ctr1" id="h15">0</td><td class="ctr2" id="i9">4</td><td class="ctr1" id="j15">0</td><td class="ctr2" id="k12">2</td><td class="ctr1" id="l15">0</td><td class="ctr2" id="m15">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.business/index.source.html b/target/site/jacoco/musichub.business/index.source.html
          new file mode 100644
          index 0000000..45a5b59
          --- /dev/null
          +++ b/target/site/jacoco/musichub.business/index.source.html
          @@ -0,0 +1 @@
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>musichub.business</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <span class="el_package">musichub.business</span></div><h1>musichub.business</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">2 063 of 2 080</td><td class="ctr2">0 %</td><td class="bar">169 of 169</td><td class="ctr2">0 %</td><td class="ctr1">172</td><td class="ctr2">174</td><td class="ctr1">499</td><td class="ctr2">503</td><td class="ctr1">81</td><td class="ctr2">83</td><td class="ctr1">15</td><td class="ctr2">16</td></tr></tfoot><tbody><tr><td id="a6"><a href="MusicHub.java.html" class="el_source">MusicHub.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="830" alt="830"/></td><td class="ctr2" id="c1">0 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="114" alt="114"/></td><td class="ctr2" id="e0">0 %</td><td class="ctr1" id="f0">85</td><td class="ctr2" id="g0">85</td><td class="ctr1" id="h0">201</td><td class="ctr2" id="i0">201</td><td class="ctr1" id="j0">28</td><td class="ctr2" id="k0">28</td><td class="ctr1" id="l0">4</td><td class="ctr2" id="m0">4</td></tr><tr><td id="a0"><a href="Album.java.html" class="el_source">Album.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="47" height="10" title="330" alt="330"/></td><td class="ctr2" id="c2">0 %</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="14" height="10" title="14" alt="14"/></td><td class="ctr2" id="e1">0 %</td><td class="ctr1" id="f2">16</td><td class="ctr2" id="g2">16</td><td class="ctr1" id="h1">84</td><td class="ctr2" id="i1">84</td><td class="ctr1" id="j1">9</td><td class="ctr2" id="k1">9</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a2"><a href="AudioElement.java.html" class="el_source">AudioElement.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="38" height="10" title="266" alt="266"/></td><td class="ctr2" id="c3">0 %</td><td class="bar" id="d3"><img src="../jacoco-resources/redbar.gif" width="11" height="10" title="11" alt="11"/></td><td class="ctr2" id="e2">0 %</td><td class="ctr1" id="f3">16</td><td class="ctr2" id="g3">16</td><td class="ctr1" id="h2">72</td><td class="ctr2" id="i2">72</td><td class="ctr1" id="j2">9</td><td class="ctr2" id="k2">9</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a11"><a href="PlayList.java.html" class="el_source">PlayList.java</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="29" height="10" title="202" alt="202"/></td><td class="ctr2" id="c4">0 %</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="14" height="10" title="14" alt="14"/></td><td class="ctr2" id="e3">0 %</td><td class="ctr1" id="f4">14</td><td class="ctr2" id="g4">14</td><td class="ctr1" id="h3">53</td><td class="ctr2" id="i3">53</td><td class="ctr1" id="j4">7</td><td class="ctr2" id="k4">7</td><td class="ctr1" id="l3">1</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a1"><a href="AudioBook.java.html" class="el_source">AudioBook.java</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="23" height="10" title="164" alt="164"/></td><td class="ctr2" id="c5">0 %</td><td class="bar" id="d4"><img src="../jacoco-resources/redbar.gif" width="10" height="10" title="10" alt="10"/></td><td class="ctr2" id="e4">0 %</td><td class="ctr1" id="f1">17</td><td class="ctr2" id="g1">17</td><td class="ctr1" id="h4">39</td><td class="ctr2" id="i4">39</td><td class="ctr1" id="j3">9</td><td class="ctr2" id="k3">9</td><td class="ctr1" id="l4">1</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a12"><a href="Song.java.html" class="el_source">Song.java</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="15" height="10" title="105" alt="105"/></td><td class="ctr2" id="c6">0 %</td><td class="bar" id="d5"><img src="../jacoco-resources/redbar.gif" width="6" height="10" title="6" alt="6"/></td><td class="ctr2" id="e5">0 %</td><td class="ctr1" id="f5">12</td><td class="ctr2" id="g5">12</td><td class="ctr1" id="h5">26</td><td class="ctr2" id="i5">26</td><td class="ctr1" id="j5">7</td><td class="ctr2" id="k5">7</td><td class="ctr1" id="l5">1</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a4"><a href="Genre.java.html" class="el_source">Genre.java</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="56" alt="56"/></td><td class="ctr2" id="c7">0 %</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">3</td><td class="ctr2" id="g6">3</td><td class="ctr1" id="h6">6</td><td class="ctr2" id="i6">6</td><td class="ctr1" id="j6">3</td><td class="ctr2" id="k6">3</td><td class="ctr1" id="l6">1</td><td class="ctr2" id="m6">1</td></tr><tr><td id="a5"><a href="Language.java.html" class="el_source">Language.java</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="7" height="10" title="49" alt="49"/></td><td class="ctr2" id="c8">0 %</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">3</td><td class="ctr2" id="g7">3</td><td class="ctr1" id="h7">6</td><td class="ctr2" id="i7">6</td><td class="ctr1" id="j7">3</td><td class="ctr2" id="k7">3</td><td class="ctr1" id="l7">1</td><td class="ctr2" id="m7">1</td></tr><tr><td id="a3"><a href="Category.java.html" class="el_source">Category.java</a></td><td class="bar" id="b8"><img src="../jacoco-resources/redbar.gif" width="7" height="10" title="49" alt="49"/></td><td class="ctr2" id="c9">0 %</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">3</td><td class="ctr2" id="g8">3</td><td class="ctr1" id="h8">6</td><td class="ctr2" id="i8">6</td><td class="ctr1" id="j8">3</td><td class="ctr2" id="k8">3</td><td class="ctr1" id="l8">1</td><td class="ctr2" id="m8">1</td></tr><tr><td id="a7"><a href="NoAlbumFoundException.java.html" class="el_source">NoAlbumFoundException.java</a></td><td class="bar" id="b9"/><td class="ctr2" id="c10">0 %</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">1</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h9">2</td><td class="ctr2" id="i10">2</td><td class="ctr1" id="j9">1</td><td class="ctr2" id="k10">1</td><td class="ctr1" id="l9">1</td><td class="ctr2" id="m9">1</td></tr><tr><td id="a9"><a href="NoPlayListFoundException.java.html" class="el_source">NoPlayListFoundException.java</a></td><td class="bar" id="b10"/><td class="ctr2" id="c11">0 %</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">1</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h10">2</td><td class="ctr2" id="i11">2</td><td class="ctr1" id="j10">1</td><td class="ctr2" id="k11">1</td><td class="ctr1" id="l10">1</td><td class="ctr2" id="m10">1</td></tr><tr><td id="a8"><a href="NoElementFoundException.java.html" class="el_source">NoElementFoundException.java</a></td><td class="bar" id="b11"/><td class="ctr2" id="c12">0 %</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">1</td><td class="ctr2" id="g12">1</td><td class="ctr1" id="h11">2</td><td class="ctr2" id="i12">2</td><td class="ctr1" id="j11">1</td><td class="ctr2" id="k12">1</td><td class="ctr1" id="l11">1</td><td class="ctr2" id="m11">1</td></tr><tr><td id="a10"><a href="PathValidation.java.html" class="el_source">PathValidation.java</a></td><td class="bar" id="b12"><img src="../jacoco-resources/greenbar.gif" width="2" height="10" title="17" alt="17"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f12">0</td><td class="ctr2" id="g9">2</td><td class="ctr1" id="h12">0</td><td class="ctr2" id="i9">4</td><td class="ctr1" id="j12">0</td><td class="ctr2" id="k9">2</td><td class="ctr1" id="l12">0</td><td class="ctr2" id="m12">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.main/Main.html b/target/site/jacoco/musichub.main/Main.html
          new file mode 100644
          index 0000000..de45b84
          --- /dev/null
          +++ b/target/site/jacoco/musichub.main/Main.html
          @@ -0,0 +1 @@
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Main</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.html" class="el_package">musichub.main</a> &gt; <span class="el_class">Main</span></div><h1>Main</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">588 of 588</td><td class="ctr2">0 %</td><td class="bar">40 of 40</td><td class="ctr2">0 %</td><td class="ctr1">29</td><td class="ctr2">29</td><td class="ctr1">199</td><td class="ctr2">199</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="Main.java.html#L17" class="el_method">main(String[])</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="548" alt="548"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="40" alt="40"/></td><td class="ctr2" id="e0">0 %</td><td class="ctr1" id="f0">27</td><td class="ctr2" id="g0">27</td><td class="ctr1" id="h0">185</td><td class="ctr2" id="i0">185</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="Main.java.html#L252" class="el_method">printAvailableCommands()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="37" alt="37"/></td><td class="ctr2" id="c1">0 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">13</td><td class="ctr2" id="i1">13</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="Main.java.html#L14" class="el_method">Main()</a></td><td class="bar" id="b2"/><td class="ctr2" id="c2">0 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.main/Main.java.html b/target/site/jacoco/musichub.main/Main.java.html
          new file mode 100644
          index 0000000..df39af0
          --- /dev/null
          +++ b/target/site/jacoco/musichub.main/Main.java.html
          @@ -0,0 +1,266 @@
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Main.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.source.html" class="el_package">musichub.main</a> &gt; <span class="el_source">Main.java</span></div><h1>Main.java</h1><pre class="source lang-java linenums">package musichub.main;
          +
          +import musichub.business.*;
          +
          +import javax.sound.sampled.LineUnavailableException;
          +import javax.sound.sampled.UnsupportedAudioFileException;
          +import java.io.IOException;
          +import java.util.Iterator;
          +import java.util.List;
          +import java.util.Scanner;
          +
          +import static musichub.business.PathValidation.isPathValid;
          +
          +<span class="nc" id="L14">public class Main {</span>
          +    public static void main(String[] args) throws UnsupportedAudioFileException, IOException, LineUnavailableException {
          +
          +<span class="nc" id="L17">        MusicHub theHub = new MusicHub();</span>
          +
          +<span class="nc" id="L19">        System.out.println(&quot;Type h for available commands&quot;);</span>
          +
          +
          +<span class="nc" id="L22">        Scanner scan = new Scanner(System.in);</span>
          +<span class="nc" id="L23">        String choice = scan.nextLine();</span>
          +
          +        String albumTitle;
          +
          +<span class="nc bnc" id="L27" title="All 2 branches missed.">        if (choice.length() == 0) System.exit(0);</span>
          +
          +<span class="nc bnc" id="L29" title="All 2 branches missed.">        while (!choice.equals(&quot;&quot;)) { //if the user puts nothing, quit the loop/system</span>
          +<span class="nc bnc" id="L30" title="All 14 branches missed.">            switch (choice.charAt(0)) {</span>
          +                case 'q': //added the option directly in the switch instead of the loop
          +<span class="nc" id="L32">                    System.exit(0);</span>
          +                case 'h':
          +<span class="nc" id="L34">                    printAvailableCommands();</span>
          +<span class="nc" id="L35">                    choice = scan.nextLine();</span>
          +<span class="nc" id="L36">                    break;</span>
          +                case 't':
          +                    //album titles, ordered by date
          +<span class="nc" id="L39">                    System.out.println(theHub.getAlbumsTitlesSortedByDate());</span>
          +<span class="nc" id="L40">                    printAvailableCommands();</span>
          +<span class="nc" id="L41">                    choice = scan.nextLine();</span>
          +<span class="nc" id="L42">                    break;</span>
          +                case 'g':
          +                    //songs of an album, sorted by genre
          +<span class="nc" id="L45">                    System.out.println(&quot;Songs of an album sorted by genre will be displayed; enter the album name, available albums are:&quot;);</span>
          +<span class="nc" id="L46">                    System.out.println(theHub.getAlbumsTitlesSortedByDate());</span>
          +
          +<span class="nc" id="L48">                    albumTitle = scan.nextLine();</span>
          +                    try {
          +<span class="nc" id="L50">                    	List&lt;Song&gt; songs = theHub.getAlbumSongsSortedByGenre(albumTitle);</span>
          +<span class="nc" id="L51">                        System.out.println(songs);</span>
          +<span class="nc" id="L52">                    } catch (NoAlbumFoundException ex) {</span>
          +<span class="nc" id="L53">                        System.out.println(&quot;No album found with the requested title &quot; + ex.getMessage());</span>
          +<span class="nc" id="L54">                    }</span>
          +<span class="nc" id="L55">                    printAvailableCommands();</span>
          +<span class="nc" id="L56">                    choice = scan.nextLine();</span>
          +<span class="nc" id="L57">                    break;</span>
          +                case 'd':
          +                    //songs of an album
          +<span class="nc" id="L60">                    System.out.println(&quot;Songs of an album will be displayed; enter the album name, available albums are:&quot;);</span>
          +<span class="nc" id="L61">                    System.out.println(theHub.getAlbumsTitlesSortedByDate());</span>
          +
          +<span class="nc" id="L63">                    albumTitle = scan.nextLine();</span>
          +                    try {
          +<span class="nc" id="L65">                    	List&lt;AudioElement&gt; songs = theHub.getAlbumSongs(albumTitle);</span>
          +<span class="nc" id="L66">                        System.out.println(theHub.getAlbumSongs(albumTitle));</span>
          +<span class="nc" id="L67">                        String song = scan.nextLine();</span>
          +<span class="nc" id="L68">                        theHub.getAudioElement(songs, song);</span>
          +<span class="nc" id="L69">                    } catch (NoAlbumFoundException ex) {</span>
          +<span class="nc" id="L70">                        System.out.println(&quot;No album found with the requested title &quot; + ex.getMessage());</span>
          +<span class="nc" id="L71">                    }</span>
          +<span class="nc" id="L72">                    printAvailableCommands();</span>
          +<span class="nc" id="L73">                    choice = scan.nextLine();</span>
          +<span class="nc" id="L74">                    break;</span>
          +                case 'u':
          +                    //audiobooks ordered by author
          +<span class="nc" id="L77">                    System.out.println(theHub.getAudiobooksTitlesSortedByAuthor());</span>
          +<span class="nc" id="L78">                    printAvailableCommands();</span>
          +<span class="nc" id="L79">                    choice = scan.nextLine();</span>
          +<span class="nc" id="L80">                    break;</span>
          +                case 'c':
          +                    // add a new song
          +<span class="nc" id="L83">                    System.out.println(&quot;Enter a new song: &quot;);</span>
          +<span class="nc" id="L84">                    System.out.println(&quot;Song title: &quot;);</span>
          +<span class="nc" id="L85">                    String title = scan.nextLine();</span>
          +<span class="nc" id="L86">                    System.out.println(&quot;Song genre (jazz, classic, hiphop, rock, pop, rap):&quot;);</span>
          +<span class="nc" id="L87">                    String genre = scan.nextLine();</span>
          +<span class="nc" id="L88">                    System.out.println(&quot;Song artist: &quot;);</span>
          +<span class="nc" id="L89">                    String artist = scan.nextLine();</span>
          +<span class="nc" id="L90">                    System.out.println(&quot;Song length in seconds: &quot;);</span>
          +<span class="nc" id="L91">                    int length = Integer.parseInt(scan.nextLine());</span>
          +
          +<span class="nc" id="L93">                    System.out.println(&quot;Song content: &quot;);</span>
          +<span class="nc" id="L94">                    String content = scan.nextLine();</span>
          +<span class="nc bnc" id="L95" title="All 2 branches missed.">                    if (!isPathValid(content)) {</span>
          +<span class="nc" id="L96">                        System.out.println(&quot;The music file was not found with the path you've provided.\nType h for available commands&quot;);</span>
          +<span class="nc" id="L97">                        choice = scan.nextLine();</span>
          +<span class="nc" id="L98">                        break;</span>
          +                    }
          +
          +<span class="nc" id="L101">                    Song s = new Song(title, artist, length, content, genre);</span>
          +<span class="nc" id="L102">                    theHub.addElement(s);</span>
          +<span class="nc" id="L103">                    System.out.println(&quot;New element list: &quot;);</span>
          +<span class="nc" id="L104">                    Iterator&lt;AudioElement&gt; it = theHub.elements();</span>
          +<span class="nc bnc" id="L105" title="All 2 branches missed.">                    while (it.hasNext()) System.out.println(it.next().getTitle());</span>
          +<span class="nc" id="L106">                    System.out.println(&quot;Song created!&quot;);</span>
          +<span class="nc" id="L107">                    printAvailableCommands();</span>
          +<span class="nc" id="L108">                    choice = scan.nextLine();</span>
          +<span class="nc" id="L109">                    break;</span>
          +                case 'a':
          +                    // add a new album
          +<span class="nc" id="L112">                    System.out.println(&quot;Enter a new album: &quot;);</span>
          +<span class="nc" id="L113">                    System.out.println(&quot;Album title: &quot;);</span>
          +<span class="nc" id="L114">                    String aTitle = scan.nextLine();</span>
          +<span class="nc" id="L115">                    System.out.println(&quot;Album artist: &quot;);</span>
          +<span class="nc" id="L116">                    String aArtist = scan.nextLine();</span>
          +<span class="nc" id="L117">                    System.out.println(&quot;Album length in seconds: &quot;);</span>
          +<span class="nc" id="L118">                    int aLength = Integer.parseInt(scan.nextLine());</span>
          +<span class="nc" id="L119">                    System.out.println(&quot;Album date as YYYY-DD-MM: &quot;);</span>
          +<span class="nc" id="L120">                    String aDate = scan.nextLine();</span>
          +<span class="nc" id="L121">                    Album a = new Album(aTitle, aArtist, aLength, aDate);</span>
          +<span class="nc" id="L122">                    theHub.addAlbum(a);</span>
          +<span class="nc" id="L123">                    System.out.println(&quot;New list of albums: &quot;);</span>
          +<span class="nc" id="L124">                    Iterator&lt;Album&gt; ita = theHub.albums();</span>
          +<span class="nc bnc" id="L125" title="All 2 branches missed.">                    while (ita.hasNext()) System.out.println(ita.next().getTitle());</span>
          +<span class="nc" id="L126">                    System.out.println(&quot;Album created!&quot;);</span>
          +<span class="nc" id="L127">                    printAvailableCommands();</span>
          +<span class="nc" id="L128">                    choice = scan.nextLine();</span>
          +<span class="nc" id="L129">                    break;</span>
          +                case '+':
          +                    //add a song to an album:
          +<span class="nc" id="L132">                    System.out.println(&quot;Add an existing song to an existing album&quot;);</span>
          +<span class="nc" id="L133">                    System.out.println(&quot;Type the name of the song you wish to add. Available songs: &quot;);</span>
          +<span class="nc" id="L134">                    Iterator&lt;AudioElement&gt; itae = theHub.elements();</span>
          +<span class="nc bnc" id="L135" title="All 2 branches missed.">                    while (itae.hasNext()) {</span>
          +<span class="nc" id="L136">                        AudioElement ae = itae.next();</span>
          +<span class="nc bnc" id="L137" title="All 2 branches missed.">                        if (ae instanceof Song) System.out.println(ae.getTitle());</span>
          +<span class="nc" id="L138">                    }</span>
          +<span class="nc" id="L139">                    String songTitle = scan.nextLine();</span>
          +
          +<span class="nc" id="L141">                    System.out.println(&quot;Type the name of the album you wish to enrich. Available albums: &quot;);</span>
          +<span class="nc" id="L142">                    Iterator&lt;Album&gt; ait = theHub.albums();</span>
          +<span class="nc bnc" id="L143" title="All 2 branches missed.">                    while (ait.hasNext()) {</span>
          +<span class="nc" id="L144">                        Album al = ait.next();</span>
          +<span class="nc" id="L145">                        System.out.println(al.getTitle());</span>
          +<span class="nc" id="L146">                    }</span>
          +<span class="nc" id="L147">                    String titleAlbum = scan.nextLine();</span>
          +                    try {
          +<span class="nc" id="L149">                        theHub.addElementToAlbum(songTitle, titleAlbum);</span>
          +<span class="nc" id="L150">                    } catch (NoAlbumFoundException | NoElementFoundException ex) {</span>
          +<span class="nc" id="L151">                        System.out.println(ex.getMessage());</span>
          +<span class="nc" id="L152">                    }</span>
          +<span class="nc" id="L153">                    System.out.println(&quot;Song added to the album!&quot;);</span>
          +<span class="nc" id="L154">                    printAvailableCommands();</span>
          +<span class="nc" id="L155">                    choice = scan.nextLine();</span>
          +<span class="nc" id="L156">                    break;</span>
          +                case 'l':
          +                    // add a new audiobook
          +<span class="nc" id="L159">                    System.out.println(&quot;Enter a new audiobook: &quot;);</span>
          +<span class="nc" id="L160">                    System.out.println(&quot;AudioBook title: &quot;);</span>
          +<span class="nc" id="L161">                    String bTitle = scan.nextLine();</span>
          +<span class="nc" id="L162">                    System.out.println(&quot;AudioBook category (youth, novel, theater, documentary, speech)&quot;);</span>
          +<span class="nc" id="L163">                    String bCategory = scan.nextLine();</span>
          +<span class="nc" id="L164">                    System.out.println(&quot;AudioBook artist: &quot;);</span>
          +<span class="nc" id="L165">                    String bArtist = scan.nextLine();</span>
          +<span class="nc" id="L166">                    System.out.println(&quot;AudioBook length in seconds: &quot;);</span>
          +<span class="nc" id="L167">                    int bLength = Integer.parseInt(scan.nextLine());</span>
          +<span class="nc" id="L168">                    System.out.println(&quot;AudioBook content: &quot;);</span>
          +<span class="nc" id="L169">                    String bContent = scan.nextLine();</span>
          +<span class="nc" id="L170">                    System.out.println(&quot;AudioBook language (french, english, italian, spanish, german)&quot;);</span>
          +<span class="nc" id="L171">                    String bLanguage = scan.nextLine();</span>
          +<span class="nc" id="L172">                    AudioBook b = new AudioBook(bTitle, bArtist, bLength, bContent, bLanguage, bCategory);</span>
          +<span class="nc" id="L173">                    theHub.addElement(b);</span>
          +<span class="nc" id="L174">                    System.out.println(&quot;Audiobook created! New element list: &quot;);</span>
          +<span class="nc" id="L175">                    Iterator&lt;AudioElement&gt; itl = theHub.elements();</span>
          +<span class="nc bnc" id="L176" title="All 2 branches missed.">                    while (itl.hasNext()) System.out.println(itl.next().getTitle());</span>
          +<span class="nc" id="L177">                    printAvailableCommands();</span>
          +<span class="nc" id="L178">                    choice = scan.nextLine();</span>
          +<span class="nc" id="L179">                    break;</span>
          +                case 'p':
          +                    //create a new playlist from existing elements
          +<span class="nc" id="L182">                    System.out.println(&quot;Add an existing song or audiobook to a new playlist&quot;);</span>
          +<span class="nc" id="L183">                    System.out.println(&quot;Existing playlists:&quot;);</span>
          +<span class="nc" id="L184">                    Iterator&lt;PlayList&gt; itpl = theHub.playlists();</span>
          +<span class="nc bnc" id="L185" title="All 2 branches missed.">                    while (itpl.hasNext()) {</span>
          +<span class="nc" id="L186">                        PlayList pl = itpl.next();</span>
          +<span class="nc" id="L187">                        System.out.println(pl.getTitle());</span>
          +<span class="nc" id="L188">                    }</span>
          +<span class="nc" id="L189">                    System.out.println(&quot;Type the name of the playlist you wish to create:&quot;);</span>
          +<span class="nc" id="L190">                    String playListTitle = scan.nextLine();</span>
          +<span class="nc" id="L191">                    PlayList pl = new PlayList(playListTitle);</span>
          +<span class="nc" id="L192">                    theHub.addPlaylist(pl);</span>
          +<span class="nc" id="L193">                    System.out.println(&quot;Available elements: &quot;);</span>
          +
          +<span class="nc" id="L195">                    Iterator&lt;AudioElement&gt; itael = theHub.elements();</span>
          +<span class="nc bnc" id="L196" title="All 2 branches missed.">                    while (itael.hasNext()) {</span>
          +<span class="nc" id="L197">                        AudioElement ae = itael.next();</span>
          +<span class="nc" id="L198">                        System.out.println(ae.getTitle());</span>
          +<span class="nc" id="L199">                    }</span>
          +<span class="nc bnc" id="L200" title="All 2 branches missed.">                    while (choice.charAt(0) != 'n') {</span>
          +<span class="nc" id="L201">                        System.out.println(&quot;Type the name of the audio element you wish to add or 'n' to exit:&quot;);</span>
          +<span class="nc" id="L202">                        String elementTitle = scan.nextLine();</span>
          +                        try {
          +<span class="nc" id="L204">                            theHub.addElementToPlayList(elementTitle, playListTitle);</span>
          +<span class="nc" id="L205">                        } catch (NoPlayListFoundException | NoElementFoundException ex) {</span>
          +<span class="nc" id="L206">                            System.out.println(ex.getMessage());</span>
          +<span class="nc" id="L207">                        }</span>
          +
          +<span class="nc" id="L209">                        System.out.println(&quot;Type y to add a new one, n to end&quot;);</span>
          +<span class="nc" id="L210">                        choice = scan.nextLine();</span>
          +<span class="nc" id="L211">                    }</span>
          +<span class="nc" id="L212">                    System.out.println(&quot;Playlist created!&quot;);</span>
          +<span class="nc" id="L213">                    printAvailableCommands();</span>
          +<span class="nc" id="L214">                    choice = scan.nextLine();</span>
          +<span class="nc" id="L215">                    break;</span>
          +                case '-':
          +                    //delete a playlist
          +<span class="nc" id="L218">                    System.out.println(&quot;Delete an existing playlist. Available playlists:&quot;);</span>
          +<span class="nc" id="L219">                    Iterator&lt;PlayList&gt; itp = theHub.playlists();</span>
          +<span class="nc bnc" id="L220" title="All 2 branches missed.">                    while (itp.hasNext()) {</span>
          +<span class="nc" id="L221">                        PlayList p = itp.next();</span>
          +<span class="nc" id="L222">                        System.out.println(p.getTitle());</span>
          +<span class="nc" id="L223">                    }</span>
          +<span class="nc" id="L224">                    String plTitle = scan.nextLine();</span>
          +                    try {
          +<span class="nc" id="L226">                        theHub.deletePlayList(plTitle);</span>
          +<span class="nc" id="L227">                    } catch (NoPlayListFoundException ex) {</span>
          +<span class="nc" id="L228">                        System.out.println(ex.getMessage());</span>
          +<span class="nc" id="L229">                    }</span>
          +<span class="nc" id="L230">                    System.out.println(&quot;Playlist deleted!&quot;);</span>
          +<span class="nc" id="L231">                    printAvailableCommands();</span>
          +<span class="nc" id="L232">                    choice = scan.nextLine();</span>
          +<span class="nc" id="L233">                    break;</span>
          +                case 's':
          +                    //save elements, albums, playlists
          +<span class="nc" id="L236">                    theHub.saveElements();</span>
          +<span class="nc" id="L237">                    theHub.saveAlbums();</span>
          +<span class="nc" id="L238">                    theHub.savePlayLists();</span>
          +<span class="nc" id="L239">                    System.out.println(&quot;Elements, albums and playlists saved!&quot;);</span>
          +<span class="nc" id="L240">                    printAvailableCommands();</span>
          +<span class="nc" id="L241">                    choice = scan.nextLine();</span>
          +<span class="nc" id="L242">                    break;</span>
          +                default:
          +
          +<span class="nc" id="L245">                    break;</span>
          +            }
          +        }
          +<span class="nc" id="L248">        scan.close();</span>
          +<span class="nc" id="L249">    }</span>
          +
          +    private static void printAvailableCommands() {
          +<span class="nc" id="L252">        System.out.println(&quot;t: display the album titles, ordered by date&quot;);</span>
          +<span class="nc" id="L253">        System.out.println(&quot;g: display songs of an album, ordered by genre&quot;);</span>
          +<span class="nc" id="L254">        System.out.println(&quot;d: display songs of an album&quot;);</span>
          +<span class="nc" id="L255">        System.out.println(&quot;u: display audiobooks ordered by author&quot;);</span>
          +<span class="nc" id="L256">        System.out.println(&quot;c: add a new song&quot;);</span>
          +<span class="nc" id="L257">        System.out.println(&quot;a: add a new album&quot;);</span>
          +<span class="nc" id="L258">        System.out.println(&quot;+: add a song to an album&quot;);</span>
          +<span class="nc" id="L259">        System.out.println(&quot;l: add a new audiobook&quot;);</span>
          +<span class="nc" id="L260">        System.out.println(&quot;p: create a new playlist from existing songs and audio books&quot;);</span>
          +<span class="nc" id="L261">        System.out.println(&quot;-: delete an existing playlist&quot;);</span>
          +<span class="nc" id="L262">        System.out.println(&quot;s: save elements, albums, playlists&quot;);</span>
          +<span class="nc" id="L263">        System.out.println(&quot;q: quit program&quot;);</span>
          +<span class="nc" id="L264">    }</span>
          +}
          +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.main/index.html b/target/site/jacoco/musichub.main/index.html
          new file mode 100644
          index 0000000..c4e995d
          --- /dev/null
          +++ b/target/site/jacoco/musichub.main/index.html
          @@ -0,0 +1 @@
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>musichub.main</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <span class="el_package">musichub.main</span></div><h1>musichub.main</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">588 of 588</td><td class="ctr2">0 %</td><td class="bar">40 of 40</td><td class="ctr2">0 %</td><td class="ctr1">29</td><td class="ctr2">29</td><td class="ctr1">199</td><td class="ctr2">199</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="Main.html" class="el_class">Main</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="588" alt="588"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="40" alt="40"/></td><td class="ctr2" id="e0">0 %</td><td class="ctr1" id="f0">29</td><td class="ctr2" id="g0">29</td><td class="ctr1" id="h0">199</td><td class="ctr2" id="i0">199</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.main/index.source.html b/target/site/jacoco/musichub.main/index.source.html
          new file mode 100644
          index 0000000..189774f
          --- /dev/null
          +++ b/target/site/jacoco/musichub.main/index.source.html
          @@ -0,0 +1 @@
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>musichub.main</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <span class="el_package">musichub.main</span></div><h1>musichub.main</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">588 of 588</td><td class="ctr2">0 %</td><td class="bar">40 of 40</td><td class="ctr2">0 %</td><td class="ctr1">29</td><td class="ctr2">29</td><td class="ctr1">199</td><td class="ctr2">199</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="Main.java.html" class="el_source">Main.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="588" alt="588"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="40" alt="40"/></td><td class="ctr2" id="e0">0 %</td><td class="ctr1" id="f0">29</td><td class="ctr2" id="g0">29</td><td class="ctr1" id="h0">199</td><td class="ctr2" id="i0">199</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.util/XMLHandler.html b/target/site/jacoco/musichub.util/XMLHandler.html
          new file mode 100644
          index 0000000..7aff8c8
          --- /dev/null
          +++ b/target/site/jacoco/musichub.util/XMLHandler.html
          @@ -0,0 +1 @@
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>XMLHandler</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.html" class="el_package">musichub.util</a> &gt; <span class="el_class">XMLHandler</span></div><h1>XMLHandler</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">72 of 72</td><td class="ctr2">0 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">25</td><td class="ctr2">25</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a3"><a href="XMLHandler.java.html#L26" class="el_method">XMLHandler()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="23" alt="23"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="XMLHandler.java.html#L41" class="el_method">createXMLFile(Document, String)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="23" alt="23"/></td><td class="ctr2" id="c1">0 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h2">7</td><td class="ctr2" id="i2">7</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="XMLHandler.java.html#L61" class="el_method">parseXMLFile(String)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="114" height="10" title="22" alt="22"/></td><td class="ctr2" id="c2">0 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h1">8</td><td class="ctr2" id="i1">8</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="XMLHandler.java.html#L57" class="el_method">createXMLDocument()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="20" height="10" title="4" alt="4"/></td><td class="ctr2" id="c3">0 %</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.util/XMLHandler.java.html b/target/site/jacoco/musichub.util/XMLHandler.java.html
          new file mode 100644
          index 0000000..b8ee27a
          --- /dev/null
          +++ b/target/site/jacoco/musichub.util/XMLHandler.java.html
          @@ -0,0 +1,75 @@
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>XMLHandler.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.source.html" class="el_package">musichub.util</a> &gt; <span class="el_source">XMLHandler.java</span></div><h1>XMLHandler.java</h1><pre class="source lang-java linenums">package musichub.util;
          +
          +import org.w3c.dom.Document;
          +import org.w3c.dom.Element;
          +import org.w3c.dom.NodeList;
          +import org.xml.sax.SAXException;
          +
          +import javax.xml.parsers.DocumentBuilder;
          +import javax.xml.parsers.DocumentBuilderFactory;
          +import javax.xml.parsers.ParserConfigurationException;
          +import javax.xml.transform.Transformer;
          +import javax.xml.transform.TransformerException;
          +import javax.xml.transform.TransformerFactory;
          +import javax.xml.transform.dom.DOMSource;
          +import javax.xml.transform.stream.StreamResult;
          +import java.io.File;
          +import java.io.IOException;
          +
          +
          +public class XMLHandler {
          +    TransformerFactory transformerFactory;
          +    Transformer transformer;
          +    DocumentBuilderFactory documentFactory;
          +    DocumentBuilder documentBuilder;
          +
          +<span class="nc" id="L26">    public XMLHandler() {</span>
          +        try {
          +<span class="nc" id="L28">            transformerFactory = TransformerFactory.newInstance();</span>
          +<span class="nc" id="L29">            transformer = transformerFactory.newTransformer();</span>
          +<span class="nc" id="L30">            documentFactory = DocumentBuilderFactory.newInstance();</span>
          +<span class="nc" id="L31">            documentBuilder = documentFactory.newDocumentBuilder();</span>
          +<span class="nc" id="L32">        } catch (TransformerException | ParserConfigurationException tfe) {</span>
          +<span class="nc" id="L33">            tfe.printStackTrace();</span>
          +<span class="nc" id="L34">        }</span>
          +<span class="nc" id="L35">    }</span>
          +
          +    public void createXMLFile(Document document, String filePath) {
          +        try {
          +            // create the xml file
          +            //transform the DOM Object to an XML File
          +<span class="nc" id="L41">            DOMSource domSource = new DOMSource(document);</span>
          +<span class="nc" id="L42">            StreamResult streamResult = new StreamResult(new File(filePath));</span>
          +
          +            // If you use
          +            // StreamResult result = new StreamResult(System.out);
          +            // the output will be pushed to the standard output ...
          +            // You can use that for debugging
          +
          +<span class="nc" id="L49">            transformer.transform(domSource, streamResult);</span>
          +
          +<span class="nc" id="L51">        } catch (TransformerException tfe) {</span>
          +<span class="nc" id="L52">            tfe.printStackTrace();</span>
          +<span class="nc" id="L53">        }</span>
          +<span class="nc" id="L54">    }</span>
          +
          +    public Document createXMLDocument() {
          +<span class="nc" id="L57">        return documentBuilder.newDocument();</span>
          +    }
          +
          +    public NodeList parseXMLFile(String filePath) {
          +<span class="nc" id="L61">        NodeList elementNodes = null;</span>
          +        try {
          +<span class="nc" id="L63">            Document document = documentBuilder.parse(new File(filePath));</span>
          +<span class="nc" id="L64">            Element root = document.getDocumentElement();</span>
          +
          +<span class="nc" id="L66">            elementNodes = root.getChildNodes();</span>
          +<span class="nc" id="L67">        } catch (SAXException | IOException e) {</span>
          +<span class="nc" id="L68">            e.printStackTrace();</span>
          +<span class="nc" id="L69">        }</span>
          +<span class="nc" id="L70">        return elementNodes;</span>
          +    }
          +
          +
          +}
          +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.util/index.html b/target/site/jacoco/musichub.util/index.html
          new file mode 100644
          index 0000000..1194ec1
          --- /dev/null
          +++ b/target/site/jacoco/musichub.util/index.html
          @@ -0,0 +1 @@
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>musichub.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <span class="el_package">musichub.util</span></div><h1>musichub.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">72 of 72</td><td class="ctr2">0 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">25</td><td class="ctr2">25</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="XMLHandler.html" class="el_class">XMLHandler</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="72" alt="72"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">25</td><td class="ctr2" id="i0">25</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.util/index.source.html b/target/site/jacoco/musichub.util/index.source.html
          new file mode 100644
          index 0000000..e6f6dba
          --- /dev/null
          +++ b/target/site/jacoco/musichub.util/index.source.html
          @@ -0,0 +1 @@
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>musichub.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <span class="el_package">musichub.util</span></div><h1>musichub.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">72 of 72</td><td class="ctr2">0 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">25</td><td class="ctr2">25</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="XMLHandler.java.html" class="el_source">XMLHandler.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="72" alt="72"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">25</td><td class="ctr2" id="i0">25</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/spoteezer-0.1.0.jar b/target/spoteezer-0.1.0.jar
          index 9f65573..16e8971 100644
          Binary files a/target/spoteezer-0.1.0.jar and b/target/spoteezer-0.1.0.jar differ
          diff --git a/target/surefire-reports/TEST-musichub.business.PathValidationTest.xml b/target/surefire-reports/TEST-musichub.business.PathValidationTest.xml
          new file mode 100644
          index 0000000..4a19c26
          --- /dev/null
          +++ b/target/surefire-reports/TEST-musichub.business.PathValidationTest.xml
          @@ -0,0 +1,60 @@
          +<?xml version="1.0" encoding="UTF-8"?>
          +<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd" name="musichub.business.PathValidationTest" time="0.014" tests="2" errors="0" skipped="0" failures="0">
          +  <properties>
          +    <property name="java.specification.version" value="16"/>
          +    <property name="sun.cpu.isalist" value="amd64"/>
          +    <property name="sun.jnu.encoding" value="Cp1252"/>
          +    <property name="java.class.path" value="C:\Users\SoftA\Documents\spoteezer\target\test-classes;C:\Users\SoftA\Documents\spoteezer\target\classes;C:\Users\SoftA\.m2\repository\org\junit\jupiter\junit-jupiter-api\5.0.2\junit-jupiter-api-5.0.2.jar;C:\Users\SoftA\.m2\repository\org\opentest4j\opentest4j\1.0.0\opentest4j-1.0.0.jar;C:\Users\SoftA\.m2\repository\org\junit\platform\junit-platform-commons\1.0.2\junit-platform-commons-1.0.2.jar;C:\Users\SoftA\.m2\repository\org\junit\jupiter\junit-jupiter-engine\5.0.2\junit-jupiter-engine-5.0.2.jar;C:\Users\SoftA\.m2\repository\org\junit\platform\junit-platform-engine\1.0.2\junit-platform-engine-1.0.2.jar;"/>
          +    <property name="java.vm.vendor" value="Oracle Corporation"/>
          +    <property name="sun.arch.data.model" value="64"/>
          +    <property name="user.variant" value=""/>
          +    <property name="java.vendor.url" value="https://java.oracle.com/"/>
          +    <property name="user.timezone" value="Europe/Paris"/>
          +    <property name="os.name" value="Windows 10"/>
          +    <property name="java.vm.specification.version" value="16"/>
          +    <property name="sun.java.launcher" value="SUN_STANDARD"/>
          +    <property name="user.country" value="FR"/>
          +    <property name="sun.boot.library.path" value="C:\Users\SoftA\.jdks\openjdk-16.0.1\bin"/>
          +    <property name="sun.java.command" value="C:\Users\SoftA\AppData\Local\Temp\surefire432352315427642492\surefirebooter9321675300695943827.jar C:\Users\SoftA\AppData\Local\Temp\surefire432352315427642492 2021-06-26T14-30-52_984-jvmRun1 surefire12207114920762145658tmp surefire_04118465738105299962tmp"/>
          +    <property name="jdk.debug" value="release"/>
          +    <property name="surefire.test.class.path" value="C:\Users\SoftA\Documents\spoteezer\target\test-classes;C:\Users\SoftA\Documents\spoteezer\target\classes;C:\Users\SoftA\.m2\repository\org\junit\jupiter\junit-jupiter-api\5.0.2\junit-jupiter-api-5.0.2.jar;C:\Users\SoftA\.m2\repository\org\opentest4j\opentest4j\1.0.0\opentest4j-1.0.0.jar;C:\Users\SoftA\.m2\repository\org\junit\platform\junit-platform-commons\1.0.2\junit-platform-commons-1.0.2.jar;C:\Users\SoftA\.m2\repository\org\junit\jupiter\junit-jupiter-engine\5.0.2\junit-jupiter-engine-5.0.2.jar;C:\Users\SoftA\.m2\repository\org\junit\platform\junit-platform-engine\1.0.2\junit-platform-engine-1.0.2.jar;"/>
          +    <property name="sun.cpu.endian" value="little"/>
          +    <property name="user.home" value="C:\Users\SoftA"/>
          +    <property name="user.language" value="fr"/>
          +    <property name="java.specification.vendor" value="Oracle Corporation"/>
          +    <property name="java.version.date" value="2021-04-20"/>
          +    <property name="java.home" value="C:\Users\SoftA\.jdks\openjdk-16.0.1"/>
          +    <property name="file.separator" value="\"/>
          +    <property name="basedir" value="C:\Users\SoftA\Documents\spoteezer"/>
          +    <property name="java.vm.compressedOopsMode" value="Zero based"/>
          +    <property name="line.separator" value="&#10;"/>
          +    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
          +    <property name="java.specification.name" value="Java Platform API Specification"/>
          +    <property name="surefire.real.class.path" value="C:\Users\SoftA\AppData\Local\Temp\surefire432352315427642492\surefirebooter9321675300695943827.jar"/>
          +    <property name="user.script" value=""/>
          +    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
          +    <property name="java.runtime.version" value="16.0.1+9-24"/>
          +    <property name="user.name" value="SoftA"/>
          +    <property name="path.separator" value=";"/>
          +    <property name="os.version" value="10.0"/>
          +    <property name="java.runtime.name" value="OpenJDK Runtime Environment"/>
          +    <property name="file.encoding" value="Cp1252"/>
          +    <property name="java.vm.name" value="OpenJDK 64-Bit Server VM"/>
          +    <property name="localRepository" value="C:\Users\SoftA\.m2\repository"/>
          +    <property name="java.vendor.url.bug" value="https://bugreport.java.com/bugreport/"/>
          +    <property name="java.io.tmpdir" value="C:\Users\SoftA\AppData\Local\Temp\"/>
          +    <property name="java.version" value="16.0.1"/>
          +    <property name="user.dir" value="C:\Users\SoftA\Documents\spoteezer"/>
          +    <property name="os.arch" value="amd64"/>
          +    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
          +    <property name="sun.os.patch.level" value=""/>
          +    <property name="java.library.path" value="C:\Users\SoftA\.jdks\openjdk-16.0.1\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files\Oculus\Support\oculus-runtime;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\Git\cmd;C:\Users\SoftA\.jdks\openjdk-16.0.1\bin;C:\Users\SoftA\AppData\Local\Microsoft\WindowsApps;C:\ffmpeg\bin;C:\apache-maven-3.8.1\bin;;."/>
          +    <property name="java.vm.info" value="mixed mode, sharing"/>
          +    <property name="java.vendor" value="Oracle Corporation"/>
          +    <property name="java.vm.version" value="16.0.1+9-24"/>
          +    <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
          +    <property name="java.class.version" value="60.0"/>
          +  </properties>
          +  <testcase name="testPathValidationClass" classname="musichub.business.PathValidationTest" time="0.007"/>
          +  <testcase name="testIsPathValid" classname="musichub.business.PathValidationTest" time="0.002"/>
          +</testsuite>
          \ No newline at end of file
          diff --git a/target/surefire-reports/musichub.business.PathValidationTest.txt b/target/surefire-reports/musichub.business.PathValidationTest.txt
          new file mode 100644
          index 0000000..87f14cb
          --- /dev/null
          +++ b/target/surefire-reports/musichub.business.PathValidationTest.txt
          @@ -0,0 +1,4 @@
          +-------------------------------------------------------------------------------
          +Test set: musichub.business.PathValidationTest
          +-------------------------------------------------------------------------------
          +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.014 s - in musichub.business.PathValidationTest
          diff --git a/target/test-classes/musichub/business/PathValidationTest.class b/target/test-classes/musichub/business/PathValidationTest.class
          new file mode 100644
          index 0000000..24d063b
          Binary files /dev/null and b/target/test-classes/musichub/business/PathValidationTest.class differ
          -- 
          cgit v1.2.3
          
          
          From 67ed18fe86ddfabe5f6c6c270273597799722a72 Mon Sep 17 00:00:00 2001
          From: Clyhtsuriva <aimeric@adjutor.xyz>
          Date: Sat, 26 Jun 2021 22:07:53 +0200
          Subject: Tests are ok fully covered.
          
          ---
           log/spoteezer.log                                  |   5 +-
           src/main/java/musichub/util/LogHandler.java        |  12 +
           src/test/java/musichub/util/LogHandlerTest.java    |  41 +++
           target/jacoco.exec                                 | Bin 80650 -> 27236 bytes
           target/maven-archiver/pom.properties               |   2 +-
           target/maven-javadoc-plugin-stale-data.txt         |  39 +-
           .../compile/default-compile/createdFiles.lst       |   3 +-
           .../compile/default-compile/inputFiles.lst         |   3 +-
           .../default-testCompile/createdFiles.lst           |   3 +-
           .../testCompile/default-testCompile/inputFiles.lst |   3 +-
           target/original-spoteezer-0.1.0.jar                | Bin 31900 -> 33244 bytes
           target/site/apidocs/allclasses-index.html          |  32 +-
           target/site/apidocs/allpackages-index.html         |   2 +-
           target/site/apidocs/help-doc.html                  |   2 +-
           target/site/apidocs/index-all.html                 |  31 +-
           target/site/apidocs/index.html                     |   2 +-
           target/site/apidocs/member-search-index.js         |   2 +-
           target/site/apidocs/musichub/business/Album.html   |   2 +-
           .../site/apidocs/musichub/business/AudioBook.html  |   2 +-
           .../apidocs/musichub/business/AudioElement.html    |   2 +-
           .../site/apidocs/musichub/business/Category.html   |   2 +-
           target/site/apidocs/musichub/business/Genre.html   |   2 +-
           .../site/apidocs/musichub/business/Language.html   |   2 +-
           .../site/apidocs/musichub/business/MusicHub.html   |   2 +-
           .../musichub/business/NoAlbumFoundException.html   |   2 +-
           .../musichub/business/NoElementFoundException.html |   2 +-
           .../business/NoPlayListFoundException.html         |   2 +-
           .../apidocs/musichub/business/PathValidation.html  | 189 ----------
           .../site/apidocs/musichub/business/PlayList.html   |   2 +-
           target/site/apidocs/musichub/business/Song.html    |   2 +-
           .../apidocs/musichub/business/class-use/Album.html |   2 +-
           .../musichub/business/class-use/AudioBook.html     |   2 +-
           .../musichub/business/class-use/AudioElement.html  |   2 +-
           .../musichub/business/class-use/Category.html      |   2 +-
           .../apidocs/musichub/business/class-use/Genre.html |   2 +-
           .../musichub/business/class-use/Language.html      |   2 +-
           .../musichub/business/class-use/MusicHub.html      |   2 +-
           .../business/class-use/NoAlbumFoundException.html  |   2 +-
           .../class-use/NoElementFoundException.html         |   2 +-
           .../class-use/NoPlayListFoundException.html        |   2 +-
           .../business/class-use/PathValidation.html         |  65 ----
           .../musichub/business/class-use/PlayList.html      |   2 +-
           .../apidocs/musichub/business/class-use/Song.html  |   2 +-
           .../apidocs/musichub/business/package-summary.html |  12 +-
           .../apidocs/musichub/business/package-tree.html    |   3 +-
           .../apidocs/musichub/business/package-use.html     |   2 +-
           target/site/apidocs/musichub/main/Main.html        |   2 +-
           .../site/apidocs/musichub/main/class-use/Main.html |   2 +-
           .../apidocs/musichub/main/package-summary.html     |   2 +-
           .../site/apidocs/musichub/main/package-tree.html   |   2 +-
           target/site/apidocs/musichub/main/package-use.html |   2 +-
           target/site/apidocs/musichub/util/XMLHandler.html  |   2 +-
           .../musichub/util/class-use/XMLHandler.html        |   2 +-
           .../apidocs/musichub/util/package-summary.html     |  10 +-
           .../site/apidocs/musichub/util/package-tree.html   |   4 +-
           target/site/apidocs/musichub/util/package-use.html |   2 +-
           target/site/apidocs/overview-summary.html          |   2 +-
           target/site/apidocs/overview-tree.html             |   5 +-
           target/site/apidocs/serialized-form.html           |   2 +-
           target/site/apidocs/type-search-index.js           |   2 +-
           target/site/jacoco/index.html                      |   2 +-
           target/site/jacoco/jacoco-sessions.html            |   2 +-
           target/site/jacoco/jacoco.csv                      |   5 +-
           target/site/jacoco/jacoco.xml                      |   2 +-
           .../jacoco/musichub.business/PathValidation.html   |   1 -
           .../musichub.business/PathValidation.java.html     |  39 --
           target/site/jacoco/musichub.business/index.html    |   2 +-
           .../jacoco/musichub.business/index.source.html     |   2 +-
           target/site/jacoco/musichub.main/Main.html         |   2 +-
           target/site/jacoco/musichub.main/Main.java.html    | 410 +++++++++++----------
           target/site/jacoco/musichub.main/index.html        |   2 +-
           target/site/jacoco/musichub.main/index.source.html |   2 +-
           target/site/jacoco/musichub.util/index.html        |   2 +-
           target/site/jacoco/musichub.util/index.source.html |   2 +-
           target/spoteezer-0.1.0.jar                         | Bin 367786 -> 369146 bytes
           .../TEST-musichub.business.PathValidationTest.xml  |  60 ---
           .../musichub.business.PathValidationTest.txt       |   4 -
           77 files changed, 412 insertions(+), 669 deletions(-)
           create mode 100644 src/test/java/musichub/util/LogHandlerTest.java
           delete mode 100644 target/site/apidocs/musichub/business/PathValidation.html
           delete mode 100644 target/site/apidocs/musichub/business/class-use/PathValidation.html
           delete mode 100644 target/site/jacoco/musichub.business/PathValidation.html
           delete mode 100644 target/site/jacoco/musichub.business/PathValidation.java.html
           delete mode 100644 target/surefire-reports/TEST-musichub.business.PathValidationTest.xml
           delete mode 100644 target/surefire-reports/musichub.business.PathValidationTest.txt
          
          (limited to 'target/site/apidocs/musichub/business/class-use')
          
          diff --git a/log/spoteezer.log b/log/spoteezer.log
          index 091f5e0..834e29f 100644
          --- a/log/spoteezer.log
          +++ b/log/spoteezer.log
          @@ -1,3 +1,6 @@
           [yyyy-MM-dd HH:mm:ss.SSS] TYPE: Message
           [2021-06-26 21:37:09.507] WARNING: The music file was not found with the path you've provided.
          -[2021-06-26 21:45:11.453] WARNING: The music file was not found with the path you've provided.
          \ No newline at end of file
          +[2021-06-26 21:45:11.453] WARNING: The music file was not found with the path you've provided.
          +[2021-06-26 22:05:28.614] INFO: JUnit test
          +[2021-06-26 22:06:26.191] INFO: JUnit test
          +[2021-06-26 22:06:38.453] INFO: JUnit test
          \ No newline at end of file
          diff --git a/src/main/java/musichub/util/LogHandler.java b/src/main/java/musichub/util/LogHandler.java
          index f6522f5..988b149 100644
          --- a/src/main/java/musichub/util/LogHandler.java
          +++ b/src/main/java/musichub/util/LogHandler.java
          @@ -26,6 +26,13 @@ public final class LogHandler {
                   throw new AssertionError("You just can't instantiate this class.");
               }
           
          +    /**
          +     * Method that writes a log message to spoteezer.log
          +     *
          +     * @param msg  the message to write
          +     * @param type the type of log
          +     * @throws IOException if the file's not there
          +     */
               public static void write(String msg, String type) throws IOException {
           
                   Timestamp timestamp = new Timestamp(System.currentTimeMillis());
          @@ -42,6 +49,11 @@ public final class LogHandler {
           
               }
           
          +    /**
          +     * Method that prints the content of spoteezer.log
          +     *
          +     * @throws IOException if the file's not there
          +     */
               public static void read() throws IOException {
                   Path fileName = Path.of("log/spoteezer.log");
           
          diff --git a/src/test/java/musichub/util/LogHandlerTest.java b/src/test/java/musichub/util/LogHandlerTest.java
          new file mode 100644
          index 0000000..17b47f6
          --- /dev/null
          +++ b/src/test/java/musichub/util/LogHandlerTest.java
          @@ -0,0 +1,41 @@
          +package musichub.util;
          +
          +
          +import org.junit.jupiter.api.Test;
          +
          +import java.io.IOException;
          +
          +import static musichub.util.LogHandler.read;
          +import static musichub.util.LogHandler.write;
          +import static org.junit.jupiter.api.Assertions.assertEquals;
          +import static org.junit.jupiter.api.Assertions.assertTrue;
          +
          +public class LogHandlerTest {
          +    @Test
          +    void testWrite() {
          +        try {
          +            write("JUnit test", "INFO");
          +        } catch (IOException e) {
          +            e.printStackTrace();
          +        }
          +    }
          +
          +    @Test
          +    void testRead() {
          +        try {
          +            read();
          +        } catch (IOException e) {
          +            e.printStackTrace();
          +        }
          +    }
          +
          +    @Test
          +    void testLogHandlerClass() {
          +        try {
          +            LogHandler logHandlerClass = new LogHandler();
          +        } catch (Error ex) {
          +            assertTrue(ex instanceof AssertionError);
          +            assertEquals("You just can't instantiate this class.", ex.getMessage());
          +        }
          +    }
          +}
          diff --git a/target/jacoco.exec b/target/jacoco.exec
          index a11f908..5deaa95 100644
          Binary files a/target/jacoco.exec and b/target/jacoco.exec differ
          diff --git a/target/maven-archiver/pom.properties b/target/maven-archiver/pom.properties
          index 1d6eb92..9bf0389 100644
          --- a/target/maven-archiver/pom.properties
          +++ b/target/maven-archiver/pom.properties
          @@ -1,5 +1,5 @@
           #Generated by Maven
          -#Sat Jun 26 14:29:09 CEST 2021
          +#Sat Jun 26 22:06:26 CEST 2021
           groupId=esiea.softwareengineering
           artifactId=spoteezer
           version=0.1.0
          diff --git a/target/maven-javadoc-plugin-stale-data.txt b/target/maven-javadoc-plugin-stale-data.txt
          index 211d1c0..e5ff7a2 100644
          --- a/target/maven-javadoc-plugin-stale-data.txt
          +++ b/target/maven-javadoc-plugin-stale-data.txt
          @@ -34,10 +34,11 @@
           'C:/Users/SoftA/Documents/spoteezer/src/main/java/musichub/business/NoAlbumFoundException.java'
           'C:/Users/SoftA/Documents/spoteezer/src/main/java/musichub/business/NoElementFoundException.java'
           'C:/Users/SoftA/Documents/spoteezer/src/main/java/musichub/business/NoPlayListFoundException.java'
          -'C:/Users/SoftA/Documents/spoteezer/src/main/java/musichub/business/PathValidation.java'
           'C:/Users/SoftA/Documents/spoteezer/src/main/java/musichub/business/PlayList.java'
           'C:/Users/SoftA/Documents/spoteezer/src/main/java/musichub/business/Song.java'
           'C:/Users/SoftA/Documents/spoteezer/src/main/java/musichub/main/Main.java'
          +'C:/Users/SoftA/Documents/spoteezer/src/main/java/musichub/util/LogHandler.java'
          +'C:/Users/SoftA/Documents/spoteezer/src/main/java/musichub/util/PathValidation.java'
           'C:/Users/SoftA/Documents/spoteezer/src/main/java/musichub/util/XMLHandler.java'
           C:\Users\SoftA\.m2\repository\org\junit\jupiter\junit-jupiter-api\5.0.2\junit-jupiter-api-5.0.2.jar = 1624015816799
           C:\Users\SoftA\.m2\repository\org\opentest4j\opentest4j\1.0.0\opentest4j-1.0.0.jar = 1624015816785
          @@ -45,21 +46,21 @@ C:\Users\SoftA\.m2\repository\org\junit\platform\junit-platform-commons\1.0.2\ju
           C:\Users\SoftA\.m2\repository\org\junit\jupiter\junit-jupiter-engine\5.0.2\junit-jupiter-engine-5.0.2.jar = 1624015816790
           C:\Users\SoftA\.m2\repository\org\junit\platform\junit-platform-engine\1.0.2\junit-platform-engine-1.0.2.jar = 1624015816783
           C:\Users\SoftA\Documents\spoteezer\src\main\java = 1624708123937
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\allclasses-index.html = 1624710556861
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\allpackages-index.html = 1624710556864
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\element-list = 1624710556758
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\help-doc.html = 1624710556888
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\index-all.html = 1624710556884
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\index.html = 1624710556844
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\jquery-ui.overrides.css = 1624710556910
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\member-search-index.js = 1624710556868
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\module-search-index.js = 1624710556865
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\overview-summary.html = 1624710556885
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\overview-tree.html = 1624710556841
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\package-search-index.js = 1624710556866
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\script.js = 1624710556892
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\search.js = 1624710556895
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\serialized-form.html = 1624710556785
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\stylesheet.css = 1624710556891
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\tag-search-index.js = 1624710556869
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\type-search-index.js = 1624710556867
          \ No newline at end of file
          +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\allclasses-index.html = 1624737994231
          +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\allpackages-index.html = 1624737994233
          +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\element-list = 1624737994134
          +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\help-doc.html = 1624737994257
          +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\index-all.html = 1624737994253
          +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\index.html = 1624737994214
          +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\jquery-ui.overrides.css = 1624737994280
          +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\member-search-index.js = 1624737994238
          +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\module-search-index.js = 1624737994234
          +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\overview-summary.html = 1624737994255
          +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\overview-tree.html = 1624737994211
          +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\package-search-index.js = 1624737994235
          +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\script.js = 1624737994260
          +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\search.js = 1624737994263
          +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\serialized-form.html = 1624737994156
          +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\stylesheet.css = 1624737994259
          +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\tag-search-index.js = 1624737994239
          +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\type-search-index.js = 1624737994236
          \ No newline at end of file
          diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
          index 26c13ed..acee52e 100644
          --- a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
          +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
          @@ -1,6 +1,6 @@
           musichub\util\XMLHandler.class
          -musichub\business\PathValidation.class
           musichub\business\NoElementFoundException.class
          +musichub\util\LogHandler.class
           musichub\business\Language.class
           musichub\business\PlayList.class
           musichub\main\Main.class
          @@ -11,6 +11,7 @@ musichub\business\SortByAuthor.class
           musichub\business\NoAlbumFoundException.class
           musichub\business\AudioBook.class
           musichub\business\Song.class
          +musichub\util\PathValidation.class
           musichub\business\Genre.class
           musichub\business\NoPlayListFoundException.class
           musichub\business\Category.class
          diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
          index 93f6593..a533945 100644
          --- a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
          +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
          @@ -5,9 +5,10 @@ C:\Users\SoftA\Documents\spoteezer\src\main\java\musichub\main\Main.java
           C:\Users\SoftA\Documents\spoteezer\src\main\java\musichub\business\AudioBook.java
           C:\Users\SoftA\Documents\spoteezer\src\main\java\musichub\business\Language.java
           C:\Users\SoftA\Documents\spoteezer\src\main\java\musichub\business\MusicHub.java
          +C:\Users\SoftA\Documents\spoteezer\src\main\java\musichub\util\LogHandler.java
          +C:\Users\SoftA\Documents\spoteezer\src\main\java\musichub\util\PathValidation.java
           C:\Users\SoftA\Documents\spoteezer\src\main\java\musichub\business\Album.java
           C:\Users\SoftA\Documents\spoteezer\src\main\java\musichub\business\AudioElement.java
          -C:\Users\SoftA\Documents\spoteezer\src\main\java\musichub\business\PathValidation.java
           C:\Users\SoftA\Documents\spoteezer\src\main\java\musichub\business\Category.java
           C:\Users\SoftA\Documents\spoteezer\src\main\java\musichub\business\NoAlbumFoundException.java
           C:\Users\SoftA\Documents\spoteezer\src\main\java\musichub\business\NoPlayListFoundException.java
          diff --git a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
          index 649a939..13c2c99 100644
          --- a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
          +++ b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
          @@ -1 +1,2 @@
          -musichub\business\PathValidationTest.class
          +musichub\util\PathValidationTest.class
          +musichub\util\LogHandlerTest.class
          diff --git a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
          index 9b5d3f0..1b9eea3 100644
          --- a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
          +++ b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
          @@ -1 +1,2 @@
          -C:\Users\SoftA\Documents\spoteezer\src\test\java\musichub\business\PathValidationTest.java
          +C:\Users\SoftA\Documents\spoteezer\src\test\java\musichub\util\LogHandlerTest.java
          +C:\Users\SoftA\Documents\spoteezer\src\test\java\musichub\util\PathValidationTest.java
          diff --git a/target/original-spoteezer-0.1.0.jar b/target/original-spoteezer-0.1.0.jar
          index fbeb8a5..e14293d 100644
          Binary files a/target/original-spoteezer-0.1.0.jar and b/target/original-spoteezer-0.1.0.jar differ
          diff --git a/target/site/apidocs/allclasses-index.html b/target/site/apidocs/allclasses-index.html
          index 767b8ab..e4d9f65 100644
          --- a/target/site/apidocs/allclasses-index.html
          +++ b/target/site/apidocs/allclasses-index.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
           <title>All Classes (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          @@ -76,26 +76,30 @@ loadScripts(document, 'script');</script>
           <div class="col-last even-row-color all-classes-table all-classes-table-tab3">&nbsp;</div>
           <div class="col-first odd-row-color all-classes-table all-classes-table-tab3"><a href="musichub/business/Language.html" title="enum class in musichub.business">Language</a></div>
           <div class="col-last odd-row-color all-classes-table all-classes-table-tab3">&nbsp;</div>
          -<div class="col-first even-row-color all-classes-table-tab2 all-classes-table"><a href="musichub/main/Main.html" title="class in musichub.main">Main</a></div>
          -<div class="col-last even-row-color all-classes-table-tab2 all-classes-table">&nbsp;</div>
          -<div class="col-first odd-row-color all-classes-table-tab2 all-classes-table"><a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></div>
          +<div class="col-first even-row-color all-classes-table-tab2 all-classes-table"><a href="musichub/util/LogHandler.html" title="class in musichub.util">LogHandler</a></div>
          +<div class="col-last even-row-color all-classes-table-tab2 all-classes-table">
          +<div class="block">Class offering a log writing method.</div>
          +</div>
          +<div class="col-first odd-row-color all-classes-table-tab2 all-classes-table"><a href="musichub/main/Main.html" title="class in musichub.main">Main</a></div>
           <div class="col-last odd-row-color all-classes-table-tab2 all-classes-table">&nbsp;</div>
          -<div class="col-first even-row-color all-classes-table all-classes-table-tab4"><a href="musichub/business/NoAlbumFoundException.html" title="class in musichub.business">NoAlbumFoundException</a></div>
          -<div class="col-last even-row-color all-classes-table all-classes-table-tab4">&nbsp;</div>
          -<div class="col-first odd-row-color all-classes-table all-classes-table-tab4"><a href="musichub/business/NoElementFoundException.html" title="class in musichub.business">NoElementFoundException</a></div>
          +<div class="col-first even-row-color all-classes-table-tab2 all-classes-table"><a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></div>
          +<div class="col-last even-row-color all-classes-table-tab2 all-classes-table">&nbsp;</div>
          +<div class="col-first odd-row-color all-classes-table all-classes-table-tab4"><a href="musichub/business/NoAlbumFoundException.html" title="class in musichub.business">NoAlbumFoundException</a></div>
           <div class="col-last odd-row-color all-classes-table all-classes-table-tab4">&nbsp;</div>
          -<div class="col-first even-row-color all-classes-table all-classes-table-tab4"><a href="musichub/business/NoPlayListFoundException.html" title="class in musichub.business">NoPlayListFoundException</a></div>
          +<div class="col-first even-row-color all-classes-table all-classes-table-tab4"><a href="musichub/business/NoElementFoundException.html" title="class in musichub.business">NoElementFoundException</a></div>
           <div class="col-last even-row-color all-classes-table all-classes-table-tab4">&nbsp;</div>
          -<div class="col-first odd-row-color all-classes-table-tab2 all-classes-table"><a href="musichub/business/PathValidation.html" title="class in musichub.business">PathValidation</a></div>
          -<div class="col-last odd-row-color all-classes-table-tab2 all-classes-table">
          +<div class="col-first odd-row-color all-classes-table all-classes-table-tab4"><a href="musichub/business/NoPlayListFoundException.html" title="class in musichub.business">NoPlayListFoundException</a></div>
          +<div class="col-last odd-row-color all-classes-table all-classes-table-tab4">&nbsp;</div>
          +<div class="col-first even-row-color all-classes-table-tab2 all-classes-table"><a href="musichub/util/PathValidation.html" title="class in musichub.util">PathValidation</a></div>
          +<div class="col-last even-row-color all-classes-table-tab2 all-classes-table">
           <div class="block">Class offering a path validation method.</div>
           </div>
          -<div class="col-first even-row-color all-classes-table-tab2 all-classes-table"><a href="musichub/business/PlayList.html" title="class in musichub.business">PlayList</a></div>
          -<div class="col-last even-row-color all-classes-table-tab2 all-classes-table">&nbsp;</div>
          -<div class="col-first odd-row-color all-classes-table-tab2 all-classes-table"><a href="musichub/business/Song.html" title="class in musichub.business">Song</a></div>
          +<div class="col-first odd-row-color all-classes-table-tab2 all-classes-table"><a href="musichub/business/PlayList.html" title="class in musichub.business">PlayList</a></div>
           <div class="col-last odd-row-color all-classes-table-tab2 all-classes-table">&nbsp;</div>
          -<div class="col-first even-row-color all-classes-table-tab2 all-classes-table"><a href="musichub/util/XMLHandler.html" title="class in musichub.util">XMLHandler</a></div>
          +<div class="col-first even-row-color all-classes-table-tab2 all-classes-table"><a href="musichub/business/Song.html" title="class in musichub.business">Song</a></div>
           <div class="col-last even-row-color all-classes-table-tab2 all-classes-table">&nbsp;</div>
          +<div class="col-first odd-row-color all-classes-table-tab2 all-classes-table"><a href="musichub/util/XMLHandler.html" title="class in musichub.util">XMLHandler</a></div>
          +<div class="col-last odd-row-color all-classes-table-tab2 all-classes-table">&nbsp;</div>
           </div>
           </div>
           </div>
          diff --git a/target/site/apidocs/allpackages-index.html b/target/site/apidocs/allpackages-index.html
          index daffbfc..1670da5 100644
          --- a/target/site/apidocs/allpackages-index.html
          +++ b/target/site/apidocs/allpackages-index.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
           <title>All Packages (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/help-doc.html b/target/site/apidocs/help-doc.html
          index 084eeb0..4d85c2b 100644
          --- a/target/site/apidocs/help-doc.html
          +++ b/target/site/apidocs/help-doc.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
           <title>API Help (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/index-all.html b/target/site/apidocs/index-all.html
          index bb26bd1..0df0f51 100644
          --- a/target/site/apidocs/index-all.html
          +++ b/target/site/apidocs/index-all.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
           <title>Index (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          @@ -54,7 +54,7 @@ loadScripts(document, 'script');</script>
           <div class="header">
           <h1>Index</h1>
           </div>
          -<a href="#I:A">A</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:D">D</a>&nbsp;<a href="#I:E">E</a>&nbsp;<a href="#I:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:H">H</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:J">J</a>&nbsp;<a href="#I:L">L</a>&nbsp;<a href="#I:M">M</a>&nbsp;<a href="#I:N">N</a>&nbsp;<a href="#I:P">P</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:U">U</a>&nbsp;<a href="#I:V">V</a>&nbsp;<a href="#I:X">X</a>&nbsp;<a href="#I:Y">Y</a>&nbsp;<br><a href="allclasses-index.html">All&nbsp;Classes</a><span class="vertical-separator">|</span><a href="allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="serialized-form.html">Serialized&nbsp;Form</a>
          +<a href="#I:A">A</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:D">D</a>&nbsp;<a href="#I:E">E</a>&nbsp;<a href="#I:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:H">H</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:J">J</a>&nbsp;<a href="#I:L">L</a>&nbsp;<a href="#I:M">M</a>&nbsp;<a href="#I:N">N</a>&nbsp;<a href="#I:P">P</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:U">U</a>&nbsp;<a href="#I:V">V</a>&nbsp;<a href="#I:W">W</a>&nbsp;<a href="#I:X">X</a>&nbsp;<a href="#I:Y">Y</a>&nbsp;<br><a href="allclasses-index.html">All&nbsp;Classes</a><span class="vertical-separator">|</span><a href="allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="serialized-form.html">Serialized&nbsp;Form</a>
           <h2 class="title" id="I:A">A</h2>
           <dl class="index">
           <dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#addAlbum(musichub.business.Album)">addAlbum(Album)</a></span> - Method in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          @@ -202,7 +202,7 @@ loadScripts(document, 'script');</script>
           </dl>
           <h2 class="title" id="I:I">I</h2>
           <dl class="index">
          -<dt><span class="member-name-link"><a href="musichub/business/PathValidation.html#isPathValid(java.lang.String)">isPathValid(String)</a></span> - Static method in class musichub.business.<a href="musichub/business/PathValidation.html" title="class in musichub.business">PathValidation</a></dt>
          +<dt><span class="member-name-link"><a href="musichub/util/PathValidation.html#isPathValid(java.lang.String)">isPathValid(String)</a></span> - Static method in class musichub.util.<a href="musichub/util/PathValidation.html" title="class in musichub.util">PathValidation</a></dt>
           <dd>
           <div class="block">Method that checks the validity of a given path</div>
           </dd>
          @@ -220,6 +220,14 @@ loadScripts(document, 'script');</script>
           <dd>&nbsp;</dd>
           <dt><span class="member-name-link"><a href="musichub/business/AudioElement.html#lengthInSeconds">lengthInSeconds</a></span> - Variable in class musichub.business.<a href="musichub/business/AudioElement.html" title="class in musichub.business">AudioElement</a></dt>
           <dd>&nbsp;</dd>
          +<dt><a href="musichub/util/LogHandler.html" title="class in musichub.util"><span class="type-name-link">LogHandler</span></a> - Class in <a href="musichub/util/package-summary.html">musichub.util</a></dt>
          +<dd>
          +<div class="block">Class offering a log writing method.</div>
          +</dd>
          +<dt><span class="member-name-link"><a href="musichub/util/LogHandler.html#%3Cinit%3E()">LogHandler()</a></span> - Constructor for class musichub.util.<a href="musichub/util/LogHandler.html" title="class in musichub.util">LogHandler</a></dt>
          +<dd>
          +<div class="block">Method that just throws an AssertionError if the class is called</div>
          +</dd>
           </dl>
           <h2 class="title" id="I:M">M</h2>
           <dl class="index">
          @@ -263,11 +271,11 @@ loadScripts(document, 'script');</script>
           <dl class="index">
           <dt><span class="member-name-link"><a href="musichub/util/XMLHandler.html#parseXMLFile(java.lang.String)">parseXMLFile(String)</a></span> - Method in class musichub.util.<a href="musichub/util/XMLHandler.html" title="class in musichub.util">XMLHandler</a></dt>
           <dd>&nbsp;</dd>
          -<dt><a href="musichub/business/PathValidation.html" title="class in musichub.business"><span class="type-name-link">PathValidation</span></a> - Class in <a href="musichub/business/package-summary.html">musichub.business</a></dt>
          +<dt><a href="musichub/util/PathValidation.html" title="class in musichub.util"><span class="type-name-link">PathValidation</span></a> - Class in <a href="musichub/util/package-summary.html">musichub.util</a></dt>
           <dd>
           <div class="block">Class offering a path validation method.</div>
           </dd>
          -<dt><span class="member-name-link"><a href="musichub/business/PathValidation.html#%3Cinit%3E()">PathValidation()</a></span> - Constructor for class musichub.business.<a href="musichub/business/PathValidation.html" title="class in musichub.business">PathValidation</a></dt>
          +<dt><span class="member-name-link"><a href="musichub/util/PathValidation.html#%3Cinit%3E()">PathValidation()</a></span> - Constructor for class musichub.util.<a href="musichub/util/PathValidation.html" title="class in musichub.util">PathValidation</a></dt>
           <dd>
           <div class="block">Method that just throws an AssertionError if the class is called</div>
           </dd>
          @@ -290,6 +298,10 @@ loadScripts(document, 'script');</script>
           <dl class="index">
           <dt><span class="member-name-link"><a href="musichub/business/Genre.html#RAP">RAP</a></span> - Enum constant in enum class musichub.business.<a href="musichub/business/Genre.html" title="enum class in musichub.business">Genre</a></dt>
           <dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/util/LogHandler.html#read()">read()</a></span> - Static method in class musichub.util.<a href="musichub/util/LogHandler.html" title="class in musichub.util">LogHandler</a></dt>
          +<dd>
          +<div class="block">Method that prints the content of spoteezer.log</div>
          +</dd>
           <dt><span class="member-name-link"><a href="musichub/business/Genre.html#ROCK">ROCK</a></span> - Enum constant in enum class musichub.business.<a href="musichub/business/Genre.html" title="enum class in musichub.business">Genre</a></dt>
           <dd>&nbsp;</dd>
           </dl>
          @@ -368,6 +380,13 @@ the order they are declared.</div>
           the order they are declared.</div>
           </dd>
           </dl>
          +<h2 class="title" id="I:W">W</h2>
          +<dl class="index">
          +<dt><span class="member-name-link"><a href="musichub/util/LogHandler.html#write(java.lang.String,java.lang.String)">write(String, String)</a></span> - Static method in class musichub.util.<a href="musichub/util/LogHandler.html" title="class in musichub.util">LogHandler</a></dt>
          +<dd>
          +<div class="block">Method that writes a log message to spoteezer.log</div>
          +</dd>
          +</dl>
           <h2 class="title" id="I:X">X</h2>
           <dl class="index">
           <dt><a href="musichub/util/XMLHandler.html" title="class in musichub.util"><span class="type-name-link">XMLHandler</span></a> - Class in <a href="musichub/util/package-summary.html">musichub.util</a></dt>
          @@ -380,7 +399,7 @@ the order they are declared.</div>
           <dt><span class="member-name-link"><a href="musichub/business/Category.html#YOUTH">YOUTH</a></span> - Enum constant in enum class musichub.business.<a href="musichub/business/Category.html" title="enum class in musichub.business">Category</a></dt>
           <dd>&nbsp;</dd>
           </dl>
          -<a href="#I:A">A</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:D">D</a>&nbsp;<a href="#I:E">E</a>&nbsp;<a href="#I:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:H">H</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:J">J</a>&nbsp;<a href="#I:L">L</a>&nbsp;<a href="#I:M">M</a>&nbsp;<a href="#I:N">N</a>&nbsp;<a href="#I:P">P</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:U">U</a>&nbsp;<a href="#I:V">V</a>&nbsp;<a href="#I:X">X</a>&nbsp;<a href="#I:Y">Y</a>&nbsp;<br><a href="allclasses-index.html">All&nbsp;Classes</a><span class="vertical-separator">|</span><a href="allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="serialized-form.html">Serialized&nbsp;Form</a></main>
          +<a href="#I:A">A</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:D">D</a>&nbsp;<a href="#I:E">E</a>&nbsp;<a href="#I:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:H">H</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:J">J</a>&nbsp;<a href="#I:L">L</a>&nbsp;<a href="#I:M">M</a>&nbsp;<a href="#I:N">N</a>&nbsp;<a href="#I:P">P</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:U">U</a>&nbsp;<a href="#I:V">V</a>&nbsp;<a href="#I:W">W</a>&nbsp;<a href="#I:X">X</a>&nbsp;<a href="#I:Y">Y</a>&nbsp;<br><a href="allclasses-index.html">All&nbsp;Classes</a><span class="vertical-separator">|</span><a href="allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="serialized-form.html">Serialized&nbsp;Form</a></main>
           <footer role="contentinfo">
           <hr>
           <p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          diff --git a/target/site/apidocs/index.html b/target/site/apidocs/index.html
          index a865d2c..e5010d9 100644
          --- a/target/site/apidocs/index.html
          +++ b/target/site/apidocs/index.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
           <title>Overview (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/member-search-index.js b/target/site/apidocs/member-search-index.js
          index 7c431d3..f583be9 100644
          --- a/target/site/apidocs/member-search-index.js
          +++ b/target/site/apidocs/member-search-index.js
          @@ -1 +1 @@
          -memberSearchIndex = [{"p":"musichub.business","c":"MusicHub","l":"addAlbum(Album)","u":"addAlbum(musichub.business.Album)"},{"p":"musichub.business","c":"MusicHub","l":"addElement(AudioElement)","u":"addElement(musichub.business.AudioElement)"},{"p":"musichub.business","c":"PlayList","l":"addElement(UUID)","u":"addElement(java.util.UUID)"},{"p":"musichub.business","c":"MusicHub","l":"addElementToAlbum(String, String)","u":"addElementToAlbum(java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"addElementToPlayList(String, String)","u":"addElementToPlayList(java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"addPlaylist(PlayList)","u":"addPlaylist(musichub.business.PlayList)"},{"p":"musichub.business","c":"Album","l":"addSong(UUID)","u":"addSong(java.util.UUID)"},{"p":"musichub.business","c":"Album","l":"Album(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"Album","l":"Album(String, String, int, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String)"},{"p":"musichub.business","c":"Album","l":"Album(String, String, int, String, String, ArrayList<UUID>)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.util.ArrayList)"},{"p":"musichub.business","c":"MusicHub","l":"ALBUMS_FILE_PATH"},{"p":"musichub.business","c":"MusicHub","l":"albums()"},{"p":"musichub.business","c":"AudioElement","l":"artist"},{"p":"musichub.business","c":"AudioBook","l":"AudioBook(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioBook","l":"AudioBook(String, String, int, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"AudioBook","l":"AudioBook(String, String, int, String, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"AudioElement","l":"AudioElement(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioElement","l":"AudioElement(String, String, int, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String)"},{"p":"musichub.business","c":"AudioElement","l":"AudioElement(String, String, int, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"Genre","l":"CLASSIC"},{"p":"musichub.business","c":"AudioElement","l":"content"},{"p":"musichub.util","c":"XMLHandler","l":"createXMLDocument()"},{"p":"musichub.business","c":"Album","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioBook","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioElement","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"PlayList","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"Song","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.util","c":"XMLHandler","l":"createXMLFile(Document, String)","u":"createXMLFile(org.w3c.dom.Document,java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"deletePlayList(String)","u":"deletePlayList(java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"DIR"},{"p":"musichub.business","c":"Category","l":"DOCUMENTARY"},{"p":"musichub.business","c":"MusicHub","l":"ELEMENTS_FILE_PATH"},{"p":"musichub.business","c":"MusicHub","l":"elements()"},{"p":"musichub.business","c":"Language","l":"ENGLISH"},{"p":"musichub.business","c":"Language","l":"FRENCH"},{"p":"musichub.business","c":"Language","l":"GERMAN"},{"p":"musichub.business","c":"MusicHub","l":"getAlbumSongs(String)","u":"getAlbumSongs(java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"getAlbumSongsSortedByGenre(String)","u":"getAlbumSongsSortedByGenre(java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"getAlbumsTitlesSortedByDate()"},{"p":"musichub.business","c":"AudioElement","l":"getArtist()"},{"p":"musichub.business","c":"MusicHub","l":"getAudiobooksTitlesSortedByAuthor()"},{"p":"musichub.business","c":"MusicHub","l":"getAudioElement(List<AudioElement>, String)","u":"getAudioElement(java.util.List,java.lang.String)"},{"p":"musichub.business","c":"AudioBook","l":"getCategory()"},{"p":"musichub.business","c":"Category","l":"getCategory()"},{"p":"musichub.business","c":"Album","l":"getDate()"},{"p":"musichub.business","c":"PlayList","l":"getElements()"},{"p":"musichub.business","c":"Genre","l":"getGenre()"},{"p":"musichub.business","c":"Song","l":"getGenre()"},{"p":"musichub.business","c":"AudioBook","l":"getLanguage()"},{"p":"musichub.business","c":"Language","l":"getLanguage()"},{"p":"musichub.business","c":"Album","l":"getSongs()"},{"p":"musichub.business","c":"Album","l":"getSongsRandomly()"},{"p":"musichub.business","c":"Album","l":"getTitle()"},{"p":"musichub.business","c":"AudioElement","l":"getTitle()"},{"p":"musichub.business","c":"PlayList","l":"getTitle()"},{"p":"musichub.business","c":"AudioElement","l":"getUUID()"},{"p":"musichub.business","c":"Genre","l":"HIPHOP"},{"p":"musichub.business","c":"PathValidation","l":"isPathValid(String)","u":"isPathValid(java.lang.String)"},{"p":"musichub.business","c":"Language","l":"ITALIAN"},{"p":"musichub.business","c":"Genre","l":"JAZZ"},{"p":"musichub.business","c":"AudioElement","l":"lengthInSeconds"},{"p":"musichub.main","c":"Main","l":"Main()","u":"%3Cinit%3E()"},{"p":"musichub.main","c":"Main","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"musichub.business","c":"AudioElement","l":"manageAudioElement()"},{"p":"musichub.business","c":"MusicHub","l":"MusicHub()","u":"%3Cinit%3E()"},{"p":"musichub.business","c":"NoAlbumFoundException","l":"NoAlbumFoundException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"NoElementFoundException","l":"NoElementFoundException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"NoPlayListFoundException","l":"NoPlayListFoundException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"Category","l":"NOVEL"},{"p":"musichub.util","c":"XMLHandler","l":"parseXMLFile(String)","u":"parseXMLFile(java.lang.String)"},{"p":"musichub.business","c":"PathValidation","l":"PathValidation()","u":"%3Cinit%3E()"},{"p":"musichub.business","c":"PlayList","l":"PlayList(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"PlayList","l":"PlayList(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"PlayList","l":"PlayList(String, String, ArrayList<UUID>)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.util.ArrayList)"},{"p":"musichub.business","c":"MusicHub","l":"PLAYLISTS_FILE_PATH"},{"p":"musichub.business","c":"MusicHub","l":"playlists()"},{"p":"musichub.business","c":"Genre","l":"POP"},{"p":"musichub.business","c":"Genre","l":"RAP"},{"p":"musichub.business","c":"Genre","l":"ROCK"},{"p":"musichub.business","c":"MusicHub","l":"saveAlbums()"},{"p":"musichub.business","c":"MusicHub","l":"saveElements()"},{"p":"musichub.business","c":"MusicHub","l":"savePlayLists()"},{"p":"musichub.business","c":"AudioBook","l":"setCategory(String)","u":"setCategory(java.lang.String)"},{"p":"musichub.business","c":"Song","l":"setGenre(String)","u":"setGenre(java.lang.String)"},{"p":"musichub.business","c":"AudioBook","l":"setLanguage(String)","u":"setLanguage(java.lang.String)"},{"p":"musichub.business","c":"Song","l":"Song(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"Song","l":"Song(String, String, int, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"Song","l":"Song(String, String, int, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"Language","l":"SPANISH"},{"p":"musichub.business","c":"Category","l":"SPEECH"},{"p":"musichub.business","c":"Category","l":"THEATER"},{"p":"musichub.business","c":"AudioElement","l":"title"},{"p":"musichub.business","c":"AudioBook","l":"toString()"},{"p":"musichub.business","c":"AudioElement","l":"toString()"},{"p":"musichub.business","c":"Song","l":"toString()"},{"p":"musichub.business","c":"AudioElement","l":"uuid"},{"p":"musichub.business","c":"Category","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"musichub.business","c":"Genre","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"musichub.business","c":"Language","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"musichub.business","c":"Category","l":"values()"},{"p":"musichub.business","c":"Genre","l":"values()"},{"p":"musichub.business","c":"Language","l":"values()"},{"p":"musichub.util","c":"XMLHandler","l":"XMLHandler()","u":"%3Cinit%3E()"},{"p":"musichub.business","c":"Category","l":"YOUTH"}];updateSearchResults();
          \ No newline at end of file
          +memberSearchIndex = [{"p":"musichub.business","c":"MusicHub","l":"addAlbum(Album)","u":"addAlbum(musichub.business.Album)"},{"p":"musichub.business","c":"MusicHub","l":"addElement(AudioElement)","u":"addElement(musichub.business.AudioElement)"},{"p":"musichub.business","c":"PlayList","l":"addElement(UUID)","u":"addElement(java.util.UUID)"},{"p":"musichub.business","c":"MusicHub","l":"addElementToAlbum(String, String)","u":"addElementToAlbum(java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"addElementToPlayList(String, String)","u":"addElementToPlayList(java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"addPlaylist(PlayList)","u":"addPlaylist(musichub.business.PlayList)"},{"p":"musichub.business","c":"Album","l":"addSong(UUID)","u":"addSong(java.util.UUID)"},{"p":"musichub.business","c":"Album","l":"Album(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"Album","l":"Album(String, String, int, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String)"},{"p":"musichub.business","c":"Album","l":"Album(String, String, int, String, String, ArrayList<UUID>)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.util.ArrayList)"},{"p":"musichub.business","c":"MusicHub","l":"ALBUMS_FILE_PATH"},{"p":"musichub.business","c":"MusicHub","l":"albums()"},{"p":"musichub.business","c":"AudioElement","l":"artist"},{"p":"musichub.business","c":"AudioBook","l":"AudioBook(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioBook","l":"AudioBook(String, String, int, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"AudioBook","l":"AudioBook(String, String, int, String, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"AudioElement","l":"AudioElement(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioElement","l":"AudioElement(String, String, int, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String)"},{"p":"musichub.business","c":"AudioElement","l":"AudioElement(String, String, int, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"Genre","l":"CLASSIC"},{"p":"musichub.business","c":"AudioElement","l":"content"},{"p":"musichub.util","c":"XMLHandler","l":"createXMLDocument()"},{"p":"musichub.business","c":"Album","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioBook","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioElement","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"PlayList","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"Song","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.util","c":"XMLHandler","l":"createXMLFile(Document, String)","u":"createXMLFile(org.w3c.dom.Document,java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"deletePlayList(String)","u":"deletePlayList(java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"DIR"},{"p":"musichub.business","c":"Category","l":"DOCUMENTARY"},{"p":"musichub.business","c":"MusicHub","l":"ELEMENTS_FILE_PATH"},{"p":"musichub.business","c":"MusicHub","l":"elements()"},{"p":"musichub.business","c":"Language","l":"ENGLISH"},{"p":"musichub.business","c":"Language","l":"FRENCH"},{"p":"musichub.business","c":"Language","l":"GERMAN"},{"p":"musichub.business","c":"MusicHub","l":"getAlbumSongs(String)","u":"getAlbumSongs(java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"getAlbumSongsSortedByGenre(String)","u":"getAlbumSongsSortedByGenre(java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"getAlbumsTitlesSortedByDate()"},{"p":"musichub.business","c":"AudioElement","l":"getArtist()"},{"p":"musichub.business","c":"MusicHub","l":"getAudiobooksTitlesSortedByAuthor()"},{"p":"musichub.business","c":"MusicHub","l":"getAudioElement(List<AudioElement>, String)","u":"getAudioElement(java.util.List,java.lang.String)"},{"p":"musichub.business","c":"AudioBook","l":"getCategory()"},{"p":"musichub.business","c":"Category","l":"getCategory()"},{"p":"musichub.business","c":"Album","l":"getDate()"},{"p":"musichub.business","c":"PlayList","l":"getElements()"},{"p":"musichub.business","c":"Genre","l":"getGenre()"},{"p":"musichub.business","c":"Song","l":"getGenre()"},{"p":"musichub.business","c":"AudioBook","l":"getLanguage()"},{"p":"musichub.business","c":"Language","l":"getLanguage()"},{"p":"musichub.business","c":"Album","l":"getSongs()"},{"p":"musichub.business","c":"Album","l":"getSongsRandomly()"},{"p":"musichub.business","c":"Album","l":"getTitle()"},{"p":"musichub.business","c":"AudioElement","l":"getTitle()"},{"p":"musichub.business","c":"PlayList","l":"getTitle()"},{"p":"musichub.business","c":"AudioElement","l":"getUUID()"},{"p":"musichub.business","c":"Genre","l":"HIPHOP"},{"p":"musichub.util","c":"PathValidation","l":"isPathValid(String)","u":"isPathValid(java.lang.String)"},{"p":"musichub.business","c":"Language","l":"ITALIAN"},{"p":"musichub.business","c":"Genre","l":"JAZZ"},{"p":"musichub.business","c":"AudioElement","l":"lengthInSeconds"},{"p":"musichub.util","c":"LogHandler","l":"LogHandler()","u":"%3Cinit%3E()"},{"p":"musichub.main","c":"Main","l":"Main()","u":"%3Cinit%3E()"},{"p":"musichub.main","c":"Main","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"musichub.business","c":"AudioElement","l":"manageAudioElement()"},{"p":"musichub.business","c":"MusicHub","l":"MusicHub()","u":"%3Cinit%3E()"},{"p":"musichub.business","c":"NoAlbumFoundException","l":"NoAlbumFoundException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"NoElementFoundException","l":"NoElementFoundException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"NoPlayListFoundException","l":"NoPlayListFoundException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"Category","l":"NOVEL"},{"p":"musichub.util","c":"XMLHandler","l":"parseXMLFile(String)","u":"parseXMLFile(java.lang.String)"},{"p":"musichub.util","c":"PathValidation","l":"PathValidation()","u":"%3Cinit%3E()"},{"p":"musichub.business","c":"PlayList","l":"PlayList(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"PlayList","l":"PlayList(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"PlayList","l":"PlayList(String, String, ArrayList<UUID>)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.util.ArrayList)"},{"p":"musichub.business","c":"MusicHub","l":"PLAYLISTS_FILE_PATH"},{"p":"musichub.business","c":"MusicHub","l":"playlists()"},{"p":"musichub.business","c":"Genre","l":"POP"},{"p":"musichub.business","c":"Genre","l":"RAP"},{"p":"musichub.util","c":"LogHandler","l":"read()"},{"p":"musichub.business","c":"Genre","l":"ROCK"},{"p":"musichub.business","c":"MusicHub","l":"saveAlbums()"},{"p":"musichub.business","c":"MusicHub","l":"saveElements()"},{"p":"musichub.business","c":"MusicHub","l":"savePlayLists()"},{"p":"musichub.business","c":"AudioBook","l":"setCategory(String)","u":"setCategory(java.lang.String)"},{"p":"musichub.business","c":"Song","l":"setGenre(String)","u":"setGenre(java.lang.String)"},{"p":"musichub.business","c":"AudioBook","l":"setLanguage(String)","u":"setLanguage(java.lang.String)"},{"p":"musichub.business","c":"Song","l":"Song(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"Song","l":"Song(String, String, int, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"Song","l":"Song(String, String, int, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"Language","l":"SPANISH"},{"p":"musichub.business","c":"Category","l":"SPEECH"},{"p":"musichub.business","c":"Category","l":"THEATER"},{"p":"musichub.business","c":"AudioElement","l":"title"},{"p":"musichub.business","c":"AudioBook","l":"toString()"},{"p":"musichub.business","c":"AudioElement","l":"toString()"},{"p":"musichub.business","c":"Song","l":"toString()"},{"p":"musichub.business","c":"AudioElement","l":"uuid"},{"p":"musichub.business","c":"Category","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"musichub.business","c":"Genre","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"musichub.business","c":"Language","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"musichub.business","c":"Category","l":"values()"},{"p":"musichub.business","c":"Genre","l":"values()"},{"p":"musichub.business","c":"Language","l":"values()"},{"p":"musichub.util","c":"LogHandler","l":"write(String, String)","u":"write(java.lang.String,java.lang.String)"},{"p":"musichub.util","c":"XMLHandler","l":"XMLHandler()","u":"%3Cinit%3E()"},{"p":"musichub.business","c":"Category","l":"YOUTH"}];updateSearchResults();
          \ No newline at end of file
          diff --git a/target/site/apidocs/musichub/business/Album.html b/target/site/apidocs/musichub/business/Album.html
          index 824d2f6..fd0beaa 100644
          --- a/target/site/apidocs/musichub/business/Album.html
          +++ b/target/site/apidocs/musichub/business/Album.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
           <title>Album (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/AudioBook.html b/target/site/apidocs/musichub/business/AudioBook.html
          index f171946..211e1b0 100644
          --- a/target/site/apidocs/musichub/business/AudioBook.html
          +++ b/target/site/apidocs/musichub/business/AudioBook.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
           <title>AudioBook (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/AudioElement.html b/target/site/apidocs/musichub/business/AudioElement.html
          index f2ecb62..fe6ad42 100644
          --- a/target/site/apidocs/musichub/business/AudioElement.html
          +++ b/target/site/apidocs/musichub/business/AudioElement.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
           <title>AudioElement (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/Category.html b/target/site/apidocs/musichub/business/Category.html
          index 6fa6ed1..4266493 100644
          --- a/target/site/apidocs/musichub/business/Category.html
          +++ b/target/site/apidocs/musichub/business/Category.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
           <title>Category (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/Genre.html b/target/site/apidocs/musichub/business/Genre.html
          index 404433a..96e2762 100644
          --- a/target/site/apidocs/musichub/business/Genre.html
          +++ b/target/site/apidocs/musichub/business/Genre.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
           <title>Genre (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/Language.html b/target/site/apidocs/musichub/business/Language.html
          index 7c71eef..6bebff8 100644
          --- a/target/site/apidocs/musichub/business/Language.html
          +++ b/target/site/apidocs/musichub/business/Language.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
           <title>Language (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/MusicHub.html b/target/site/apidocs/musichub/business/MusicHub.html
          index a96d88e..4af462c 100644
          --- a/target/site/apidocs/musichub/business/MusicHub.html
          +++ b/target/site/apidocs/musichub/business/MusicHub.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
           <title>MusicHub (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/NoAlbumFoundException.html b/target/site/apidocs/musichub/business/NoAlbumFoundException.html
          index 51defb8..16143e3 100644
          --- a/target/site/apidocs/musichub/business/NoAlbumFoundException.html
          +++ b/target/site/apidocs/musichub/business/NoAlbumFoundException.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
           <title>NoAlbumFoundException (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/NoElementFoundException.html b/target/site/apidocs/musichub/business/NoElementFoundException.html
          index b935b6c..3a04446 100644
          --- a/target/site/apidocs/musichub/business/NoElementFoundException.html
          +++ b/target/site/apidocs/musichub/business/NoElementFoundException.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
           <title>NoElementFoundException (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/NoPlayListFoundException.html b/target/site/apidocs/musichub/business/NoPlayListFoundException.html
          index 56d2aaf..4a9413a 100644
          --- a/target/site/apidocs/musichub/business/NoPlayListFoundException.html
          +++ b/target/site/apidocs/musichub/business/NoPlayListFoundException.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
           <title>NoPlayListFoundException (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/PathValidation.html b/target/site/apidocs/musichub/business/PathValidation.html
          deleted file mode 100644
          index 9a7945c..0000000
          --- a/target/site/apidocs/musichub/business/PathValidation.html
          +++ /dev/null
          @@ -1,189 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          -<title>PathValidation (spoteezer 0.1.0 API)</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="declaration: package: musichub.business, class: PathValidation">
          -<meta name="generator" content="javadoc/ClassWriterImpl">
          -<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          -<script type="text/javascript" src="../../script.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          -</head>
          -<body class="class-declaration-page">
          -<script type="text/javascript">var evenRowColor = "even-row-color";
          -var oddRowColor = "odd-row-color";
          -var tableTab = "table-tab";
          -var activeTableTab = "active-table-tab";
          -var pathtoroot = "../../";
          -loadScripts(document, 'script');</script>
          -<noscript>
          -<div>JavaScript is disabled on your browser.</div>
          -</noscript>
          -<div class="flex-box">
          -<header role="banner" class="flex-header">
          -<nav role="navigation">
          -<!-- ========= START OF TOP NAVBAR ======= -->
          -<div class="top-nav" id="navbar.top">
          -<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          -<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          -<li><a href="../../index.html">Overview</a></li>
          -<li><a href="package-summary.html">Package</a></li>
          -<li class="nav-bar-cell1-rev">Class</li>
          -<li><a href="class-use/PathValidation.html">Use</a></li>
          -<li><a href="package-tree.html">Tree</a></li>
          -<li><a href="../../index-all.html">Index</a></li>
          -<li><a href="../../help-doc.html">Help</a></li>
          -</ul>
          -</div>
          -<div class="sub-nav">
          -<div>
          -<ul class="sub-nav-list">
          -<li>Summary:&nbsp;</li>
          -<li>Nested&nbsp;|&nbsp;</li>
          -<li>Field&nbsp;|&nbsp;</li>
          -<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
          -<li><a href="#method.summary">Method</a></li>
          -</ul>
          -<ul class="sub-nav-list">
          -<li>Detail:&nbsp;</li>
          -<li>Field&nbsp;|&nbsp;</li>
          -<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
          -<li><a href="#method.detail">Method</a></li>
          -</ul>
          -</div>
          -<div class="nav-list-search"><label for="search">SEARCH:</label>
          -<input type="text" id="search" value="search" disabled="disabled">
          -<input type="reset" id="reset" value="reset" disabled="disabled">
          -</div>
          -</div>
          -<!-- ========= END OF TOP NAVBAR ========= -->
          -<span class="skip-nav" id="skip.navbar.top">
          -<!--   -->
          -</span></nav>
          -</header>
          -<div class="flex-content">
          -<main role="main">
          -<!-- ======== START OF CLASS DATA ======== -->
          -<div class="header">
          -<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">musichub.business</a></div>
          -<h1 title="Class PathValidation" class="title">Class PathValidation</h1>
          -</div>
          -<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
          -<div class="inheritance">musichub.business.PathValidation</div>
          -</div>
          -<section class="description">
          -<hr>
          -<div class="type-signature"><span class="modifiers">public final class </span><span class="element-name type-name-label">PathValidation</span>
          -<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
          -<div class="block">Class offering a path validation method.</div>
          -<dl class="notes">
          -<dt>Version:</dt>
          -<dd>1.0</dd>
          -<dt>Author:</dt>
          -<dd>Aimeric ADJUTOR</dd>
          -</dl>
          -</section>
          -<section class="summary">
          -<ul class="summary-list">
          -<!-- ======== CONSTRUCTOR SUMMARY ======== -->
          -<li>
          -<section class="constructor-summary" id="constructor.summary">
          -<h2>Constructor Summary</h2>
          -<div class="caption"><span>Constructors</span></div>
          -<div class="summary-table two-column-summary">
          -<div class="table-header col-first">Constructor</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-constructor-name even-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E()">PathValidation</a></span>()</code></div>
          -<div class="col-last even-row-color">
          -<div class="block">Method that just throws an AssertionError if the class is called</div>
          -</div>
          -</div>
          -</section>
          -</li>
          -<!-- ========== METHOD SUMMARY =========== -->
          -<li>
          -<section class="method-summary" id="method.summary">
          -<h2>Method Summary</h2>
          -<div id="method-summary-table">
          -<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
          -<div id="method-summary-table.tabpanel" role="tabpanel">
          -<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
          -<div class="table-header col-first">Modifier and Type</div>
          -<div class="table-header col-second">Method</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table"><code>static boolean</code></div>
          -<div class="col-second even-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#isPathValid(java.lang.String)">isPathValid</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;inputPath)</code></div>
          -<div class="col-last even-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table">
          -<div class="block">Method that checks the validity of a given path</div>
          -</div>
          -</div>
          -</div>
          -</div>
          -<div class="inherited-list">
          -<h3 id="methods.inherited.from.class.java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
          -<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -<section class="details">
          -<ul class="details-list">
          -<!-- ========= CONSTRUCTOR DETAIL ======== -->
          -<li>
          -<section class="constructor-details" id="constructor.detail">
          -<h2>Constructor Details</h2>
          -<ul class="member-list">
          -<li>
          -<section class="detail" id="&lt;init&gt;()">
          -<h3>PathValidation</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">PathValidation</span>()</div>
          -<div class="block">Method that just throws an AssertionError if the class is called</div>
          -<dl class="notes">
          -<dt>Throws:</dt>
          -<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/AssertionError.html" title="class or interface in java.lang" class="external-link">AssertionError</a></code> - you can't instantiate this class</dd>
          -</dl>
          -</section>
          -</li>
          -</ul>
          -</section>
          -</li>
          -<!-- ============ METHOD DETAIL ========== -->
          -<li>
          -<section class="method-details" id="method.detail">
          -<h2>Method Details</h2>
          -<ul class="member-list">
          -<li>
          -<section class="detail" id="isPathValid(java.lang.String)">
          -<h3>isPathValid</h3>
          -<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isPathValid</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;inputPath)</span></div>
          -<div class="block">Method that checks the validity of a given path</div>
          -<dl class="notes">
          -<dt>Parameters:</dt>
          -<dd><code>inputPath</code> - the path given by the user</dd>
          -<dt>Returns:</dt>
          -<dd>a boolean</dd>
          -</dl>
          -</section>
          -</li>
          -</ul>
          -</section>
          -</li>
          -</ul>
          -</section>
          -<!-- ========= END OF CLASS DATA ========= -->
          -</main>
          -<footer role="contentinfo">
          -<hr>
          -<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          -</footer>
          -</div>
          -</div>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/musichub/business/PlayList.html b/target/site/apidocs/musichub/business/PlayList.html
          index 533a2ad..a1ccc9b 100644
          --- a/target/site/apidocs/musichub/business/PlayList.html
          +++ b/target/site/apidocs/musichub/business/PlayList.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
           <title>PlayList (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/Song.html b/target/site/apidocs/musichub/business/Song.html
          index aa13772..82582dd 100644
          --- a/target/site/apidocs/musichub/business/Song.html
          +++ b/target/site/apidocs/musichub/business/Song.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
           <title>Song (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/class-use/Album.html b/target/site/apidocs/musichub/business/class-use/Album.html
          index a799c69..097e8c7 100644
          --- a/target/site/apidocs/musichub/business/class-use/Album.html
          +++ b/target/site/apidocs/musichub/business/class-use/Album.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
           <title>Uses of Class musichub.business.Album (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/class-use/AudioBook.html b/target/site/apidocs/musichub/business/class-use/AudioBook.html
          index 6054d2d..a109ca3 100644
          --- a/target/site/apidocs/musichub/business/class-use/AudioBook.html
          +++ b/target/site/apidocs/musichub/business/class-use/AudioBook.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
           <title>Uses of Class musichub.business.AudioBook (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/class-use/AudioElement.html b/target/site/apidocs/musichub/business/class-use/AudioElement.html
          index ab20cf8..1249775 100644
          --- a/target/site/apidocs/musichub/business/class-use/AudioElement.html
          +++ b/target/site/apidocs/musichub/business/class-use/AudioElement.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
           <title>Uses of Class musichub.business.AudioElement (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/class-use/Category.html b/target/site/apidocs/musichub/business/class-use/Category.html
          index d0b7007..022df3a 100644
          --- a/target/site/apidocs/musichub/business/class-use/Category.html
          +++ b/target/site/apidocs/musichub/business/class-use/Category.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
           <title>Uses of Enum Class musichub.business.Category (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/class-use/Genre.html b/target/site/apidocs/musichub/business/class-use/Genre.html
          index 94c178d..a9cd613 100644
          --- a/target/site/apidocs/musichub/business/class-use/Genre.html
          +++ b/target/site/apidocs/musichub/business/class-use/Genre.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
           <title>Uses of Enum Class musichub.business.Genre (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/class-use/Language.html b/target/site/apidocs/musichub/business/class-use/Language.html
          index 6df04ff..86ed23a 100644
          --- a/target/site/apidocs/musichub/business/class-use/Language.html
          +++ b/target/site/apidocs/musichub/business/class-use/Language.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
           <title>Uses of Enum Class musichub.business.Language (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/class-use/MusicHub.html b/target/site/apidocs/musichub/business/class-use/MusicHub.html
          index 2f00178..683a7e5 100644
          --- a/target/site/apidocs/musichub/business/class-use/MusicHub.html
          +++ b/target/site/apidocs/musichub/business/class-use/MusicHub.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
           <title>Uses of Class musichub.business.MusicHub (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/class-use/NoAlbumFoundException.html b/target/site/apidocs/musichub/business/class-use/NoAlbumFoundException.html
          index c11e6be..3d190ec 100644
          --- a/target/site/apidocs/musichub/business/class-use/NoAlbumFoundException.html
          +++ b/target/site/apidocs/musichub/business/class-use/NoAlbumFoundException.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
           <title>Uses of Class musichub.business.NoAlbumFoundException (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/class-use/NoElementFoundException.html b/target/site/apidocs/musichub/business/class-use/NoElementFoundException.html
          index 70bbffa..07bc200 100644
          --- a/target/site/apidocs/musichub/business/class-use/NoElementFoundException.html
          +++ b/target/site/apidocs/musichub/business/class-use/NoElementFoundException.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
           <title>Uses of Class musichub.business.NoElementFoundException (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/class-use/NoPlayListFoundException.html b/target/site/apidocs/musichub/business/class-use/NoPlayListFoundException.html
          index 97c5c34..0a7a442 100644
          --- a/target/site/apidocs/musichub/business/class-use/NoPlayListFoundException.html
          +++ b/target/site/apidocs/musichub/business/class-use/NoPlayListFoundException.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
           <title>Uses of Class musichub.business.NoPlayListFoundException (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/class-use/PathValidation.html b/target/site/apidocs/musichub/business/class-use/PathValidation.html
          deleted file mode 100644
          index b8a4f5a..0000000
          --- a/target/site/apidocs/musichub/business/class-use/PathValidation.html
          +++ /dev/null
          @@ -1,65 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          -<title>Uses of Class musichub.business.PathValidation (spoteezer 0.1.0 API)</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="use: package: musichub.business, class: PathValidation">
          -<meta name="generator" content="javadoc/ClassUseWriter">
          -<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.min.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../../jquery-ui.overrides.css" title="Style">
          -<script type="text/javascript" src="../../../script.js"></script>
          -<script type="text/javascript" src="../../../script-dir/jquery-3.5.1.min.js"></script>
          -<script type="text/javascript" src="../../../script-dir/jquery-ui.min.js"></script>
          -</head>
          -<body class="class-use-page">
          -<script type="text/javascript">var pathtoroot = "../../../";
          -loadScripts(document, 'script');</script>
          -<noscript>
          -<div>JavaScript is disabled on your browser.</div>
          -</noscript>
          -<div class="flex-box">
          -<header role="banner" class="flex-header">
          -<nav role="navigation">
          -<!-- ========= START OF TOP NAVBAR ======= -->
          -<div class="top-nav" id="navbar.top">
          -<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          -<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          -<li><a href="../../../index.html">Overview</a></li>
          -<li><a href="../package-summary.html">Package</a></li>
          -<li><a href="../PathValidation.html" title="class in musichub.business">Class</a></li>
          -<li class="nav-bar-cell1-rev">Use</li>
          -<li><a href="../package-tree.html">Tree</a></li>
          -<li><a href="../../../index-all.html">Index</a></li>
          -<li><a href="../../../help-doc.html">Help</a></li>
          -</ul>
          -</div>
          -<div class="sub-nav">
          -<div class="nav-list-search"><label for="search">SEARCH:</label>
          -<input type="text" id="search" value="search" disabled="disabled">
          -<input type="reset" id="reset" value="reset" disabled="disabled">
          -</div>
          -</div>
          -<!-- ========= END OF TOP NAVBAR ========= -->
          -<span class="skip-nav" id="skip.navbar.top">
          -<!--   -->
          -</span></nav>
          -</header>
          -<div class="flex-content">
          -<main role="main">
          -<div class="header">
          -<h1 title="Uses of Class musichub.business.PathValidation" class="title">Uses of Class<br>musichub.business.PathValidation</h1>
          -</div>
          -No usage of musichub.business.PathValidation</main>
          -<footer role="contentinfo">
          -<hr>
          -<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          -</footer>
          -</div>
          -</div>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/musichub/business/class-use/PlayList.html b/target/site/apidocs/musichub/business/class-use/PlayList.html
          index 7d039a5..151e091 100644
          --- a/target/site/apidocs/musichub/business/class-use/PlayList.html
          +++ b/target/site/apidocs/musichub/business/class-use/PlayList.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
           <title>Uses of Class musichub.business.PlayList (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/class-use/Song.html b/target/site/apidocs/musichub/business/class-use/Song.html
          index 853c506..f7caf68 100644
          --- a/target/site/apidocs/musichub/business/class-use/Song.html
          +++ b/target/site/apidocs/musichub/business/class-use/Song.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
           <title>Uses of Class musichub.business.Song (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/package-summary.html b/target/site/apidocs/musichub/business/package-summary.html
          index 57c22af..ab9bef3 100644
          --- a/target/site/apidocs/musichub/business/package-summary.html
          +++ b/target/site/apidocs/musichub/business/package-summary.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
           <title>musichub.business (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          @@ -71,14 +71,10 @@ loadScripts(document, 'script');</script>
           <div class="col-last even-row-color">&nbsp;</div>
           <div class="col-first odd-row-color"><a href="MusicHub.html" title="class in musichub.business">MusicHub</a></div>
           <div class="col-last odd-row-color">&nbsp;</div>
          -<div class="col-first even-row-color"><a href="PathValidation.html" title="class in musichub.business">PathValidation</a></div>
          -<div class="col-last even-row-color">
          -<div class="block">Class offering a path validation method.</div>
          -</div>
          -<div class="col-first odd-row-color"><a href="PlayList.html" title="class in musichub.business">PlayList</a></div>
          -<div class="col-last odd-row-color">&nbsp;</div>
          -<div class="col-first even-row-color"><a href="Song.html" title="class in musichub.business">Song</a></div>
          +<div class="col-first even-row-color"><a href="PlayList.html" title="class in musichub.business">PlayList</a></div>
           <div class="col-last even-row-color">&nbsp;</div>
          +<div class="col-first odd-row-color"><a href="Song.html" title="class in musichub.business">Song</a></div>
          +<div class="col-last odd-row-color">&nbsp;</div>
           </div>
           </li>
           <li>
          diff --git a/target/site/apidocs/musichub/business/package-tree.html b/target/site/apidocs/musichub/business/package-tree.html
          index 31cbe13..e1a5f5b 100644
          --- a/target/site/apidocs/musichub/business/package-tree.html
          +++ b/target/site/apidocs/musichub/business/package-tree.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
           <title>musichub.business Class Hierarchy (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          @@ -71,7 +71,6 @@ loadScripts(document, 'script');</script>
           </ul>
           </li>
           <li class="circle">musichub.business.<a href="MusicHub.html" title="class in musichub.business"><span class="type-name-link">MusicHub</span></a></li>
          -<li class="circle">musichub.business.<a href="PathValidation.html" title="class in musichub.business"><span class="type-name-link">PathValidation</span></a></li>
           <li class="circle">musichub.business.<a href="PlayList.html" title="class in musichub.business"><span class="type-name-link">PlayList</span></a></li>
           <li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html" title="class or interface in java.lang" class="external-link"><span class="type-name-link">Throwable</span></a> (implements java.io.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a>)
           <ul>
          diff --git a/target/site/apidocs/musichub/business/package-use.html b/target/site/apidocs/musichub/business/package-use.html
          index c75e960..89e8d56 100644
          --- a/target/site/apidocs/musichub/business/package-use.html
          +++ b/target/site/apidocs/musichub/business/package-use.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
           <title>Uses of Package musichub.business (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/main/Main.html b/target/site/apidocs/musichub/main/Main.html
          index d060888..2a6bcf8 100644
          --- a/target/site/apidocs/musichub/main/Main.html
          +++ b/target/site/apidocs/musichub/main/Main.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
           <title>Main (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/main/class-use/Main.html b/target/site/apidocs/musichub/main/class-use/Main.html
          index 2ea6da4..819433d 100644
          --- a/target/site/apidocs/musichub/main/class-use/Main.html
          +++ b/target/site/apidocs/musichub/main/class-use/Main.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
           <title>Uses of Class musichub.main.Main (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/main/package-summary.html b/target/site/apidocs/musichub/main/package-summary.html
          index 87c57b3..afcd6ad 100644
          --- a/target/site/apidocs/musichub/main/package-summary.html
          +++ b/target/site/apidocs/musichub/main/package-summary.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
           <title>musichub.main (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/main/package-tree.html b/target/site/apidocs/musichub/main/package-tree.html
          index d6354f0..393b386 100644
          --- a/target/site/apidocs/musichub/main/package-tree.html
          +++ b/target/site/apidocs/musichub/main/package-tree.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
           <title>musichub.main Class Hierarchy (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/main/package-use.html b/target/site/apidocs/musichub/main/package-use.html
          index 68e7ada..0747159 100644
          --- a/target/site/apidocs/musichub/main/package-use.html
          +++ b/target/site/apidocs/musichub/main/package-use.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
           <title>Uses of Package musichub.main (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/util/XMLHandler.html b/target/site/apidocs/musichub/util/XMLHandler.html
          index 52734c9..53ffdbe 100644
          --- a/target/site/apidocs/musichub/util/XMLHandler.html
          +++ b/target/site/apidocs/musichub/util/XMLHandler.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
           <title>XMLHandler (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/util/class-use/XMLHandler.html b/target/site/apidocs/musichub/util/class-use/XMLHandler.html
          index 04b02a0..8c6ad08 100644
          --- a/target/site/apidocs/musichub/util/class-use/XMLHandler.html
          +++ b/target/site/apidocs/musichub/util/class-use/XMLHandler.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
           <title>Uses of Class musichub.util.XMLHandler (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/util/package-summary.html b/target/site/apidocs/musichub/util/package-summary.html
          index 72ff644..24257be 100644
          --- a/target/site/apidocs/musichub/util/package-summary.html
          +++ b/target/site/apidocs/musichub/util/package-summary.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
           <title>musichub.util (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          @@ -63,6 +63,14 @@ loadScripts(document, 'script');</script>
           <div class="summary-table two-column-summary">
           <div class="table-header col-first">Class</div>
           <div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color"><a href="LogHandler.html" title="class in musichub.util">LogHandler</a></div>
          +<div class="col-last even-row-color">
          +<div class="block">Class offering a log writing method.</div>
          +</div>
          +<div class="col-first odd-row-color"><a href="PathValidation.html" title="class in musichub.util">PathValidation</a></div>
          +<div class="col-last odd-row-color">
          +<div class="block">Class offering a path validation method.</div>
          +</div>
           <div class="col-first even-row-color"><a href="XMLHandler.html" title="class in musichub.util">XMLHandler</a></div>
           <div class="col-last even-row-color">&nbsp;</div>
           </div>
          diff --git a/target/site/apidocs/musichub/util/package-tree.html b/target/site/apidocs/musichub/util/package-tree.html
          index 7817d93..ace19b6 100644
          --- a/target/site/apidocs/musichub/util/package-tree.html
          +++ b/target/site/apidocs/musichub/util/package-tree.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
           <title>musichub.util Class Hierarchy (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          @@ -63,6 +63,8 @@ loadScripts(document, 'script');</script>
           <ul>
           <li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link"><span class="type-name-link">Object</span></a>
           <ul>
          +<li class="circle">musichub.util.<a href="LogHandler.html" title="class in musichub.util"><span class="type-name-link">LogHandler</span></a></li>
          +<li class="circle">musichub.util.<a href="PathValidation.html" title="class in musichub.util"><span class="type-name-link">PathValidation</span></a></li>
           <li class="circle">musichub.util.<a href="XMLHandler.html" title="class in musichub.util"><span class="type-name-link">XMLHandler</span></a></li>
           </ul>
           </li>
          diff --git a/target/site/apidocs/musichub/util/package-use.html b/target/site/apidocs/musichub/util/package-use.html
          index afe8c6d..02a3fc7 100644
          --- a/target/site/apidocs/musichub/util/package-use.html
          +++ b/target/site/apidocs/musichub/util/package-use.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
           <title>Uses of Package musichub.util (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/overview-summary.html b/target/site/apidocs/overview-summary.html
          index 1961838..370d2cb 100644
          --- a/target/site/apidocs/overview-summary.html
          +++ b/target/site/apidocs/overview-summary.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
           <title>spoteezer 0.1.0 API</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/overview-tree.html b/target/site/apidocs/overview-tree.html
          index 69d606a..943af3e 100644
          --- a/target/site/apidocs/overview-tree.html
          +++ b/target/site/apidocs/overview-tree.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
           <title>Class Hierarchy (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          @@ -72,9 +72,10 @@ loadScripts(document, 'script');</script>
           <li class="circle">musichub.business.<a href="musichub/business/Song.html" title="class in musichub.business"><span class="type-name-link">Song</span></a></li>
           </ul>
           </li>
          +<li class="circle">musichub.util.<a href="musichub/util/LogHandler.html" title="class in musichub.util"><span class="type-name-link">LogHandler</span></a></li>
           <li class="circle">musichub.main.<a href="musichub/main/Main.html" title="class in musichub.main"><span class="type-name-link">Main</span></a></li>
           <li class="circle">musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business"><span class="type-name-link">MusicHub</span></a></li>
          -<li class="circle">musichub.business.<a href="musichub/business/PathValidation.html" title="class in musichub.business"><span class="type-name-link">PathValidation</span></a></li>
          +<li class="circle">musichub.util.<a href="musichub/util/PathValidation.html" title="class in musichub.util"><span class="type-name-link">PathValidation</span></a></li>
           <li class="circle">musichub.business.<a href="musichub/business/PlayList.html" title="class in musichub.business"><span class="type-name-link">PlayList</span></a></li>
           <li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html" title="class or interface in java.lang" class="external-link"><span class="type-name-link">Throwable</span></a> (implements java.io.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a>)
           <ul>
          diff --git a/target/site/apidocs/serialized-form.html b/target/site/apidocs/serialized-form.html
          index 011c84f..781fdeb 100644
          --- a/target/site/apidocs/serialized-form.html
          +++ b/target/site/apidocs/serialized-form.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 14:29:15 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
           <title>Serialized Form (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/type-search-index.js b/target/site/apidocs/type-search-index.js
          index be00fa7..26dac6f 100644
          --- a/target/site/apidocs/type-search-index.js
          +++ b/target/site/apidocs/type-search-index.js
          @@ -1 +1 @@
          -typeSearchIndex = [{"p":"musichub.business","l":"Album"},{"l":"All Classes","u":"allclasses-index.html"},{"p":"musichub.business","l":"AudioBook"},{"p":"musichub.business","l":"AudioElement"},{"p":"musichub.business","l":"Category"},{"p":"musichub.business","l":"Genre"},{"p":"musichub.business","l":"Language"},{"p":"musichub.main","l":"Main"},{"p":"musichub.business","l":"MusicHub"},{"p":"musichub.business","l":"NoAlbumFoundException"},{"p":"musichub.business","l":"NoElementFoundException"},{"p":"musichub.business","l":"NoPlayListFoundException"},{"p":"musichub.business","l":"PathValidation"},{"p":"musichub.business","l":"PlayList"},{"p":"musichub.business","l":"Song"},{"p":"musichub.util","l":"XMLHandler"}];updateSearchResults();
          \ No newline at end of file
          +typeSearchIndex = [{"p":"musichub.business","l":"Album"},{"l":"All Classes","u":"allclasses-index.html"},{"p":"musichub.business","l":"AudioBook"},{"p":"musichub.business","l":"AudioElement"},{"p":"musichub.business","l":"Category"},{"p":"musichub.business","l":"Genre"},{"p":"musichub.business","l":"Language"},{"p":"musichub.util","l":"LogHandler"},{"p":"musichub.main","l":"Main"},{"p":"musichub.business","l":"MusicHub"},{"p":"musichub.business","l":"NoAlbumFoundException"},{"p":"musichub.business","l":"NoElementFoundException"},{"p":"musichub.business","l":"NoPlayListFoundException"},{"p":"musichub.util","l":"PathValidation"},{"p":"musichub.business","l":"PlayList"},{"p":"musichub.business","l":"Song"},{"p":"musichub.util","l":"XMLHandler"}];updateSearchResults();
          \ No newline at end of file
          diff --git a/target/site/jacoco/index.html b/target/site/jacoco/index.html
          index f0faf92..b800f3f 100644
          --- a/target/site/jacoco/index.html
          +++ b/target/site/jacoco/index.html
          @@ -1 +1 @@
          -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>spoteezer</title><script type="text/javascript" src="jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="jacoco-sessions.html" class="el_session">Sessions</a></span><span class="el_report">spoteezer</span></div><h1>spoteezer</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">2 723 of 2 740</td><td class="ctr2">0 %</td><td class="bar">209 of 209</td><td class="ctr2">0 %</td><td class="ctr1">205</td><td class="ctr2">207</td><td class="ctr1">723</td><td class="ctr2">727</td><td class="ctr1">88</td><td class="ctr2">90</td><td class="ctr1">17</td><td class="ctr2">18</td></tr></tfoot><tbody><tr><td id="a0"><a href="musichub.business/index.html" class="el_package">musichub.business</a></td><td class="bar" id="b0"><img src="jacoco-resources/redbar.gif" width="119" height="10" title="2 063" alt="2 063"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"><img src="jacoco-resources/redbar.gif" width="120" height="10" title="169" alt="169"/></td><td class="ctr2" id="e0">0 %</td><td class="ctr1" id="f0">172</td><td class="ctr2" id="g0">174</td><td class="ctr1" id="h0">499</td><td class="ctr2" id="i0">503</td><td class="ctr1" id="j0">81</td><td class="ctr2" id="k0">83</td><td class="ctr1" id="l0">15</td><td class="ctr2" id="m0">16</td></tr><tr><td id="a1"><a href="musichub.main/index.html" class="el_package">musichub.main</a></td><td class="bar" id="b1"><img src="jacoco-resources/redbar.gif" width="33" height="10" title="588" alt="588"/></td><td class="ctr2" id="c1">0 %</td><td class="bar" id="d1"><img src="jacoco-resources/redbar.gif" width="28" height="10" title="40" alt="40"/></td><td class="ctr2" id="e1">0 %</td><td class="ctr1" id="f1">29</td><td class="ctr2" id="g1">29</td><td class="ctr1" id="h1">199</td><td class="ctr2" id="i1">199</td><td class="ctr1" id="j2">3</td><td class="ctr2" id="k2">3</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a2"><a href="musichub.util/index.html" class="el_package">musichub.util</a></td><td class="bar" id="b2"><img src="jacoco-resources/redbar.gif" width="4" height="10" title="72" alt="72"/></td><td class="ctr2" id="c2">0 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">4</td><td class="ctr2" id="g2">4</td><td class="ctr1" id="h2">25</td><td class="ctr2" id="i2">25</td><td class="ctr1" id="j1">4</td><td class="ctr2" id="k1">4</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>spoteezer</title><script type="text/javascript" src="jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="jacoco-sessions.html" class="el_session">Sessions</a></span><span class="el_report">spoteezer</span></div><h1>spoteezer</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">2 740 of 2 803</td><td class="ctr2">2 %</td><td class="bar">210 of 210</td><td class="ctr2">0 %</td><td class="ctr1">206</td><td class="ctr2">211</td><td class="ctr1">730</td><td class="ctr2">745</td><td class="ctr1">88</td><td class="ctr2">93</td><td class="ctr1">17</td><td class="ctr2">19</td></tr></tfoot><tbody><tr><td id="a0"><a href="musichub.business/index.html" class="el_package">musichub.business</a></td><td class="bar" id="b0"><img src="jacoco-resources/redbar.gif" width="120" height="10" title="2 063" alt="2 063"/></td><td class="ctr2" id="c1">0 %</td><td class="bar" id="d0"><img src="jacoco-resources/redbar.gif" width="120" height="10" title="169" alt="169"/></td><td class="ctr2" id="e0">0 %</td><td class="ctr1" id="f0">172</td><td class="ctr2" id="g0">172</td><td class="ctr1" id="h0">499</td><td class="ctr2" id="i0">499</td><td class="ctr1" id="j0">81</td><td class="ctr2" id="k0">81</td><td class="ctr1" id="l0">15</td><td class="ctr2" id="m0">15</td></tr><tr><td id="a1"><a href="musichub.main/index.html" class="el_package">musichub.main</a></td><td class="bar" id="b1"><img src="jacoco-resources/redbar.gif" width="35" height="10" title="605" alt="605"/></td><td class="ctr2" id="c2">0 %</td><td class="bar" id="d1"><img src="jacoco-resources/redbar.gif" width="29" height="10" title="41" alt="41"/></td><td class="ctr2" id="e1">0 %</td><td class="ctr1" id="f1">30</td><td class="ctr2" id="g1">30</td><td class="ctr1" id="h1">206</td><td class="ctr2" id="i1">206</td><td class="ctr1" id="j2">3</td><td class="ctr2" id="k2">3</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a2"><a href="musichub.util/index.html" class="el_package">musichub.util</a></td><td class="bar" id="b2"><img src="jacoco-resources/redbar.gif" width="4" height="10" title="72" alt="72"/><img src="jacoco-resources/greenbar.gif" width="3" height="10" title="63" alt="63"/></td><td class="ctr2" id="c0">46 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">4</td><td class="ctr2" id="g2">9</td><td class="ctr1" id="h2">25</td><td class="ctr2" id="i2">40</td><td class="ctr1" id="j1">4</td><td class="ctr2" id="k1">9</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m1">3</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/jacoco-sessions.html b/target/site/jacoco/jacoco-sessions.html
          index 478feda..4058e1f 100644
          --- a/target/site/jacoco/jacoco-sessions.html
          +++ b/target/site/jacoco/jacoco-sessions.html
          @@ -1 +1 @@
          -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>Sessions</title></head><body><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="jacoco-sessions.html" class="el_session">Sessions</a></span><a href="index.html" class="el_report">spoteezer</a> &gt; <span class="el_session">Sessions</span></div><h1>Sessions</h1><p>This coverage report is based on execution data from the following sessions:</p><table class="coverage" cellspacing="0"><thead><tr><td>Session</td><td>Start Time</td><td>Dump Time</td></tr></thead><tbody><tr><td><span class="el_session">DESKTOP-M4INQND-e57e2e00</span></td><td>26 juin 2021, 14:29:08</td><td>26 juin 2021, 14:29:09</td></tr><tr><td><span class="el_session">DESKTOP-M4INQND-3e358c1a</span></td><td>26 juin 2021, 14:29:30</td><td>26 juin 2021, 14:29:30</td></tr><tr><td><span class="el_session">DESKTOP-M4INQND-56f46767</span></td><td>26 juin 2021, 14:29:49</td><td>26 juin 2021, 14:29:49</td></tr><tr><td><span class="el_session">DESKTOP-M4INQND-e88c304d</span></td><td>26 juin 2021, 14:30:30</td><td>26 juin 2021, 14:30:30</td></tr><tr><td><span class="el_session">DESKTOP-M4INQND-20d8781c</span></td><td>26 juin 2021, 14:30:42</td><td>26 juin 2021, 14:30:43</td></tr><tr><td><span class="el_session">DESKTOP-M4INQND-442c10a6</span></td><td>26 juin 2021, 14:30:53</td><td>26 juin 2021, 14:30:53</td></tr></tbody></table><p>Execution data for the following classes is considered in this report:</p><table class="coverage" cellspacing="0"><thead><tr><td>Class</td><td>Id</td></tr></thead><tbody><tr><td><a href="musichub.business/PathValidation.html" class="el_class">musichub.business.PathValidation</a></td><td><code>23fa11bc9f27a597</code></td></tr><tr><td><span class="el_class">musichub.business.PathValidationTest</span></td><td><code>c2c5ebe52507fc9e</code></td></tr><tr><td><span class="el_class">musichub.business.PathValidationTest</span></td><td><code>325f5b44374bcaeb</code></td></tr><tr><td><span class="el_class">musichub.business.PathValidationTest</span></td><td><code>4c7ade2bf38c6e74</code></td></tr><tr><td><span class="el_class">musichub.business.PathValidationTest</span></td><td><code>192d10ac364dc41c</code></td></tr><tr><td><span class="el_class">org.apache.maven.plugin.surefire.log.api.NullConsoleLogger</span></td><td><code>80d79e52a7499259</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.AbstractPathConfiguration</span></td><td><code>8182fa1396653f01</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.BaseProviderFactory</span></td><td><code>82593383b8ea92d6</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.BiProperty</span></td><td><code>4945e268841ae2cb</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.BooterDeserializer</span></td><td><code>5e68b147d2c4b22f</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ClassLoaderConfiguration</span></td><td><code>dc8fd5c18ebb0e44</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.Classpath</span></td><td><code>6f6b6469b9fdf4dd</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ClasspathConfiguration</span></td><td><code>4c7a5282c74ba3e2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.Command</span></td><td><code>eb1b53eb8cbe7b47</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.CommandReader</span></td><td><code>0c8d3ca700ec7199</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.CommandReader.1</span></td><td><code>fbfebde20e2b504c</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.CommandReader.CommandRunnable</span></td><td><code>ee59ae4d74408619</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.DumpErrorSingleton</span></td><td><code>a3fa02cb87e0e12b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter</span></td><td><code>a5c33895f0d22838</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.1</span></td><td><code>c87487d278c3ea96</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.2</span></td><td><code>31c66931520df8eb</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.3</span></td><td><code>95d48141fa4dd03d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.4</span></td><td><code>24dcd1c5bcf0d850</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.5</span></td><td><code>862846325c16cf76</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.6</span></td><td><code>b3ab24d3791d84dd</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.7</span></td><td><code>401437f62a3b16ff</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.PingScheduler</span></td><td><code>04bf02021dfc5e9c</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkingReporterFactory</span></td><td><code>076a6c0176f6238b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkingRunListener</span></td><td><code>92d4b034b32ca2c0</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.MasterProcessCommand</span></td><td><code>da65de332c2de19d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.PpidChecker</span></td><td><code>71b8c658da2ea8d3</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.PpidChecker.2</span></td><td><code>68d262a2c2ad8f14</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.PpidChecker.ProcessInfoConsumer</span></td><td><code>73f319c21fab7e7f</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ProcessInfo</span></td><td><code>b5b56cd86f3f0b31</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.PropertiesWrapper</span></td><td><code>ae4bf137cc5290c1</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ProviderConfiguration</span></td><td><code>d19986536a351b50</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.Shutdown</span></td><td><code>ee9c65017e107986</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.StartupConfiguration</span></td><td><code>a8cc10b01ed27439</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.SystemPropertyManager</span></td><td><code>f47497b1dde50d64</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.TypeEncodedValue</span></td><td><code>5ea9766678ac06a2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.cli.CommandLineOption</span></td><td><code>467fc7f51b73863b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.junitplatform.JUnitPlatformProvider</span></td><td><code>89b934b90ec6eb01</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.junitplatform.RunListenerAdapter</span></td><td><code>02cb8e87a6db2057</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.junitplatform.TestPlanScannerFilter</span></td><td><code>622558f718a42827</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.org.apache.maven.shared.utils.StringUtils</span></td><td><code>336ef03300f29635</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.providerapi.AbstractProvider</span></td><td><code>90f3b08fe8a1c87c</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ClassNameStackTraceFilter</span></td><td><code>2e0e75f8104a222a</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ConsoleOutputCapture</span></td><td><code>b8ae904ed8536017</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ConsoleOutputCapture.ForwardingPrintStream</span></td><td><code>f912ea5d2dac308e</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ConsoleOutputCapture.NullOutputStream</span></td><td><code>8d05eb67510fd586</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.PojoStackTraceWriter</span></td><td><code>cdfe959904c6726b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ReporterConfiguration</span></td><td><code>4281487891f02f69</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.SafeThrowable</span></td><td><code>e61429531d0f0c1c</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.SimpleReportEntry</span></td><td><code>ced572f24a462295</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.SmartStackTraceParser</span></td><td><code>05e423188a7bbb31</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.io.IOUtils</span></td><td><code>31aed2fcfab3e082</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.io.output.StringBuilderWriter</span></td><td><code>6d33fec8cb3374c0</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.lang3.JavaVersion</span></td><td><code>a8452005cb20bb7d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.lang3.StringUtils</span></td><td><code>4f785afa8bb3a23f</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.lang3.SystemUtils</span></td><td><code>aba69a973b7ba06a</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.lang3.math.NumberUtils</span></td><td><code>d0156407bff7b695</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.maven.shared.utils.StringUtils</span></td><td><code>483d14212b21a3ea</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.suite.RunResult</span></td><td><code>f5c7c53a954bcafa</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.DirectoryScannerParameters</span></td><td><code>2b5eeacae469cd1d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.IncludedExcludedPatterns</span></td><td><code>f39908e3b64d7090</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.ResolvedTest</span></td><td><code>a598483e424232d4</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.ResolvedTest.ClassMatcher</span></td><td><code>79be7f2fa77ad8d7</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.ResolvedTest.MethodMatcher</span></td><td><code>7c71374a51e8e61b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.ResolvedTest.Type</span></td><td><code>90e4214668937845</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.RunOrderParameters</span></td><td><code>b4c06223c3099700</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.TestArtifactInfo</span></td><td><code>f703953620e80b33</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.TestListResolver</span></td><td><code>7d372c99b98a147d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.TestRequest</span></td><td><code>0fa2c0cc34345df2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.CloseableIterator</span></td><td><code>cc15bdebae86d5d2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.DefaultRunOrderCalculator</span></td><td><code>1aeecbcd3bf6e89b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.DefaultScanResult</span></td><td><code>7fefafdf8c793c36</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.ReflectionUtils</span></td><td><code>8d5f4b05d6d77207</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.RunOrder</span></td><td><code>d2292a6beb4b6337</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.TestsToRun</span></td><td><code>a95363e4b4ba2069</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.TestsToRun.ClassesIterator</span></td><td><code>84a139c598502c0b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.DaemonThreadFactory</span></td><td><code>21a589f6dedb169c</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.DaemonThreadFactory.NamedThreadFactory</span></td><td><code>682458ca85b067a3</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.DumpFileUtils</span></td><td><code>fff19f49be3d8149</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.ImmutableMap</span></td><td><code>72bcae5e55b4fabb</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.ObjectUtils</span></td><td><code>69a2a92649b44645</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.StringUtils</span></td><td><code>3a7e4daf0a993e1e</code></td></tr><tr><td><span class="el_class">org.apiguardian.api.API.Status</span></td><td><code>0341e8d99fc36573</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertEquals</span></td><td><code>12bfbbf2e4327e63</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertFalse</span></td><td><code>32fea5a28fb6a114</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertTrue</span></td><td><code>612f68f7274dd69c</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertionUtils</span></td><td><code>da37ffd9f98016fd</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.Assertions</span></td><td><code>041279bcf2826fff</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.TestInstance.Lifecycle</span></td><td><code>0e93858cc703e9fc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ConditionEvaluationResult</span></td><td><code>2f9dc9ea54b57975</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ExtensionContext</span></td><td><code>222e1fc44c4844aa</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.DiscoveryFilterApplier</span></td><td><code>ae96a3ff3c2e2bc4</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.JupiterTestEngine</span></td><td><code>c74f725c8cb223be</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.AbstractExtensionContext</span></td><td><code>1f7ed0b87a9f2cca</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ClassExtensionContext</span></td><td><code>b85422abe06bbadd</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ClassTestDescriptor</span></td><td><code>61a635a4acc3ee31</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterEngineDescriptor</span></td><td><code>d025635c09450d0d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterEngineExtensionContext</span></td><td><code>7ae853fe3a80d83c</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterTestDescriptor</span></td><td><code>606e5ec97816bda5</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.LifecycleMethodUtils</span></td><td><code>19c9fba5accef0fa</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.MethodBasedTestDescriptor</span></td><td><code>65654838f58d8b44</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.MethodExtensionContext</span></td><td><code>c098f6d0bb344d56</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.TestInstanceLifecycleUtils</span></td><td><code>c42bb138e6a06252</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor</span></td><td><code>54eb6a19bd953962</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.AbstractMethodResolver</span></td><td><code>3934f16bf877b9f5</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.DiscoverySelectorResolver</span></td><td><code>a858789f976fefbc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.JavaElementsResolver</span></td><td><code>32e9ea682e77049d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodFinder</span></td><td><code>5ea468d2eb528361</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.NestedTestsResolver</span></td><td><code>9d92451ae793af41</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.TestContainerResolver</span></td><td><code>7db010f5e9c7301d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.TestFactoryMethodResolver</span></td><td><code>59fd27320e375440</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.TestMethodResolver</span></td><td><code>1417c6356fa4b27f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.TestTemplateMethodResolver</span></td><td><code>47563eb55cd35171</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsInnerClass</span></td><td><code>f7d9846d00228720</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsNestedTestClass</span></td><td><code>e47ff7cd33073803</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsPotentialTestContainer</span></td><td><code>0f8df015b2d5841a</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsScannableTestClass</span></td><td><code>839db992754219f6</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestClassWithTests</span></td><td><code>5ab134cc6ef3a81f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestFactoryMethod</span></td><td><code>a2c68978bd6bfbc6</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestMethod</span></td><td><code>8b244977e441886e</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestTemplateMethod</span></td><td><code>0baf1066bf0cbad7</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestableMethod</span></td><td><code>59a0b58a40803fe2</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ConditionEvaluator</span></td><td><code>fba35d945644501d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ExecutableInvoker</span></td><td><code>d64b9ef7a154ea95</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ExtensionValuesStore</span></td><td><code>2517eb7835ca6234</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext</span></td><td><code>65be276e3a954a94</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.Builder</span></td><td><code>dd69537274ccbffc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.State</span></td><td><code>38616672a2502408</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ThrowableCollector</span></td><td><code>92102b13561afdcf</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.DisabledCondition</span></td><td><code>a967493a244329fa</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.ExtensionRegistry</span></td><td><code>20b847fc63fd255b</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.RepeatedTestExtension</span></td><td><code>1b7914cc8cf83732</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TestInfoParameterResolver</span></td><td><code>1b5b370a56807cae</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TestReporterParameterResolver</span></td><td><code>839c7c31b3ec6390</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.logging.LoggerFactory</span></td><td><code>ca4e1a8773fb9bed</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.logging.LoggerFactory.DelegatingLogger</span></td><td><code>fd74fe2bb4edddd0</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.AnnotationUtils</span></td><td><code>32499b01efc144e8</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.AnnotationUtils.AnnotationCacheKey</span></td><td><code>f04082259bc4a6ab</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.BlacklistedExceptions</span></td><td><code>73365157bacc50af</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClassLoaderUtils</span></td><td><code>ebded5f4ecebd9d8</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClassUtils</span></td><td><code>4982a89773933a90</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClasspathScanner</span></td><td><code>8425ab535628f6b9</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.CollectionUtils</span></td><td><code>59532d0e14166bc8</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ExceptionUtils</span></td><td><code>0125033b30a9585f</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.Preconditions</span></td><td><code>f9207dc44e9d043d</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ReflectionUtils</span></td><td><code>4d39f1033ae8eb12</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ReflectionUtils.HierarchyTraversalMode</span></td><td><code>b267f8ac562d551e</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.StringUtils</span></td><td><code>3441f99393e2406b</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.CompositeFilter</span></td><td><code>d9d6482243cc9fa3</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.CompositeFilter.1</span></td><td><code>75dffc26c0811b9d</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.ExecutionRequest</span></td><td><code>ed3835cc21e5a048</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.Filter</span></td><td><code>f932423ccd3b54bf</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.FilterResult</span></td><td><code>bf731bc7f64ce694</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestDescriptor</span></td><td><code>e9574ca206cded64</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestDescriptor.Type</span></td><td><code>eb97fc5a29f3ee3a</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestExecutionResult</span></td><td><code>abbab174d32db912</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestExecutionResult.Status</span></td><td><code>da0473a55d05e891</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueId</span></td><td><code>d23a178963e86ca7</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueId.Segment</span></td><td><code>54a2765f04c8cab7</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueIdFormat</span></td><td><code>c860ade4b928ce32</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.ClassSelector</span></td><td><code>228aa96d72021db2</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.DiscoverySelectors</span></td><td><code>8fefc6f1651cc3bd</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.AbstractTestDescriptor</span></td><td><code>2bfbf25c43491443</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.ClassSource</span></td><td><code>9727c5551a632c40</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.EngineDescriptor</span></td><td><code>b7dbf6dfb794516c</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.MethodSource</span></td><td><code>0a1b0f0f95f17b77</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.filter.ClasspathScanningSupport</span></td><td><code>8223a02c2b9d8c89</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.ExecutionTracker</span></td><td><code>cbd37bfd76595d62</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine</span></td><td><code>410766a2a07e44b1</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor</span></td><td><code>7b43a475463d740e</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.1</span></td><td><code>197b854565198af0</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.Node</span></td><td><code>8a5379bd364a5bf6</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.Node.SkipResult</span></td><td><code>d4551dfb7a813206</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.SingleTestExecutor</span></td><td><code>d75bd01628eef7be</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.TestIdentifier</span></td><td><code>225bb434f8f223e2</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.TestPlan</span></td><td><code>9a2b71b572924cbc</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultDiscoveryRequest</span></td><td><code>7dda3ad9a0e6a666</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncher</span></td><td><code>1a1f88af87dc6ec1</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ExecutionListenerAdapter</span></td><td><code>52cf3c3c69d4dfba</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters</span></td><td><code>ef55cacb5e47a902</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherDiscoveryRequestBuilder</span></td><td><code>e78a71b91c159e69</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherFactory</span></td><td><code>e2bd67b8a72737b5</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.Root</span></td><td><code>32394ca895f9fb9a</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ServiceLoaderTestEngineRegistry</span></td><td><code>7c054c4cf76cb0f6</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ServiceLoaderTestExecutionListenerRegistry</span></td><td><code>2299bac1075a6bf3</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.TestExecutionListenerRegistry</span></td><td><code>190f4fb2b0ab865d</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.TestExecutionListenerRegistry.CompositeTestExecutionListener</span></td><td><code>7538d2d860e1f9cb</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.LegacyReportingUtils</span></td><td><code>f3c021e100a54063</code></td></tr><tr><td><span class="el_class">org.opentest4j.AssertionFailedError</span></td><td><code>2c5f69ceb24e9128</code></td></tr><tr><td><span class="el_class">org.opentest4j.ValueWrapper</span></td><td><code>7d0d1c90c1c4c4b3</code></td></tr><tr><td><span class="el_class">sun.text.resources.cldr.ext.FormatData_fr</span></td><td><code>cfe4ef8ff7428512</code></td></tr><tr><td><span class="el_class">sun.util.resources.cldr.provider.CLDRLocaleDataMetaInfo</span></td><td><code>888d0e6a76acb845</code></td></tr><tr><td><span class="el_class">sun.util.resources.provider.LocaleDataProvider</span></td><td><code>36ca29d59ab35e5c</code></td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>Sessions</title></head><body><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="jacoco-sessions.html" class="el_session">Sessions</a></span><a href="index.html" class="el_report">spoteezer</a> &gt; <span class="el_session">Sessions</span></div><h1>Sessions</h1><p>This coverage report is based on execution data from the following sessions:</p><table class="coverage" cellspacing="0"><thead><tr><td>Session</td><td>Start Time</td><td>Dump Time</td></tr></thead><tbody><tr><td><span class="el_session">DESKTOP-M4INQND-be4b9e12</span></td><td>26 juin 2021, 22:06:25</td><td>26 juin 2021, 22:06:26</td></tr><tr><td><span class="el_session">DESKTOP-M4INQND-4db7b834</span></td><td>26 juin 2021, 22:06:38</td><td>26 juin 2021, 22:06:38</td></tr></tbody></table><p>Execution data for the following classes is considered in this report:</p><table class="coverage" cellspacing="0"><thead><tr><td>Class</td><td>Id</td></tr></thead><tbody><tr><td><span class="el_class">java.sql.Date</span></td><td><code>d25610486aed3f31</code></td></tr><tr><td><span class="el_class">java.sql.Timestamp</span></td><td><code>b848522074600355</code></td></tr><tr><td><a href="musichub.util/LogHandler.html" class="el_class">musichub.util.LogHandler</a></td><td><code>727806a24a38b49a</code></td></tr><tr><td><span class="el_class">musichub.util.LogHandlerTest</span></td><td><code>d7b83ca1e47cacd7</code></td></tr><tr><td><a href="musichub.util/PathValidation.html" class="el_class">musichub.util.PathValidation</a></td><td><code>538d6ca0ac9478ad</code></td></tr><tr><td><span class="el_class">musichub.util.PathValidationTest</span></td><td><code>b026f96f38b030a9</code></td></tr><tr><td><span class="el_class">org.apache.maven.plugin.surefire.log.api.NullConsoleLogger</span></td><td><code>80d79e52a7499259</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.AbstractPathConfiguration</span></td><td><code>8182fa1396653f01</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.BaseProviderFactory</span></td><td><code>82593383b8ea92d6</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.BiProperty</span></td><td><code>4945e268841ae2cb</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.BooterDeserializer</span></td><td><code>5e68b147d2c4b22f</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ClassLoaderConfiguration</span></td><td><code>dc8fd5c18ebb0e44</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.Classpath</span></td><td><code>6f6b6469b9fdf4dd</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ClasspathConfiguration</span></td><td><code>4c7a5282c74ba3e2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.Command</span></td><td><code>eb1b53eb8cbe7b47</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.CommandReader</span></td><td><code>0c8d3ca700ec7199</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.CommandReader.1</span></td><td><code>fbfebde20e2b504c</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.CommandReader.CommandRunnable</span></td><td><code>ee59ae4d74408619</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.DumpErrorSingleton</span></td><td><code>a3fa02cb87e0e12b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter</span></td><td><code>a5c33895f0d22838</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.1</span></td><td><code>c87487d278c3ea96</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.2</span></td><td><code>31c66931520df8eb</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.3</span></td><td><code>95d48141fa4dd03d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.4</span></td><td><code>24dcd1c5bcf0d850</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.5</span></td><td><code>862846325c16cf76</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.6</span></td><td><code>b3ab24d3791d84dd</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.7</span></td><td><code>401437f62a3b16ff</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.PingScheduler</span></td><td><code>04bf02021dfc5e9c</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkingReporterFactory</span></td><td><code>076a6c0176f6238b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkingRunListener</span></td><td><code>92d4b034b32ca2c0</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.MasterProcessCommand</span></td><td><code>da65de332c2de19d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.PpidChecker</span></td><td><code>71b8c658da2ea8d3</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.PpidChecker.2</span></td><td><code>68d262a2c2ad8f14</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.PpidChecker.ProcessInfoConsumer</span></td><td><code>73f319c21fab7e7f</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ProcessInfo</span></td><td><code>b5b56cd86f3f0b31</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.PropertiesWrapper</span></td><td><code>ae4bf137cc5290c1</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ProviderConfiguration</span></td><td><code>d19986536a351b50</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.Shutdown</span></td><td><code>ee9c65017e107986</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.StartupConfiguration</span></td><td><code>a8cc10b01ed27439</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.SystemPropertyManager</span></td><td><code>f47497b1dde50d64</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.TypeEncodedValue</span></td><td><code>5ea9766678ac06a2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.cli.CommandLineOption</span></td><td><code>467fc7f51b73863b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.junitplatform.JUnitPlatformProvider</span></td><td><code>89b934b90ec6eb01</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.junitplatform.RunListenerAdapter</span></td><td><code>02cb8e87a6db2057</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.junitplatform.TestPlanScannerFilter</span></td><td><code>622558f718a42827</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.providerapi.AbstractProvider</span></td><td><code>90f3b08fe8a1c87c</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ConsoleOutputCapture</span></td><td><code>b8ae904ed8536017</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ConsoleOutputCapture.ForwardingPrintStream</span></td><td><code>f912ea5d2dac308e</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ConsoleOutputCapture.NullOutputStream</span></td><td><code>8d05eb67510fd586</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ReporterConfiguration</span></td><td><code>4281487891f02f69</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.SimpleReportEntry</span></td><td><code>ced572f24a462295</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.io.IOUtils</span></td><td><code>31aed2fcfab3e082</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.io.output.StringBuilderWriter</span></td><td><code>6d33fec8cb3374c0</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.lang3.JavaVersion</span></td><td><code>a8452005cb20bb7d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.lang3.StringUtils</span></td><td><code>4f785afa8bb3a23f</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.lang3.SystemUtils</span></td><td><code>aba69a973b7ba06a</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.lang3.math.NumberUtils</span></td><td><code>d0156407bff7b695</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.maven.shared.utils.StringUtils</span></td><td><code>483d14212b21a3ea</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.suite.RunResult</span></td><td><code>f5c7c53a954bcafa</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.DirectoryScannerParameters</span></td><td><code>2b5eeacae469cd1d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.IncludedExcludedPatterns</span></td><td><code>f39908e3b64d7090</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.ResolvedTest</span></td><td><code>a598483e424232d4</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.ResolvedTest.ClassMatcher</span></td><td><code>79be7f2fa77ad8d7</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.ResolvedTest.MethodMatcher</span></td><td><code>7c71374a51e8e61b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.ResolvedTest.Type</span></td><td><code>90e4214668937845</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.RunOrderParameters</span></td><td><code>b4c06223c3099700</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.TestArtifactInfo</span></td><td><code>f703953620e80b33</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.TestListResolver</span></td><td><code>7d372c99b98a147d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.TestRequest</span></td><td><code>0fa2c0cc34345df2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.CloseableIterator</span></td><td><code>cc15bdebae86d5d2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.DefaultRunOrderCalculator</span></td><td><code>1aeecbcd3bf6e89b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.DefaultScanResult</span></td><td><code>7fefafdf8c793c36</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.ReflectionUtils</span></td><td><code>8d5f4b05d6d77207</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.RunOrder</span></td><td><code>d2292a6beb4b6337</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.TestsToRun</span></td><td><code>a95363e4b4ba2069</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.TestsToRun.ClassesIterator</span></td><td><code>84a139c598502c0b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.DaemonThreadFactory</span></td><td><code>21a589f6dedb169c</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.DaemonThreadFactory.NamedThreadFactory</span></td><td><code>682458ca85b067a3</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.DumpFileUtils</span></td><td><code>fff19f49be3d8149</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.ImmutableMap</span></td><td><code>72bcae5e55b4fabb</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.ObjectUtils</span></td><td><code>69a2a92649b44645</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.StringUtils</span></td><td><code>3a7e4daf0a993e1e</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.StringUtils.EncodedArray</span></td><td><code>477f1d94d78cb50b</code></td></tr><tr><td><span class="el_class">org.apiguardian.api.API.Status</span></td><td><code>0341e8d99fc36573</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertEquals</span></td><td><code>12bfbbf2e4327e63</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertFalse</span></td><td><code>32fea5a28fb6a114</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertTrue</span></td><td><code>612f68f7274dd69c</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertionUtils</span></td><td><code>da37ffd9f98016fd</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.Assertions</span></td><td><code>041279bcf2826fff</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.TestInstance.Lifecycle</span></td><td><code>0e93858cc703e9fc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ConditionEvaluationResult</span></td><td><code>2f9dc9ea54b57975</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ExtensionContext</span></td><td><code>222e1fc44c4844aa</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.DiscoveryFilterApplier</span></td><td><code>ae96a3ff3c2e2bc4</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.JupiterTestEngine</span></td><td><code>c74f725c8cb223be</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.AbstractExtensionContext</span></td><td><code>1f7ed0b87a9f2cca</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ClassExtensionContext</span></td><td><code>b85422abe06bbadd</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ClassTestDescriptor</span></td><td><code>61a635a4acc3ee31</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterEngineDescriptor</span></td><td><code>d025635c09450d0d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterEngineExtensionContext</span></td><td><code>7ae853fe3a80d83c</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterTestDescriptor</span></td><td><code>606e5ec97816bda5</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.LifecycleMethodUtils</span></td><td><code>19c9fba5accef0fa</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.MethodBasedTestDescriptor</span></td><td><code>65654838f58d8b44</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.MethodExtensionContext</span></td><td><code>c098f6d0bb344d56</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.TestInstanceLifecycleUtils</span></td><td><code>c42bb138e6a06252</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor</span></td><td><code>54eb6a19bd953962</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.AbstractMethodResolver</span></td><td><code>3934f16bf877b9f5</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.DiscoverySelectorResolver</span></td><td><code>a858789f976fefbc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.JavaElementsResolver</span></td><td><code>32e9ea682e77049d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodFinder</span></td><td><code>5ea468d2eb528361</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.NestedTestsResolver</span></td><td><code>9d92451ae793af41</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.TestContainerResolver</span></td><td><code>7db010f5e9c7301d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.TestFactoryMethodResolver</span></td><td><code>59fd27320e375440</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.TestMethodResolver</span></td><td><code>1417c6356fa4b27f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.TestTemplateMethodResolver</span></td><td><code>47563eb55cd35171</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsInnerClass</span></td><td><code>f7d9846d00228720</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsNestedTestClass</span></td><td><code>e47ff7cd33073803</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsPotentialTestContainer</span></td><td><code>0f8df015b2d5841a</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsScannableTestClass</span></td><td><code>839db992754219f6</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestClassWithTests</span></td><td><code>5ab134cc6ef3a81f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestFactoryMethod</span></td><td><code>a2c68978bd6bfbc6</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestMethod</span></td><td><code>8b244977e441886e</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestTemplateMethod</span></td><td><code>0baf1066bf0cbad7</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestableMethod</span></td><td><code>59a0b58a40803fe2</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ConditionEvaluator</span></td><td><code>fba35d945644501d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ExecutableInvoker</span></td><td><code>d64b9ef7a154ea95</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ExtensionValuesStore</span></td><td><code>2517eb7835ca6234</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext</span></td><td><code>65be276e3a954a94</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.Builder</span></td><td><code>dd69537274ccbffc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.State</span></td><td><code>38616672a2502408</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ThrowableCollector</span></td><td><code>92102b13561afdcf</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.DisabledCondition</span></td><td><code>a967493a244329fa</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.ExtensionRegistry</span></td><td><code>20b847fc63fd255b</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.RepeatedTestExtension</span></td><td><code>1b7914cc8cf83732</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TestInfoParameterResolver</span></td><td><code>1b5b370a56807cae</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TestReporterParameterResolver</span></td><td><code>839c7c31b3ec6390</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.logging.LoggerFactory</span></td><td><code>ca4e1a8773fb9bed</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.logging.LoggerFactory.DelegatingLogger</span></td><td><code>fd74fe2bb4edddd0</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.AnnotationUtils</span></td><td><code>32499b01efc144e8</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.AnnotationUtils.AnnotationCacheKey</span></td><td><code>f04082259bc4a6ab</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClassLoaderUtils</span></td><td><code>ebded5f4ecebd9d8</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClassUtils</span></td><td><code>4982a89773933a90</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClasspathScanner</span></td><td><code>8425ab535628f6b9</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.CollectionUtils</span></td><td><code>59532d0e14166bc8</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.Preconditions</span></td><td><code>f9207dc44e9d043d</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ReflectionUtils</span></td><td><code>4d39f1033ae8eb12</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ReflectionUtils.HierarchyTraversalMode</span></td><td><code>b267f8ac562d551e</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.StringUtils</span></td><td><code>3441f99393e2406b</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.CompositeFilter</span></td><td><code>d9d6482243cc9fa3</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.CompositeFilter.1</span></td><td><code>75dffc26c0811b9d</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.ExecutionRequest</span></td><td><code>ed3835cc21e5a048</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.Filter</span></td><td><code>f932423ccd3b54bf</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.FilterResult</span></td><td><code>bf731bc7f64ce694</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestDescriptor</span></td><td><code>e9574ca206cded64</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestDescriptor.Type</span></td><td><code>eb97fc5a29f3ee3a</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestExecutionResult</span></td><td><code>abbab174d32db912</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestExecutionResult.Status</span></td><td><code>da0473a55d05e891</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueId</span></td><td><code>d23a178963e86ca7</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueId.Segment</span></td><td><code>54a2765f04c8cab7</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueIdFormat</span></td><td><code>c860ade4b928ce32</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.ClassSelector</span></td><td><code>228aa96d72021db2</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.DiscoverySelectors</span></td><td><code>8fefc6f1651cc3bd</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.AbstractTestDescriptor</span></td><td><code>2bfbf25c43491443</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.ClassSource</span></td><td><code>9727c5551a632c40</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.EngineDescriptor</span></td><td><code>b7dbf6dfb794516c</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.MethodSource</span></td><td><code>0a1b0f0f95f17b77</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.filter.ClasspathScanningSupport</span></td><td><code>8223a02c2b9d8c89</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.ExecutionTracker</span></td><td><code>cbd37bfd76595d62</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine</span></td><td><code>410766a2a07e44b1</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor</span></td><td><code>7b43a475463d740e</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.1</span></td><td><code>197b854565198af0</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.Node</span></td><td><code>8a5379bd364a5bf6</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.Node.SkipResult</span></td><td><code>d4551dfb7a813206</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.SingleTestExecutor</span></td><td><code>d75bd01628eef7be</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.TestIdentifier</span></td><td><code>225bb434f8f223e2</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.TestPlan</span></td><td><code>9a2b71b572924cbc</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultDiscoveryRequest</span></td><td><code>7dda3ad9a0e6a666</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncher</span></td><td><code>1a1f88af87dc6ec1</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ExecutionListenerAdapter</span></td><td><code>52cf3c3c69d4dfba</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters</span></td><td><code>ef55cacb5e47a902</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherDiscoveryRequestBuilder</span></td><td><code>e78a71b91c159e69</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherFactory</span></td><td><code>e2bd67b8a72737b5</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.Root</span></td><td><code>32394ca895f9fb9a</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ServiceLoaderTestEngineRegistry</span></td><td><code>7c054c4cf76cb0f6</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ServiceLoaderTestExecutionListenerRegistry</span></td><td><code>2299bac1075a6bf3</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.TestExecutionListenerRegistry</span></td><td><code>190f4fb2b0ab865d</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.TestExecutionListenerRegistry.CompositeTestExecutionListener</span></td><td><code>7538d2d860e1f9cb</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.LegacyReportingUtils</span></td><td><code>f3c021e100a54063</code></td></tr><tr><td><span class="el_class">sun.text.resources.cldr.ext.FormatData_fr</span></td><td><code>cfe4ef8ff7428512</code></td></tr><tr><td><span class="el_class">sun.util.resources.cldr.provider.CLDRLocaleDataMetaInfo</span></td><td><code>888d0e6a76acb845</code></td></tr><tr><td><span class="el_class">sun.util.resources.provider.LocaleDataProvider</span></td><td><code>36ca29d59ab35e5c</code></td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/jacoco.csv b/target/site/jacoco/jacoco.csv
          index 9aff09d..6466855 100644
          --- a/target/site/jacoco/jacoco.csv
          +++ b/target/site/jacoco/jacoco.csv
          @@ -1,7 +1,8 @@
           GROUP,PACKAGE,CLASS,INSTRUCTION_MISSED,INSTRUCTION_COVERED,BRANCH_MISSED,BRANCH_COVERED,LINE_MISSED,LINE_COVERED,COMPLEXITY_MISSED,COMPLEXITY_COVERED,METHOD_MISSED,METHOD_COVERED
          +spoteezer,musichub.util,PathValidation,0,17,0,0,0,4,0,2,0,2
          +spoteezer,musichub.util,LogHandler,0,46,0,0,0,11,0,3,0,3
           spoteezer,musichub.util,XMLHandler,72,0,0,0,25,0,4,0,4,0
           spoteezer,musichub.business,Album,330,0,14,0,84,0,16,0,9,0
          -spoteezer,musichub.business,PathValidation,0,17,0,0,0,4,0,2,0,2
           spoteezer,musichub.business,SortByAuthor,9,0,0,0,2,0,2,0,2,0
           spoteezer,musichub.business,NoAlbumFoundException,4,0,0,0,2,0,1,0,1,0
           spoteezer,musichub.business,Language,49,0,0,0,6,0,3,0,3,0
          @@ -16,4 +17,4 @@ spoteezer,musichub.business,SortByGenre,9,0,0,0,2,0,2,0,2,0
           spoteezer,musichub.business,NoElementFoundException,4,0,0,0,2,0,1,0,1,0
           spoteezer,musichub.business,Genre,56,0,0,0,6,0,3,0,3,0
           spoteezer,musichub.business,AudioElement,266,0,11,0,72,0,16,0,9,0
          -spoteezer,musichub.main,Main,588,0,40,0,199,0,29,0,3,0
          +spoteezer,musichub.main,Main,605,0,41,0,206,0,30,0,3,0
          diff --git a/target/site/jacoco/jacoco.xml b/target/site/jacoco/jacoco.xml
          index 5a939ee..2e46b55 100644
          --- a/target/site/jacoco/jacoco.xml
          +++ b/target/site/jacoco/jacoco.xml
          @@ -1 +1 @@
          -<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!DOCTYPE report PUBLIC "-//JACOCO//DTD Report 1.1//EN" "report.dtd"><report name="spoteezer"><sessioninfo id="DESKTOP-M4INQND-e57e2e00" start="1624710548706" dump="1624710549076"/><sessioninfo id="DESKTOP-M4INQND-3e358c1a" start="1624710570201" dump="1624710570575"/><sessioninfo id="DESKTOP-M4INQND-56f46767" start="1624710589444" dump="1624710589830"/><sessioninfo id="DESKTOP-M4INQND-e88c304d" start="1624710630581" dump="1624710630973"/><sessioninfo id="DESKTOP-M4INQND-20d8781c" start="1624710642738" dump="1624710643144"/><sessioninfo id="DESKTOP-M4INQND-442c10a6" start="1624710653198" dump="1624710653579"/><package name="musichub/util"><class name="musichub/util/XMLHandler" sourcefilename="XMLHandler.java"><method name="&lt;init&gt;" desc="()V" line="26"><counter type="INSTRUCTION" missed="23" covered="0"/><counter type="LINE" missed="9" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createXMLFile" desc="(Lorg/w3c/dom/Document;Ljava/lang/String;)V" line="41"><counter type="INSTRUCTION" missed="23" covered="0"/><counter type="LINE" missed="7" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createXMLDocument" desc="()Lorg/w3c/dom/Document;" line="57"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="parseXMLFile" desc="(Ljava/lang/String;)Lorg/w3c/dom/NodeList;" line="61"><counter type="INSTRUCTION" missed="22" covered="0"/><counter type="LINE" missed="8" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="72" covered="0"/><counter type="LINE" missed="25" covered="0"/><counter type="COMPLEXITY" missed="4" covered="0"/><counter type="METHOD" missed="4" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><sourcefile name="XMLHandler.java"><line nr="26" mi="2" ci="0" mb="0" cb="0"/><line nr="28" mi="3" ci="0" mb="0" cb="0"/><line nr="29" mi="5" ci="0" mb="0" cb="0"/><line nr="30" mi="3" ci="0" mb="0" cb="0"/><line nr="31" mi="5" ci="0" mb="0" cb="0"/><line nr="32" mi="1" ci="0" mb="0" cb="0"/><line nr="33" mi="2" ci="0" mb="0" cb="0"/><line nr="34" mi="1" ci="0" mb="0" cb="0"/><line nr="35" mi="1" ci="0" mb="0" cb="0"/><line nr="41" mi="5" ci="0" mb="0" cb="0"/><line nr="42" mi="8" ci="0" mb="0" cb="0"/><line nr="49" mi="5" ci="0" mb="0" cb="0"/><line nr="51" mi="1" ci="0" mb="0" cb="0"/><line nr="52" mi="2" ci="0" mb="0" cb="0"/><line nr="53" mi="1" ci="0" mb="0" cb="0"/><line nr="54" mi="1" ci="0" mb="0" cb="0"/><line nr="57" mi="4" ci="0" mb="0" cb="0"/><line nr="61" mi="2" ci="0" mb="0" cb="0"/><line nr="63" mi="8" ci="0" mb="0" cb="0"/><line nr="64" mi="3" ci="0" mb="0" cb="0"/><line nr="66" mi="3" ci="0" mb="0" cb="0"/><line nr="67" mi="1" ci="0" mb="0" cb="0"/><line nr="68" mi="2" ci="0" mb="0" cb="0"/><line nr="69" mi="1" ci="0" mb="0" cb="0"/><line nr="70" mi="2" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="72" covered="0"/><counter type="LINE" missed="25" covered="0"/><counter type="COMPLEXITY" missed="4" covered="0"/><counter type="METHOD" missed="4" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><counter type="INSTRUCTION" missed="72" covered="0"/><counter type="LINE" missed="25" covered="0"/><counter type="COMPLEXITY" missed="4" covered="0"/><counter type="METHOD" missed="4" covered="0"/><counter type="CLASS" missed="1" covered="0"/></package><package name="musichub/business"><class name="musichub/business/Album" sourcefilename="Album.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/util/ArrayList;)V" line="21"><counter type="INSTRUCTION" missed="33" covered="0"/><counter type="LINE" missed="12" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V" line="35"><counter type="INSTRUCTION" missed="34" covered="0"/><counter type="LINE" missed="12" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Lorg/w3c/dom/Element;)V" line="49"><counter type="INSTRUCTION" missed="112" covered="0"/><counter type="BRANCH" missed="12" covered="0"/><counter type="LINE" missed="26" covered="0"/><counter type="COMPLEXITY" missed="7" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addSong" desc="(Ljava/util/UUID;)V" line="89"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getSongs" desc="()Ljava/util/List;" line="94"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getSongsRandomly" desc="()Ljava/util/ArrayList;" line="98"><counter type="INSTRUCTION" missed="7" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getTitle" desc="()Ljava/lang/String;" line="104"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getDate" desc="()Ljava/util/Date;" line="108"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createXMLElement" desc="(Lorg/w3c/dom/Document;Lorg/w3c/dom/Element;)V" line="112"><counter type="INSTRUCTION" missed="129" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="26" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="330" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="84" covered="0"/><counter type="COMPLEXITY" missed="16" covered="0"/><counter type="METHOD" missed="9" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/PathValidation" sourcefilename="PathValidation.java"><method name="&lt;init&gt;" desc="()V" line="22"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isPathValid" desc="(Ljava/lang/String;)Z" line="34"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="musichub/business/SortByAuthor" sourcefilename="MusicHub.java"><method name="&lt;init&gt;" desc="()V" line="27"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="compare" desc="(Lmusichub/business/AudioElement;Lmusichub/business/AudioElement;)I" line="29"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="9" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/NoAlbumFoundException" sourcefilename="NoAlbumFoundException.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="6"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/Language" sourcefilename="Language.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;ILjava/lang/String;)V" line="7"><counter type="INSTRUCTION" missed="8" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getLanguage" desc="()Ljava/lang/String;" line="12"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="3"><counter type="INSTRUCTION" missed="38" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="49" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/SortByDate" sourcefilename="MusicHub.java"><method name="&lt;init&gt;" desc="()V" line="15"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="compare" desc="(Lmusichub/business/Album;Lmusichub/business/Album;)I" line="17"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="9" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/MusicHub" sourcefilename="MusicHub.java"><method name="&lt;init&gt;" desc="()V" line="41"><counter type="INSTRUCTION" missed="29" covered="0"/><counter type="LINE" missed="9" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addElement" desc="(Lmusichub/business/AudioElement;)V" line="53"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addAlbum" desc="(Lmusichub/business/Album;)V" line="57"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addPlaylist" desc="(Lmusichub/business/PlayList;)V" line="61"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="deletePlayList" desc="(Ljava/lang/String;)V" line="66"><counter type="INSTRUCTION" missed="40" covered="0"/><counter type="BRANCH" missed="8" covered="0"/><counter type="LINE" missed="11" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="albums" desc="()Ljava/util/Iterator;" line="81"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="playlists" desc="()Ljava/util/Iterator;" line="85"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="elements" desc="()Ljava/util/Iterator;" line="89"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAlbumsTitlesSortedByDate" desc="()Ljava/lang/String;" line="93"><counter type="INSTRUCTION" missed="32" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAudiobooksTitlesSortedByAuthor" desc="()Ljava/lang/String;" line="101"><counter type="INSTRUCTION" missed="53" covered="0"/><counter type="BRANCH" missed="6" covered="0"/><counter type="LINE" missed="9" covered="0"/><counter type="COMPLEXITY" missed="4" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAlbumSongs" desc="(Ljava/lang/String;)Ljava/util/List;" line="113"><counter type="INSTRUCTION" missed="73" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="15" covered="0"/><counter type="COMPLEXITY" missed="8" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAlbumSongsSortedByGenre" desc="(Ljava/lang/String;)Ljava/util/List;" line="135"><counter type="INSTRUCTION" missed="79" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="16" covered="0"/><counter type="COMPLEXITY" missed="8" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addElementToAlbum" desc="(Ljava/lang/String;Ljava/lang/String;)V" line="158"><counter type="INSTRUCTION" missed="82" covered="0"/><counter type="BRANCH" missed="12" covered="0"/><counter type="LINE" missed="20" covered="0"/><counter type="COMPLEXITY" missed="7" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addElementToPlayList" desc="(Ljava/lang/String;Ljava/lang/String;)V" line="187"><counter type="INSTRUCTION" missed="82" covered="0"/><counter type="BRANCH" missed="12" covered="0"/><counter type="LINE" missed="20" covered="0"/><counter type="COMPLEXITY" missed="7" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="loadAlbums" desc="()V" line="218"><counter type="INSTRUCTION" missed="44" covered="0"/><counter type="BRANCH" missed="8" covered="0"/><counter type="LINE" missed="11" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="loadPlaylists" desc="()V" line="236"><counter type="INSTRUCTION" missed="44" covered="0"/><counter type="BRANCH" missed="8" covered="0"/><counter type="LINE" missed="11" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="loadElements" desc="()V" line="254"><counter type="INSTRUCTION" missed="64" covered="0"/><counter type="BRANCH" missed="10" covered="0"/><counter type="LINE" missed="18" covered="0"/><counter type="COMPLEXITY" missed="6" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="saveAlbums" desc="()V" line="282"><counter type="INSTRUCTION" missed="36" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="10" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="savePlayLists" desc="()V" line="298"><counter type="INSTRUCTION" missed="36" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="10" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="saveElements" desc="()V" line="314"><counter type="INSTRUCTION" missed="47" covered="0"/><counter type="BRANCH" missed="8" covered="0"/><counter type="LINE" missed="12" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAudioElement" desc="(Ljava/util/List;Ljava/lang/String;)V" line="335"><counter type="INSTRUCTION" missed="19" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="34"><counter type="INSTRUCTION" missed="13" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="803" covered="0"/><counter type="BRANCH" missed="114" covered="0"/><counter type="LINE" missed="195" covered="0"/><counter type="COMPLEXITY" missed="79" covered="0"/><counter type="METHOD" missed="22" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/Category" sourcefilename="Category.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;ILjava/lang/String;)V" line="7"><counter type="INSTRUCTION" missed="8" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getCategory" desc="()Ljava/lang/String;" line="12"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="3"><counter type="INSTRUCTION" missed="38" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="49" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/Song" sourcefilename="Song.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" line="11"><counter type="INSTRUCTION" missed="11" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V" line="16"><counter type="INSTRUCTION" missed="10" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Lorg/w3c/dom/Element;)V" line="21"><counter type="INSTRUCTION" missed="12" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getGenre" desc="()Ljava/lang/String;" line="26"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="setGenre" desc="(Ljava/lang/String;)V" line="30"><counter type="INSTRUCTION" missed="33" covered="0"/><counter type="BRANCH" missed="6" covered="0"/><counter type="LINE" missed="8" covered="0"/><counter type="COMPLEXITY" missed="6" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="toString" desc="()Ljava/lang/String;" line="41"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createXMLElement" desc="(Lorg/w3c/dom/Document;Lorg/w3c/dom/Element;)V" line="46"><counter type="INSTRUCTION" missed="29" covered="0"/><counter type="LINE" missed="7" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="105" covered="0"/><counter type="BRANCH" missed="6" covered="0"/><counter type="LINE" missed="26" covered="0"/><counter type="COMPLEXITY" missed="12" covered="0"/><counter type="METHOD" missed="7" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/NoPlayListFoundException" sourcefilename="NoPlayListFoundException.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="6"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/PlayList" sourcefilename="PlayList.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/util/ArrayList;)V" line="16"><counter type="INSTRUCTION" missed="13" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="22"><counter type="INSTRUCTION" missed="14" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Lorg/w3c/dom/Element;)V" line="28"><counter type="INSTRUCTION" missed="88" covered="0"/><counter type="BRANCH" missed="12" covered="0"/><counter type="LINE" missed="23" covered="0"/><counter type="COMPLEXITY" missed="7" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addElement" desc="(Ljava/util/UUID;)V" line="66"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getElements" desc="()Ljava/util/ArrayList;" line="70"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getTitle" desc="()Ljava/lang/String;" line="74"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createXMLElement" desc="(Lorg/w3c/dom/Document;Lorg/w3c/dom/Element;)V" line="78"><counter type="INSTRUCTION" missed="75" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="16" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="202" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="53" covered="0"/><counter type="COMPLEXITY" missed="14" covered="0"/><counter type="METHOD" missed="7" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/AudioBook" sourcefilename="AudioBook.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" line="11"><counter type="INSTRUCTION" missed="14" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" line="17"><counter type="INSTRUCTION" missed="13" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Lorg/w3c/dom/Element;)V" line="23"><counter type="INSTRUCTION" missed="20" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getLanguage" desc="()Lmusichub/business/Language;" line="29"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="setLanguage" desc="(Ljava/lang/String;)V" line="33"><counter type="INSTRUCTION" missed="29" covered="0"/><counter type="BRANCH" missed="5" covered="0"/><counter type="LINE" missed="7" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getCategory" desc="()Lmusichub/business/Category;" line="43"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="setCategory" desc="(Ljava/lang/String;)V" line="47"><counter type="INSTRUCTION" missed="29" covered="0"/><counter type="BRANCH" missed="5" covered="0"/><counter type="LINE" missed="7" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="toString" desc="()Ljava/lang/String;" line="58"><counter type="INSTRUCTION" missed="8" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createXMLElement" desc="(Lorg/w3c/dom/Document;Lorg/w3c/dom/Element;)V" line="64"><counter type="INSTRUCTION" missed="45" covered="0"/><counter type="LINE" missed="10" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="164" covered="0"/><counter type="BRANCH" missed="10" covered="0"/><counter type="LINE" missed="39" covered="0"/><counter type="COMPLEXITY" missed="17" covered="0"/><counter type="METHOD" missed="9" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/SortByGenre" sourcefilename="MusicHub.java"><method name="&lt;init&gt;" desc="()V" line="21"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="compare" desc="(Lmusichub/business/Song;Lmusichub/business/Song;)I" line="23"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="9" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/NoElementFoundException" sourcefilename="NoElementFoundException.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="6"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/Genre" sourcefilename="Genre.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;ILjava/lang/String;)V" line="7"><counter type="INSTRUCTION" missed="8" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getGenre" desc="()Ljava/lang/String;" line="12"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="3"><counter type="INSTRUCTION" missed="45" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="56" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/AudioElement" sourcefilename="AudioElement.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V" line="24"><counter type="INSTRUCTION" missed="19" covered="0"/><counter type="LINE" missed="7" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V" line="32"><counter type="INSTRUCTION" missed="18" covered="0"/><counter type="LINE" missed="7" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Lorg/w3c/dom/Element;)V" line="40"><counter type="INSTRUCTION" missed="63" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="14" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getUUID" desc="()Ljava/util/UUID;" line="59"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getArtist" desc="()Ljava/lang/String;" line="63"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getTitle" desc="()Ljava/lang/String;" line="67"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="toString" desc="()Ljava/lang/String;" line="71"><counter type="INSTRUCTION" missed="10" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createXMLElement" desc="(Lorg/w3c/dom/Document;Lorg/w3c/dom/Element;)V" line="75"><counter type="INSTRUCTION" missed="79" covered="0"/><counter type="LINE" missed="16" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="manageAudioElement" desc="()V" line="99"><counter type="INSTRUCTION" missed="68" covered="0"/><counter type="BRANCH" missed="7" covered="0"/><counter type="LINE" missed="24" covered="0"/><counter type="COMPLEXITY" missed="6" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="266" covered="0"/><counter type="BRANCH" missed="11" covered="0"/><counter type="LINE" missed="72" covered="0"/><counter type="COMPLEXITY" missed="16" covered="0"/><counter type="METHOD" missed="9" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><sourcefile name="MusicHub.java"><line nr="15" mi="3" ci="0" mb="0" cb="0"/><line nr="17" mi="6" ci="0" mb="0" cb="0"/><line nr="21" mi="3" ci="0" mb="0" cb="0"/><line nr="23" mi="6" ci="0" mb="0" cb="0"/><line nr="27" mi="3" ci="0" mb="0" cb="0"/><line nr="29" mi="6" ci="0" mb="0" cb="0"/><line nr="34" mi="3" ci="0" mb="0" cb="0"/><line nr="35" mi="3" ci="0" mb="0" cb="0"/><line nr="36" mi="3" ci="0" mb="0" cb="0"/><line nr="37" mi="4" ci="0" mb="0" cb="0"/><line nr="41" mi="5" ci="0" mb="0" cb="0"/><line nr="43" mi="2" ci="0" mb="0" cb="0"/><line nr="44" mi="5" ci="0" mb="0" cb="0"/><line nr="45" mi="5" ci="0" mb="0" cb="0"/><line nr="46" mi="5" ci="0" mb="0" cb="0"/><line nr="47" mi="2" ci="0" mb="0" cb="0"/><line nr="48" mi="2" ci="0" mb="0" cb="0"/><line nr="49" mi="2" ci="0" mb="0" cb="0"/><line nr="50" mi="1" ci="0" mb="0" cb="0"/><line nr="53" mi="5" ci="0" mb="0" cb="0"/><line nr="54" mi="1" ci="0" mb="0" cb="0"/><line nr="57" mi="5" ci="0" mb="0" cb="0"/><line nr="58" mi="1" ci="0" mb="0" cb="0"/><line nr="61" mi="5" ci="0" mb="0" cb="0"/><line nr="62" mi="1" ci="0" mb="0" cb="0"/><line nr="66" mi="2" ci="0" mb="0" cb="0"/><line nr="67" mi="2" ci="0" mb="0" cb="0"/><line nr="68" mi="11" ci="0" mb="2" cb="0"/><line nr="69" mi="5" ci="0" mb="2" cb="0"/><line nr="70" mi="2" ci="0" mb="0" cb="0"/><line nr="71" mi="1" ci="0" mb="0" cb="0"/><line nr="73" mi="1" ci="0" mb="0" cb="0"/><line nr="75" mi="2" ci="0" mb="2" cb="0"/><line nr="76" mi="5" ci="0" mb="0" cb="0"/><line nr="77" mi="8" ci="0" mb="2" cb="0"/><line nr="78" mi="1" ci="0" mb="0" cb="0"/><line nr="81" mi="4" ci="0" mb="0" cb="0"/><line nr="85" mi="4" ci="0" mb="0" cb="0"/><line nr="89" mi="4" ci="0" mb="0" cb="0"/><line nr="93" mi="4" ci="0" mb="0" cb="0"/><line nr="94" mi="6" ci="0" mb="0" cb="0"/><line nr="95" mi="11" ci="0" mb="2" cb="0"/><line nr="96" mi="8" ci="0" mb="0" cb="0"/><line nr="97" mi="3" ci="0" mb="0" cb="0"/><line nr="101" mi="4" ci="0" mb="0" cb="0"/><line nr="102" mi="4" ci="0" mb="0" cb="0"/><line nr="103" mi="11" ci="0" mb="2" cb="0"/><line nr="104" mi="4" ci="0" mb="2" cb="0"/><line nr="105" mi="4" ci="0" mb="0" cb="0"/><line nr="106" mi="5" ci="0" mb="0" cb="0"/><line nr="107" mi="10" ci="0" mb="2" cb="0"/><line nr="108" mi="8" ci="0" mb="0" cb="0"/><line nr="109" mi="3" ci="0" mb="0" cb="0"/><line nr="113" mi="2" ci="0" mb="0" cb="0"/><line nr="114" mi="4" ci="0" mb="0" cb="0"/><line nr="115" mi="11" ci="0" mb="2" cb="0"/><line nr="116" mi="5" ci="0" mb="2" cb="0"/><line nr="117" mi="2" ci="0" mb="0" cb="0"/><line nr="118" mi="1" ci="0" mb="0" cb="0"/><line nr="120" mi="1" ci="0" mb="0" cb="0"/><line nr="121" mi="7" ci="0" mb="2" cb="0"/><line nr="123" mi="3" ci="0" mb="0" cb="0"/><line nr="124" mi="10" ci="0" mb="2" cb="0"/><line nr="125" mi="12" ci="0" mb="2" cb="0"/><line nr="126" mi="3" ci="0" mb="2" cb="0"/><line nr="127" mi="9" ci="0" mb="2" cb="0"/><line nr="129" mi="1" ci="0" mb="0" cb="0"/><line nr="130" mi="2" ci="0" mb="0" cb="0"/><line nr="135" mi="2" ci="0" mb="0" cb="0"/><line nr="136" mi="4" ci="0" mb="0" cb="0"/><line nr="137" mi="11" ci="0" mb="2" cb="0"/><line nr="138" mi="5" ci="0" mb="2" cb="0"/><line nr="139" mi="2" ci="0" mb="0" cb="0"/><line nr="140" mi="1" ci="0" mb="0" cb="0"/><line nr="142" mi="1" ci="0" mb="0" cb="0"/><line nr="143" mi="7" ci="0" mb="2" cb="0"/><line nr="145" mi="3" ci="0" mb="0" cb="0"/><line nr="146" mi="10" ci="0" mb="2" cb="0"/><line nr="147" mi="12" ci="0" mb="2" cb="0"/><line nr="148" mi="3" ci="0" mb="2" cb="0"/><line nr="149" mi="10" ci="0" mb="2" cb="0"/><line nr="151" mi="1" ci="0" mb="0" cb="0"/><line nr="152" mi="5" ci="0" mb="0" cb="0"/><line nr="153" mi="2" ci="0" mb="0" cb="0"/><line nr="158" mi="2" ci="0" mb="0" cb="0"/><line nr="160" mi="2" ci="0" mb="0" cb="0"/><line nr="161" mi="9" ci="0" mb="2" cb="0"/><line nr="162" mi="9" ci="0" mb="2" cb="0"/><line nr="163" mi="6" ci="0" mb="0" cb="0"/><line nr="164" mi="2" ci="0" mb="0" cb="0"/><line nr="165" mi="1" ci="0" mb="0" cb="0"/><line nr="169" mi="2" ci="0" mb="2" cb="0"/><line nr="170" mi="2" ci="0" mb="0" cb="0"/><line nr="171" mi="11" ci="0" mb="2" cb="0"/><line nr="172" mi="5" ci="0" mb="2" cb="0"/><line nr="173" mi="2" ci="0" mb="0" cb="0"/><line nr="174" mi="1" ci="0" mb="0" cb="0"/><line nr="176" mi="1" ci="0" mb="0" cb="0"/><line nr="177" mi="2" ci="0" mb="2" cb="0"/><line nr="178" mi="4" ci="0" mb="0" cb="0"/><line nr="180" mi="7" ci="0" mb="0" cb="0"/><line nr="181" mi="6" ci="0" mb="0" cb="0"/><line nr="182" mi="7" ci="0" mb="0" cb="0"/><line nr="184" mi="1" ci="0" mb="0" cb="0"/><line nr="187" mi="2" ci="0" mb="0" cb="0"/><line nr="189" mi="2" ci="0" mb="0" cb="0"/><line nr="191" mi="9" ci="0" mb="2" cb="0"/><line nr="192" mi="9" ci="0" mb="2" cb="0"/><line nr="193" mi="6" ci="0" mb="0" cb="0"/><line nr="194" mi="2" ci="0" mb="0" cb="0"/><line nr="195" mi="1" ci="0" mb="0" cb="0"/><line nr="199" mi="2" ci="0" mb="2" cb="0"/><line nr="200" mi="2" ci="0" mb="0" cb="0"/><line nr="201" mi="11" ci="0" mb="2" cb="0"/><line nr="202" mi="5" ci="0" mb="2" cb="0"/><line nr="203" mi="2" ci="0" mb="0" cb="0"/><line nr="204" mi="1" ci="0" mb="0" cb="0"/><line nr="206" mi="1" ci="0" mb="0" cb="0"/><line nr="207" mi="2" ci="0" mb="2" cb="0"/><line nr="208" mi="4" ci="0" mb="0" cb="0"/><line nr="210" mi="7" ci="0" mb="0" cb="0"/><line nr="211" mi="6" ci="0" mb="0" cb="0"/><line nr="213" mi="7" ci="0" mb="0" cb="0"/><line nr="215" mi="1" ci="0" mb="0" cb="0"/><line nr="218" mi="5" ci="0" mb="0" cb="0"/><line nr="219" mi="3" ci="0" mb="2" cb="0"/><line nr="221" mi="8" ci="0" mb="2" cb="0"/><line nr="222" mi="6" ci="0" mb="2" cb="0"/><line nr="223" mi="5" ci="0" mb="0" cb="0"/><line nr="224" mi="5" ci="0" mb="2" cb="0"/><line nr="226" mi="6" ci="0" mb="0" cb="0"/><line nr="227" mi="1" ci="0" mb="0" cb="0"/><line nr="228" mi="3" ci="0" mb="0" cb="0"/><line nr="229" mi="1" ci="0" mb="0" cb="0"/><line nr="233" mi="1" ci="0" mb="0" cb="0"/><line nr="236" mi="5" ci="0" mb="0" cb="0"/><line nr="237" mi="3" ci="0" mb="2" cb="0"/><line nr="239" mi="8" ci="0" mb="2" cb="0"/><line nr="240" mi="6" ci="0" mb="2" cb="0"/><line nr="241" mi="5" ci="0" mb="0" cb="0"/><line nr="242" mi="5" ci="0" mb="2" cb="0"/><line nr="244" mi="6" ci="0" mb="0" cb="0"/><line nr="245" mi="1" ci="0" mb="0" cb="0"/><line nr="246" mi="3" ci="0" mb="0" cb="0"/><line nr="247" mi="1" ci="0" mb="0" cb="0"/><line nr="251" mi="1" ci="0" mb="0" cb="0"/><line nr="254" mi="5" ci="0" mb="0" cb="0"/><line nr="255" mi="3" ci="0" mb="2" cb="0"/><line nr="257" mi="8" ci="0" mb="2" cb="0"/><line nr="258" mi="6" ci="0" mb="2" cb="0"/><line nr="259" mi="5" ci="0" mb="0" cb="0"/><line nr="260" mi="5" ci="0" mb="2" cb="0"/><line nr="262" mi="5" ci="0" mb="0" cb="0"/><line nr="263" mi="3" ci="0" mb="0" cb="0"/><line nr="264" mi="1" ci="0" mb="0" cb="0"/><line nr="265" mi="3" ci="0" mb="0" cb="0"/><line nr="266" mi="1" ci="0" mb="0" cb="0"/><line nr="268" mi="5" ci="0" mb="2" cb="0"/><line nr="270" mi="5" ci="0" mb="0" cb="0"/><line nr="271" mi="3" ci="0" mb="0" cb="0"/><line nr="272" mi="1" ci="0" mb="0" cb="0"/><line nr="273" mi="3" ci="0" mb="0" cb="0"/><line nr="274" mi="1" ci="0" mb="0" cb="0"/><line nr="278" mi="1" ci="0" mb="0" cb="0"/><line nr="282" mi="4" ci="0" mb="0" cb="0"/><line nr="283" mi="3" ci="0" mb="2" cb="0"/><line nr="286" mi="4" ci="0" mb="0" cb="0"/><line nr="287" mi="4" ci="0" mb="0" cb="0"/><line nr="290" mi="6" ci="0" mb="2" cb="0"/><line nr="291" mi="4" ci="0" mb="0" cb="0"/><line nr="292" mi="4" ci="0" mb="0" cb="0"/><line nr="293" mi="1" ci="0" mb="0" cb="0"/><line nr="294" mi="5" ci="0" mb="0" cb="0"/><line nr="295" mi="1" ci="0" mb="0" cb="0"/><line nr="298" mi="4" ci="0" mb="0" cb="0"/><line nr="299" mi="3" ci="0" mb="2" cb="0"/><line nr="302" mi="4" ci="0" mb="0" cb="0"/><line nr="303" mi="4" ci="0" mb="0" cb="0"/><line nr="306" mi="6" ci="0" mb="2" cb="0"/><line nr="307" mi="4" ci="0" mb="0" cb="0"/><line nr="308" mi="4" ci="0" mb="0" cb="0"/><line nr="309" mi="1" ci="0" mb="0" cb="0"/><line nr="310" mi="5" ci="0" mb="0" cb="0"/><line nr="311" mi="1" ci="0" mb="0" cb="0"/><line nr="314" mi="4" ci="0" mb="0" cb="0"/><line nr="315" mi="3" ci="0" mb="2" cb="0"/><line nr="318" mi="4" ci="0" mb="0" cb="0"/><line nr="319" mi="4" ci="0" mb="0" cb="0"/><line nr="322" mi="11" ci="0" mb="2" cb="0"/><line nr="324" mi="3" ci="0" mb="2" cb="0"/><line nr="325" mi="4" ci="0" mb="0" cb="0"/><line nr="327" mi="3" ci="0" mb="2" cb="0"/><line nr="328" mi="4" ci="0" mb="0" cb="0"/><line nr="330" mi="1" ci="0" mb="0" cb="0"/><line nr="331" mi="5" ci="0" mb="0" cb="0"/><line nr="332" mi="1" ci="0" mb="0" cb="0"/><line nr="335" mi="10" ci="0" mb="2" cb="0"/><line nr="336" mi="5" ci="0" mb="2" cb="0"/><line nr="337" mi="2" ci="0" mb="0" cb="0"/><line nr="339" mi="1" ci="0" mb="0" cb="0"/><line nr="341" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="830" covered="0"/><counter type="BRANCH" missed="114" covered="0"/><counter type="LINE" missed="201" covered="0"/><counter type="COMPLEXITY" missed="85" covered="0"/><counter type="METHOD" missed="28" covered="0"/><counter type="CLASS" missed="4" covered="0"/></sourcefile><sourcefile name="PlayList.java"><line nr="16" mi="2" ci="0" mb="0" cb="0"/><line nr="17" mi="3" ci="0" mb="0" cb="0"/><line nr="18" mi="4" ci="0" mb="0" cb="0"/><line nr="19" mi="3" ci="0" mb="0" cb="0"/><line nr="20" mi="1" ci="0" mb="0" cb="0"/><line nr="22" mi="2" ci="0" mb="0" cb="0"/><line nr="23" mi="3" ci="0" mb="0" cb="0"/><line nr="24" mi="3" ci="0" mb="0" cb="0"/><line nr="25" mi="5" ci="0" mb="0" cb="0"/><line nr="26" mi="1" ci="0" mb="0" cb="0"/><line nr="28" mi="2" ci="0" mb="0" cb="0"/><line nr="30" mi="8" ci="0" mb="0" cb="0"/><line nr="32" mi="2" ci="0" mb="0" cb="0"/><line nr="34" mi="7" ci="0" mb="0" cb="0"/><line nr="35" mi="1" ci="0" mb="0" cb="0"/><line nr="36" mi="3" ci="0" mb="0" cb="0"/><line nr="37" mi="1" ci="0" mb="0" cb="0"/><line nr="38" mi="5" ci="0" mb="4" cb="0"/><line nr="39" mi="4" ci="0" mb="0" cb="0"/><line nr="40" mi="4" ci="0" mb="0" cb="0"/><line nr="43" mi="6" ci="0" mb="0" cb="0"/><line nr="44" mi="3" ci="0" mb="0" cb="0"/><line nr="45" mi="3" ci="0" mb="2" cb="0"/><line nr="47" mi="5" ci="0" mb="0" cb="0"/><line nr="50" mi="8" ci="0" mb="2" cb="0"/><line nr="51" mi="6" ci="0" mb="2" cb="0"/><line nr="52" mi="5" ci="0" mb="0" cb="0"/><line nr="53" mi="5" ci="0" mb="2" cb="0"/><line nr="55" mi="5" ci="0" mb="0" cb="0"/><line nr="56" mi="1" ci="0" mb="0" cb="0"/><line nr="57" mi="2" ci="0" mb="0" cb="0"/><line nr="58" mi="1" ci="0" mb="0" cb="0"/><line nr="63" mi="1" ci="0" mb="0" cb="0"/><line nr="66" mi="5" ci="0" mb="0" cb="0"/><line nr="67" mi="1" ci="0" mb="0" cb="0"/><line nr="70" mi="3" ci="0" mb="0" cb="0"/><line nr="74" mi="3" ci="0" mb="0" cb="0"/><line nr="78" mi="4" ci="0" mb="0" cb="0"/><line nr="79" mi="4" ci="0" mb="0" cb="0"/><line nr="81" mi="4" ci="0" mb="0" cb="0"/><line nr="82" mi="7" ci="0" mb="0" cb="0"/><line nr="83" mi="4" ci="0" mb="0" cb="0"/><line nr="85" mi="4" ci="0" mb="0" cb="0"/><line nr="86" mi="8" ci="0" mb="0" cb="0"/><line nr="87" mi="4" ci="0" mb="0" cb="0"/><line nr="90" mi="4" ci="0" mb="0" cb="0"/><line nr="91" mi="11" ci="0" mb="2" cb="0"/><line nr="93" mi="4" ci="0" mb="0" cb="0"/><line nr="94" mi="7" ci="0" mb="0" cb="0"/><line nr="95" mi="4" ci="0" mb="0" cb="0"/><line nr="96" mi="1" ci="0" mb="0" cb="0"/><line nr="97" mi="4" ci="0" mb="0" cb="0"/><line nr="98" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="202" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="53" covered="0"/><counter type="COMPLEXITY" missed="14" covered="0"/><counter type="METHOD" missed="7" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="NoAlbumFoundException.java"><line nr="6" mi="3" ci="0" mb="0" cb="0"/><line nr="7" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="Album.java"><line nr="21" mi="2" ci="0" mb="0" cb="0"/><line nr="22" mi="3" ci="0" mb="0" cb="0"/><line nr="23" mi="3" ci="0" mb="0" cb="0"/><line nr="24" mi="3" ci="0" mb="0" cb="0"/><line nr="25" mi="4" ci="0" mb="0" cb="0"/><line nr="27" mi="5" ci="0" mb="0" cb="0"/><line nr="28" mi="5" ci="0" mb="0" cb="0"/><line nr="29" mi="1" ci="0" mb="0" cb="0"/><line nr="30" mi="2" ci="0" mb="0" cb="0"/><line nr="31" mi="1" ci="0" mb="0" cb="0"/><line nr="32" mi="3" ci="0" mb="0" cb="0"/><line nr="33" mi="1" ci="0" mb="0" cb="0"/><line nr="35" mi="2" ci="0" mb="0" cb="0"/><line nr="36" mi="3" ci="0" mb="0" cb="0"/><line nr="37" mi="3" ci="0" mb="0" cb="0"/><line nr="38" mi="3" ci="0" mb="0" cb="0"/><line nr="39" mi="3" ci="0" mb="0" cb="0"/><line nr="41" mi="5" ci="0" mb="0" cb="0"/><line nr="42" mi="5" ci="0" mb="0" cb="0"/><line nr="43" mi="1" ci="0" mb="0" cb="0"/><line nr="44" mi="2" ci="0" mb="0" cb="0"/><line nr="45" mi="1" ci="0" mb="0" cb="0"/><line nr="46" mi="5" ci="0" mb="0" cb="0"/><line nr="47" mi="1" ci="0" mb="0" cb="0"/><line nr="49" mi="2" ci="0" mb="0" cb="0"/><line nr="51" mi="8" ci="0" mb="0" cb="0"/><line nr="52" mi="9" ci="0" mb="0" cb="0"/><line nr="53" mi="2" ci="0" mb="0" cb="0"/><line nr="55" mi="7" ci="0" mb="0" cb="0"/><line nr="56" mi="1" ci="0" mb="0" cb="0"/><line nr="57" mi="3" ci="0" mb="0" cb="0"/><line nr="58" mi="1" ci="0" mb="0" cb="0"/><line nr="59" mi="5" ci="0" mb="4" cb="0"/><line nr="60" mi="4" ci="0" mb="0" cb="0"/><line nr="61" mi="4" ci="0" mb="0" cb="0"/><line nr="63" mi="5" ci="0" mb="0" cb="0"/><line nr="64" mi="10" ci="0" mb="0" cb="0"/><line nr="66" mi="6" ci="0" mb="0" cb="0"/><line nr="67" mi="3" ci="0" mb="0" cb="0"/><line nr="68" mi="3" ci="0" mb="2" cb="0"/><line nr="70" mi="5" ci="0" mb="0" cb="0"/><line nr="72" mi="8" ci="0" mb="2" cb="0"/><line nr="73" mi="6" ci="0" mb="2" cb="0"/><line nr="74" mi="5" ci="0" mb="0" cb="0"/><line nr="75" mi="5" ci="0" mb="2" cb="0"/><line nr="77" mi="5" ci="0" mb="0" cb="0"/><line nr="78" mi="1" ci="0" mb="0" cb="0"/><line nr="79" mi="2" ci="0" mb="0" cb="0"/><line nr="80" mi="1" ci="0" mb="0" cb="0"/><line nr="85" mi="1" ci="0" mb="0" cb="0"/><line nr="89" mi="5" ci="0" mb="0" cb="0"/><line nr="90" mi="1" ci="0" mb="0" cb="0"/><line nr="94" mi="3" ci="0" mb="0" cb="0"/><line nr="98" mi="3" ci="0" mb="0" cb="0"/><line nr="99" mi="2" ci="0" mb="0" cb="0"/><line nr="100" mi="2" ci="0" mb="0" cb="0"/><line nr="104" mi="3" ci="0" mb="0" cb="0"/><line nr="108" mi="3" ci="0" mb="0" cb="0"/><line nr="112" mi="4" ci="0" mb="0" cb="0"/><line nr="113" mi="4" ci="0" mb="0" cb="0"/><line nr="115" mi="4" ci="0" mb="0" cb="0"/><line nr="116" mi="7" ci="0" mb="0" cb="0"/><line nr="117" mi="4" ci="0" mb="0" cb="0"/><line nr="119" mi="4" ci="0" mb="0" cb="0"/><line nr="120" mi="7" ci="0" mb="0" cb="0"/><line nr="121" mi="4" ci="0" mb="0" cb="0"/><line nr="123" mi="4" ci="0" mb="0" cb="0"/><line nr="124" mi="9" ci="0" mb="0" cb="0"/><line nr="125" mi="4" ci="0" mb="0" cb="0"/><line nr="127" mi="4" ci="0" mb="0" cb="0"/><line nr="128" mi="8" ci="0" mb="0" cb="0"/><line nr="129" mi="4" ci="0" mb="0" cb="0"/><line nr="131" mi="4" ci="0" mb="0" cb="0"/><line nr="132" mi="5" ci="0" mb="0" cb="0"/><line nr="133" mi="9" ci="0" mb="0" cb="0"/><line nr="134" mi="4" ci="0" mb="0" cb="0"/><line nr="136" mi="4" ci="0" mb="0" cb="0"/><line nr="137" mi="11" ci="0" mb="2" cb="0"/><line nr="138" mi="4" ci="0" mb="0" cb="0"/><line nr="139" mi="7" ci="0" mb="0" cb="0"/><line nr="140" mi="4" ci="0" mb="0" cb="0"/><line nr="141" mi="1" ci="0" mb="0" cb="0"/><line nr="142" mi="4" ci="0" mb="0" cb="0"/><line nr="144" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="330" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="84" covered="0"/><counter type="COMPLEXITY" missed="16" covered="0"/><counter type="METHOD" missed="9" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="Language.java"><line nr="3" mi="3" ci="0" mb="0" cb="0"/><line nr="4" mi="35" ci="0" mb="0" cb="0"/><line nr="7" mi="4" ci="0" mb="0" cb="0"/><line nr="8" mi="3" ci="0" mb="0" cb="0"/><line nr="9" mi="1" ci="0" mb="0" cb="0"/><line nr="12" mi="3" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="49" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="Genre.java"><line nr="3" mi="3" ci="0" mb="0" cb="0"/><line nr="4" mi="42" ci="0" mb="0" cb="0"/><line nr="7" mi="4" ci="0" mb="0" cb="0"/><line nr="8" mi="3" ci="0" mb="0" cb="0"/><line nr="9" mi="1" ci="0" mb="0" cb="0"/><line nr="12" mi="3" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="56" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="NoPlayListFoundException.java"><line nr="6" mi="3" ci="0" mb="0" cb="0"/><line nr="7" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="AudioElement.java"><line nr="24" mi="2" ci="0" mb="0" cb="0"/><line nr="25" mi="3" ci="0" mb="0" cb="0"/><line nr="26" mi="3" ci="0" mb="0" cb="0"/><line nr="27" mi="3" ci="0" mb="0" cb="0"/><line nr="28" mi="4" ci="0" mb="0" cb="0"/><line nr="29" mi="3" ci="0" mb="0" cb="0"/><line nr="30" mi="1" ci="0" mb="0" cb="0"/><line nr="32" mi="2" ci="0" mb="0" cb="0"/><line nr="33" mi="3" ci="0" mb="0" cb="0"/><line nr="34" mi="3" ci="0" mb="0" cb="0"/><line nr="35" mi="3" ci="0" mb="0" cb="0"/><line nr="36" mi="3" ci="0" mb="0" cb="0"/><line nr="37" mi="3" ci="0" mb="0" cb="0"/><line nr="38" mi="1" ci="0" mb="0" cb="0"/><line nr="40" mi="2" ci="0" mb="0" cb="0"/><line nr="42" mi="8" ci="0" mb="0" cb="0"/><line nr="43" mi="8" ci="0" mb="0" cb="0"/><line nr="44" mi="9" ci="0" mb="0" cb="0"/><line nr="45" mi="8" ci="0" mb="0" cb="0"/><line nr="46" mi="2" ci="0" mb="0" cb="0"/><line nr="48" mi="7" ci="0" mb="0" cb="0"/><line nr="49" mi="1" ci="0" mb="0" cb="0"/><line nr="50" mi="3" ci="0" mb="0" cb="0"/><line nr="51" mi="1" ci="0" mb="0" cb="0"/><line nr="52" mi="5" ci="0" mb="4" cb="0"/><line nr="53" mi="4" ci="0" mb="0" cb="0"/><line nr="54" mi="4" ci="0" mb="0" cb="0"/><line nr="56" mi="1" ci="0" mb="0" cb="0"/><line nr="59" mi="3" ci="0" mb="0" cb="0"/><line nr="63" mi="3" ci="0" mb="0" cb="0"/><line nr="67" mi="3" ci="0" mb="0" cb="0"/><line nr="71" mi="10" ci="0" mb="0" cb="0"/><line nr="75" mi="4" ci="0" mb="0" cb="0"/><line nr="76" mi="7" ci="0" mb="0" cb="0"/><line nr="77" mi="4" ci="0" mb="0" cb="0"/><line nr="79" mi="4" ci="0" mb="0" cb="0"/><line nr="80" mi="7" ci="0" mb="0" cb="0"/><line nr="81" mi="4" ci="0" mb="0" cb="0"/><line nr="83" mi="4" ci="0" mb="0" cb="0"/><line nr="84" mi="9" ci="0" mb="0" cb="0"/><line nr="85" mi="4" ci="0" mb="0" cb="0"/><line nr="87" mi="4" ci="0" mb="0" cb="0"/><line nr="88" mi="8" ci="0" mb="0" cb="0"/><line nr="89" mi="4" ci="0" mb="0" cb="0"/><line nr="91" mi="4" ci="0" mb="0" cb="0"/><line nr="92" mi="7" ci="0" mb="0" cb="0"/><line nr="93" mi="4" ci="0" mb="0" cb="0"/><line nr="95" mi="1" ci="0" mb="0" cb="0"/><line nr="99" mi="5" ci="0" mb="0" cb="0"/><line nr="101" mi="6" ci="0" mb="0" cb="0"/><line nr="102" mi="3" ci="0" mb="0" cb="0"/><line nr="103" mi="2" ci="0" mb="0" cb="0"/><line nr="104" mi="3" ci="0" mb="0" cb="0"/><line nr="106" mi="2" ci="0" mb="0" cb="0"/><line nr="108" mi="4" ci="0" mb="2" cb="0"/><line nr="109" mi="3" ci="0" mb="0" cb="0"/><line nr="110" mi="3" ci="0" mb="0" cb="0"/><line nr="111" mi="3" ci="0" mb="0" cb="0"/><line nr="112" mi="3" ci="0" mb="0" cb="0"/><line nr="114" mi="8" ci="0" mb="5" cb="0"/><line nr="115" mi="2" ci="0" mb="0" cb="0"/><line nr="116" mi="1" ci="0" mb="0" cb="0"/><line nr="117" mi="2" ci="0" mb="0" cb="0"/><line nr="118" mi="1" ci="0" mb="0" cb="0"/><line nr="119" mi="3" ci="0" mb="0" cb="0"/><line nr="120" mi="1" ci="0" mb="0" cb="0"/><line nr="121" mi="2" ci="0" mb="0" cb="0"/><line nr="122" mi="1" ci="0" mb="0" cb="0"/><line nr="123" mi="3" ci="0" mb="0" cb="0"/><line nr="125" mi="4" ci="0" mb="0" cb="0"/><line nr="128" mi="2" ci="0" mb="0" cb="0"/><line nr="130" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="266" covered="0"/><counter type="BRANCH" missed="11" covered="0"/><counter type="LINE" missed="72" covered="0"/><counter type="COMPLEXITY" missed="16" covered="0"/><counter type="METHOD" missed="9" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="NoElementFoundException.java"><line nr="6" mi="3" ci="0" mb="0" cb="0"/><line nr="7" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="PathValidation.java"><line nr="22" mi="0" ci="2" mb="0" cb="0"/><line nr="23" mi="0" ci="5" mb="0" cb="0"/><line nr="34" mi="0" ci="5" mb="0" cb="0"/><line nr="35" mi="0" ci="5" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="Category.java"><line nr="3" mi="3" ci="0" mb="0" cb="0"/><line nr="4" mi="35" ci="0" mb="0" cb="0"/><line nr="7" mi="4" ci="0" mb="0" cb="0"/><line nr="8" mi="3" ci="0" mb="0" cb="0"/><line nr="9" mi="1" ci="0" mb="0" cb="0"/><line nr="12" mi="3" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="49" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="AudioBook.java"><line nr="11" mi="7" ci="0" mb="0" cb="0"/><line nr="12" mi="3" ci="0" mb="0" cb="0"/><line nr="13" mi="3" ci="0" mb="0" cb="0"/><line nr="14" mi="1" ci="0" mb="0" cb="0"/><line nr="17" mi="6" ci="0" mb="0" cb="0"/><line nr="18" mi="3" ci="0" mb="0" cb="0"/><line nr="19" mi="3" ci="0" mb="0" cb="0"/><line nr="20" mi="1" ci="0" mb="0" cb="0"/><line nr="23" mi="3" ci="0" mb="0" cb="0"/><line nr="24" mi="8" ci="0" mb="0" cb="0"/><line nr="25" mi="8" ci="0" mb="0" cb="0"/><line nr="26" mi="1" ci="0" mb="0" cb="0"/><line nr="29" mi="3" ci="0" mb="0" cb="0"/><line nr="33" mi="9" ci="0" mb="5" cb="0"/><line nr="34" mi="4" ci="0" mb="0" cb="0"/><line nr="35" mi="4" ci="0" mb="0" cb="0"/><line nr="36" mi="4" ci="0" mb="0" cb="0"/><line nr="37" mi="4" ci="0" mb="0" cb="0"/><line nr="38" mi="3" ci="0" mb="0" cb="0"/><line nr="40" mi="1" ci="0" mb="0" cb="0"/><line nr="43" mi="3" ci="0" mb="0" cb="0"/><line nr="47" mi="9" ci="0" mb="5" cb="0"/><line nr="48" mi="4" ci="0" mb="0" cb="0"/><line nr="49" mi="4" ci="0" mb="0" cb="0"/><line nr="50" mi="4" ci="0" mb="0" cb="0"/><line nr="51" mi="4" ci="0" mb="0" cb="0"/><line nr="52" mi="3" ci="0" mb="0" cb="0"/><line nr="54" mi="1" ci="0" mb="0" cb="0"/><line nr="58" mi="8" ci="0" mb="0" cb="0"/><line nr="64" mi="4" ci="0" mb="0" cb="0"/><line nr="66" mi="4" ci="0" mb="0" cb="0"/><line nr="68" mi="4" ci="0" mb="0" cb="0"/><line nr="69" mi="8" ci="0" mb="0" cb="0"/><line nr="70" mi="4" ci="0" mb="0" cb="0"/><line nr="72" mi="4" ci="0" mb="0" cb="0"/><line nr="73" mi="8" ci="0" mb="0" cb="0"/><line nr="74" mi="4" ci="0" mb="0" cb="0"/><line nr="76" mi="4" ci="0" mb="0" cb="0"/><line nr="77" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="164" covered="0"/><counter type="BRANCH" missed="10" covered="0"/><counter type="LINE" missed="39" covered="0"/><counter type="COMPLEXITY" missed="17" covered="0"/><counter type="METHOD" missed="9" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="Song.java"><line nr="11" mi="7" ci="0" mb="0" cb="0"/><line nr="12" mi="3" ci="0" mb="0" cb="0"/><line nr="13" mi="1" ci="0" mb="0" cb="0"/><line nr="16" mi="6" ci="0" mb="0" cb="0"/><line nr="17" mi="3" ci="0" mb="0" cb="0"/><line nr="18" mi="1" ci="0" mb="0" cb="0"/><line nr="21" mi="3" ci="0" mb="0" cb="0"/><line nr="22" mi="8" ci="0" mb="0" cb="0"/><line nr="23" mi="1" ci="0" mb="0" cb="0"/><line nr="26" mi="4" ci="0" mb="0" cb="0"/><line nr="30" mi="9" ci="0" mb="6" cb="0"/><line nr="31" mi="4" ci="0" mb="0" cb="0"/><line nr="32" mi="4" ci="0" mb="0" cb="0"/><line nr="33" mi="4" ci="0" mb="0" cb="0"/><line nr="34" mi="4" ci="0" mb="0" cb="0"/><line nr="35" mi="4" ci="0" mb="0" cb="0"/><line nr="36" mi="3" ci="0" mb="0" cb="0"/><line nr="38" mi="1" ci="0" mb="0" cb="0"/><line nr="41" mi="6" ci="0" mb="0" cb="0"/><line nr="46" mi="4" ci="0" mb="0" cb="0"/><line nr="48" mi="4" ci="0" mb="0" cb="0"/><line nr="50" mi="4" ci="0" mb="0" cb="0"/><line nr="51" mi="8" ci="0" mb="0" cb="0"/><line nr="52" mi="4" ci="0" mb="0" cb="0"/><line nr="54" mi="4" ci="0" mb="0" cb="0"/><line nr="55" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="105" covered="0"/><counter type="BRANCH" missed="6" covered="0"/><counter type="LINE" missed="26" covered="0"/><counter type="COMPLEXITY" missed="12" covered="0"/><counter type="METHOD" missed="7" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><counter type="INSTRUCTION" missed="2063" covered="17"/><counter type="BRANCH" missed="169" covered="0"/><counter type="LINE" missed="499" covered="4"/><counter type="COMPLEXITY" missed="172" covered="2"/><counter type="METHOD" missed="81" covered="2"/><counter type="CLASS" missed="15" covered="1"/></package><package name="musichub/main"><class name="musichub/main/Main" sourcefilename="Main.java"><method name="&lt;init&gt;" desc="()V" line="14"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="main" desc="([Ljava/lang/String;)V" line="17"><counter type="INSTRUCTION" missed="548" covered="0"/><counter type="BRANCH" missed="40" covered="0"/><counter type="LINE" missed="185" covered="0"/><counter type="COMPLEXITY" missed="27" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="printAvailableCommands" desc="()V" line="252"><counter type="INSTRUCTION" missed="37" covered="0"/><counter type="LINE" missed="13" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="588" covered="0"/><counter type="BRANCH" missed="40" covered="0"/><counter type="LINE" missed="199" covered="0"/><counter type="COMPLEXITY" missed="29" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><sourcefile name="Main.java"><line nr="14" mi="3" ci="0" mb="0" cb="0"/><line nr="17" mi="4" ci="0" mb="0" cb="0"/><line nr="19" mi="3" ci="0" mb="0" cb="0"/><line nr="22" mi="5" ci="0" mb="0" cb="0"/><line nr="23" mi="3" ci="0" mb="0" cb="0"/><line nr="27" mi="5" ci="0" mb="2" cb="0"/><line nr="29" mi="4" ci="0" mb="2" cb="0"/><line nr="30" mi="4" ci="0" mb="14" cb="0"/><line nr="32" mi="2" ci="0" mb="0" cb="0"/><line nr="34" mi="1" ci="0" mb="0" cb="0"/><line nr="35" mi="3" ci="0" mb="0" cb="0"/><line nr="36" mi="1" ci="0" mb="0" cb="0"/><line nr="39" mi="4" ci="0" mb="0" cb="0"/><line nr="40" mi="1" ci="0" mb="0" cb="0"/><line nr="41" mi="3" ci="0" mb="0" cb="0"/><line nr="42" mi="1" ci="0" mb="0" cb="0"/><line nr="45" mi="3" ci="0" mb="0" cb="0"/><line nr="46" mi="4" ci="0" mb="0" cb="0"/><line nr="48" mi="3" ci="0" mb="0" cb="0"/><line nr="50" mi="4" ci="0" mb="0" cb="0"/><line nr="51" mi="3" ci="0" mb="0" cb="0"/><line nr="52" mi="1" ci="0" mb="0" cb="0"/><line nr="53" mi="5" ci="0" mb="0" cb="0"/><line nr="54" mi="1" ci="0" mb="0" cb="0"/><line nr="55" mi="1" ci="0" mb="0" cb="0"/><line nr="56" mi="3" ci="0" mb="0" cb="0"/><line nr="57" mi="1" ci="0" mb="0" cb="0"/><line nr="60" mi="3" ci="0" mb="0" cb="0"/><line nr="61" mi="4" ci="0" mb="0" cb="0"/><line nr="63" mi="3" ci="0" mb="0" cb="0"/><line nr="65" mi="4" ci="0" mb="0" cb="0"/><line nr="66" mi="5" ci="0" mb="0" cb="0"/><line nr="67" mi="3" ci="0" mb="0" cb="0"/><line nr="68" mi="4" ci="0" mb="0" cb="0"/><line nr="69" mi="1" ci="0" mb="0" cb="0"/><line nr="70" mi="5" ci="0" mb="0" cb="0"/><line nr="71" mi="1" ci="0" mb="0" cb="0"/><line nr="72" mi="1" ci="0" mb="0" cb="0"/><line nr="73" mi="3" ci="0" mb="0" cb="0"/><line nr="74" mi="1" ci="0" mb="0" cb="0"/><line nr="77" mi="4" ci="0" mb="0" cb="0"/><line nr="78" mi="1" ci="0" mb="0" cb="0"/><line nr="79" mi="3" ci="0" mb="0" cb="0"/><line nr="80" mi="1" ci="0" mb="0" cb="0"/><line nr="83" mi="3" ci="0" mb="0" cb="0"/><line nr="84" mi="3" ci="0" mb="0" cb="0"/><line nr="85" mi="3" ci="0" mb="0" cb="0"/><line nr="86" mi="3" ci="0" mb="0" cb="0"/><line nr="87" mi="3" ci="0" mb="0" cb="0"/><line nr="88" mi="3" ci="0" mb="0" cb="0"/><line nr="89" mi="3" ci="0" mb="0" cb="0"/><line nr="90" mi="3" ci="0" mb="0" cb="0"/><line nr="91" mi="4" ci="0" mb="0" cb="0"/><line nr="93" mi="3" ci="0" mb="0" cb="0"/><line nr="94" mi="3" ci="0" mb="0" cb="0"/><line nr="95" mi="3" ci="0" mb="2" cb="0"/><line nr="96" mi="3" ci="0" mb="0" cb="0"/><line nr="97" mi="3" ci="0" mb="0" cb="0"/><line nr="98" mi="1" ci="0" mb="0" cb="0"/><line nr="101" mi="9" ci="0" mb="0" cb="0"/><line nr="102" mi="3" ci="0" mb="0" cb="0"/><line nr="103" mi="3" ci="0" mb="0" cb="0"/><line nr="104" mi="3" ci="0" mb="0" cb="0"/><line nr="105" mi="10" ci="0" mb="2" cb="0"/><line nr="106" mi="3" ci="0" mb="0" cb="0"/><line nr="107" mi="1" ci="0" mb="0" cb="0"/><line nr="108" mi="3" ci="0" mb="0" cb="0"/><line nr="109" mi="1" ci="0" mb="0" cb="0"/><line nr="112" mi="3" ci="0" mb="0" cb="0"/><line nr="113" mi="3" ci="0" mb="0" cb="0"/><line nr="114" mi="3" ci="0" mb="0" cb="0"/><line nr="115" mi="3" ci="0" mb="0" cb="0"/><line nr="116" mi="3" ci="0" mb="0" cb="0"/><line nr="117" mi="3" ci="0" mb="0" cb="0"/><line nr="118" mi="4" ci="0" mb="0" cb="0"/><line nr="119" mi="3" ci="0" mb="0" cb="0"/><line nr="120" mi="3" ci="0" mb="0" cb="0"/><line nr="121" mi="8" ci="0" mb="0" cb="0"/><line nr="122" mi="3" ci="0" mb="0" cb="0"/><line nr="123" mi="3" ci="0" mb="0" cb="0"/><line nr="124" mi="3" ci="0" mb="0" cb="0"/><line nr="125" mi="10" ci="0" mb="2" cb="0"/><line nr="126" mi="3" ci="0" mb="0" cb="0"/><line nr="127" mi="1" ci="0" mb="0" cb="0"/><line nr="128" mi="3" ci="0" mb="0" cb="0"/><line nr="129" mi="1" ci="0" mb="0" cb="0"/><line nr="132" mi="3" ci="0" mb="0" cb="0"/><line nr="133" mi="3" ci="0" mb="0" cb="0"/><line nr="134" mi="3" ci="0" mb="0" cb="0"/><line nr="135" mi="3" ci="0" mb="2" cb="0"/><line nr="136" mi="4" ci="0" mb="0" cb="0"/><line nr="137" mi="7" ci="0" mb="2" cb="0"/><line nr="138" mi="1" ci="0" mb="0" cb="0"/><line nr="139" mi="3" ci="0" mb="0" cb="0"/><line nr="141" mi="3" ci="0" mb="0" cb="0"/><line nr="142" mi="3" ci="0" mb="0" cb="0"/><line nr="143" mi="3" ci="0" mb="2" cb="0"/><line nr="144" mi="4" ci="0" mb="0" cb="0"/><line nr="145" mi="4" ci="0" mb="0" cb="0"/><line nr="146" mi="1" ci="0" mb="0" cb="0"/><line nr="147" mi="3" ci="0" mb="0" cb="0"/><line nr="149" mi="4" ci="0" mb="0" cb="0"/><line nr="150" mi="1" ci="0" mb="0" cb="0"/><line nr="151" mi="4" ci="0" mb="0" cb="0"/><line nr="152" mi="1" ci="0" mb="0" cb="0"/><line nr="153" mi="3" ci="0" mb="0" cb="0"/><line nr="154" mi="1" ci="0" mb="0" cb="0"/><line nr="155" mi="3" ci="0" mb="0" cb="0"/><line nr="156" mi="1" ci="0" mb="0" cb="0"/><line nr="159" mi="3" ci="0" mb="0" cb="0"/><line nr="160" mi="3" ci="0" mb="0" cb="0"/><line nr="161" mi="3" ci="0" mb="0" cb="0"/><line nr="162" mi="3" ci="0" mb="0" cb="0"/><line nr="163" mi="3" ci="0" mb="0" cb="0"/><line nr="164" mi="3" ci="0" mb="0" cb="0"/><line nr="165" mi="3" ci="0" mb="0" cb="0"/><line nr="166" mi="3" ci="0" mb="0" cb="0"/><line nr="167" mi="4" ci="0" mb="0" cb="0"/><line nr="168" mi="3" ci="0" mb="0" cb="0"/><line nr="169" mi="3" ci="0" mb="0" cb="0"/><line nr="170" mi="3" ci="0" mb="0" cb="0"/><line nr="171" mi="3" ci="0" mb="0" cb="0"/><line nr="172" mi="10" ci="0" mb="0" cb="0"/><line nr="173" mi="3" ci="0" mb="0" cb="0"/><line nr="174" mi="3" ci="0" mb="0" cb="0"/><line nr="175" mi="3" ci="0" mb="0" cb="0"/><line nr="176" mi="10" ci="0" mb="2" cb="0"/><line nr="177" mi="1" ci="0" mb="0" cb="0"/><line nr="178" mi="3" ci="0" mb="0" cb="0"/><line nr="179" mi="1" ci="0" mb="0" cb="0"/><line nr="182" mi="3" ci="0" mb="0" cb="0"/><line nr="183" mi="3" ci="0" mb="0" cb="0"/><line nr="184" mi="3" ci="0" mb="0" cb="0"/><line nr="185" mi="3" ci="0" mb="2" cb="0"/><line nr="186" mi="4" ci="0" mb="0" cb="0"/><line nr="187" mi="4" ci="0" mb="0" cb="0"/><line nr="188" mi="1" ci="0" mb="0" cb="0"/><line nr="189" mi="3" ci="0" mb="0" cb="0"/><line nr="190" mi="3" ci="0" mb="0" cb="0"/><line nr="191" mi="5" ci="0" mb="0" cb="0"/><line nr="192" mi="3" ci="0" mb="0" cb="0"/><line nr="193" mi="3" ci="0" mb="0" cb="0"/><line nr="195" mi="3" ci="0" mb="0" cb="0"/><line nr="196" mi="3" ci="0" mb="2" cb="0"/><line nr="197" mi="4" ci="0" mb="0" cb="0"/><line nr="198" mi="4" ci="0" mb="0" cb="0"/><line nr="199" mi="1" ci="0" mb="0" cb="0"/><line nr="200" mi="5" ci="0" mb="2" cb="0"/><line nr="201" mi="3" ci="0" mb="0" cb="0"/><line nr="202" mi="3" ci="0" mb="0" cb="0"/><line nr="204" mi="4" ci="0" mb="0" cb="0"/><line nr="205" mi="1" ci="0" mb="0" cb="0"/><line nr="206" mi="4" ci="0" mb="0" cb="0"/><line nr="207" mi="1" ci="0" mb="0" cb="0"/><line nr="209" mi="3" ci="0" mb="0" cb="0"/><line nr="210" mi="3" ci="0" mb="0" cb="0"/><line nr="211" mi="1" ci="0" mb="0" cb="0"/><line nr="212" mi="3" ci="0" mb="0" cb="0"/><line nr="213" mi="1" ci="0" mb="0" cb="0"/><line nr="214" mi="3" ci="0" mb="0" cb="0"/><line nr="215" mi="1" ci="0" mb="0" cb="0"/><line nr="218" mi="3" ci="0" mb="0" cb="0"/><line nr="219" mi="3" ci="0" mb="0" cb="0"/><line nr="220" mi="3" ci="0" mb="2" cb="0"/><line nr="221" mi="4" ci="0" mb="0" cb="0"/><line nr="222" mi="4" ci="0" mb="0" cb="0"/><line nr="223" mi="1" ci="0" mb="0" cb="0"/><line nr="224" mi="3" ci="0" mb="0" cb="0"/><line nr="226" mi="3" ci="0" mb="0" cb="0"/><line nr="227" mi="1" ci="0" mb="0" cb="0"/><line nr="228" mi="4" ci="0" mb="0" cb="0"/><line nr="229" mi="1" ci="0" mb="0" cb="0"/><line nr="230" mi="3" ci="0" mb="0" cb="0"/><line nr="231" mi="1" ci="0" mb="0" cb="0"/><line nr="232" mi="3" ci="0" mb="0" cb="0"/><line nr="233" mi="1" ci="0" mb="0" cb="0"/><line nr="236" mi="2" ci="0" mb="0" cb="0"/><line nr="237" mi="2" ci="0" mb="0" cb="0"/><line nr="238" mi="2" ci="0" mb="0" cb="0"/><line nr="239" mi="3" ci="0" mb="0" cb="0"/><line nr="240" mi="1" ci="0" mb="0" cb="0"/><line nr="241" mi="3" ci="0" mb="0" cb="0"/><line nr="242" mi="1" ci="0" mb="0" cb="0"/><line nr="245" mi="1" ci="0" mb="0" cb="0"/><line nr="248" mi="2" ci="0" mb="0" cb="0"/><line nr="249" mi="1" ci="0" mb="0" cb="0"/><line nr="252" mi="3" ci="0" mb="0" cb="0"/><line nr="253" mi="3" ci="0" mb="0" cb="0"/><line nr="254" mi="3" ci="0" mb="0" cb="0"/><line nr="255" mi="3" ci="0" mb="0" cb="0"/><line nr="256" mi="3" ci="0" mb="0" cb="0"/><line nr="257" mi="3" ci="0" mb="0" cb="0"/><line nr="258" mi="3" ci="0" mb="0" cb="0"/><line nr="259" mi="3" ci="0" mb="0" cb="0"/><line nr="260" mi="3" ci="0" mb="0" cb="0"/><line nr="261" mi="3" ci="0" mb="0" cb="0"/><line nr="262" mi="3" ci="0" mb="0" cb="0"/><line nr="263" mi="3" ci="0" mb="0" cb="0"/><line nr="264" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="588" covered="0"/><counter type="BRANCH" missed="40" covered="0"/><counter type="LINE" missed="199" covered="0"/><counter type="COMPLEXITY" missed="29" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><counter type="INSTRUCTION" missed="588" covered="0"/><counter type="BRANCH" missed="40" covered="0"/><counter type="LINE" missed="199" covered="0"/><counter type="COMPLEXITY" missed="29" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></package><counter type="INSTRUCTION" missed="2723" covered="17"/><counter type="BRANCH" missed="209" covered="0"/><counter type="LINE" missed="723" covered="4"/><counter type="COMPLEXITY" missed="205" covered="2"/><counter type="METHOD" missed="88" covered="2"/><counter type="CLASS" missed="17" covered="1"/></report>
          \ No newline at end of file
          +<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!DOCTYPE report PUBLIC "-//JACOCO//DTD Report 1.1//EN" "report.dtd"><report name="spoteezer"><sessioninfo id="DESKTOP-M4INQND-be4b9e12" start="1624737985817" dump="1624737986228"/><sessioninfo id="DESKTOP-M4INQND-4db7b834" start="1624737998088" dump="1624737998495"/><package name="musichub/util"><class name="musichub/util/PathValidation" sourcefilename="PathValidation.java"><method name="&lt;init&gt;" desc="()V" line="23"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isPathValid" desc="(Ljava/lang/String;)Z" line="35"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="musichub/util/LogHandler" sourcefilename="LogHandler.java"><method name="&lt;init&gt;" desc="()V" line="25"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="write" desc="(Ljava/lang/String;Ljava/lang/String;)V" line="37"><counter type="INSTRUCTION" missed="0" covered="26"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="read" desc="()V" line="56"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="46"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="musichub/util/XMLHandler" sourcefilename="XMLHandler.java"><method name="&lt;init&gt;" desc="()V" line="26"><counter type="INSTRUCTION" missed="23" covered="0"/><counter type="LINE" missed="9" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createXMLFile" desc="(Lorg/w3c/dom/Document;Ljava/lang/String;)V" line="41"><counter type="INSTRUCTION" missed="23" covered="0"/><counter type="LINE" missed="7" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createXMLDocument" desc="()Lorg/w3c/dom/Document;" line="57"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="parseXMLFile" desc="(Ljava/lang/String;)Lorg/w3c/dom/NodeList;" line="61"><counter type="INSTRUCTION" missed="22" covered="0"/><counter type="LINE" missed="8" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="72" covered="0"/><counter type="LINE" missed="25" covered="0"/><counter type="COMPLEXITY" missed="4" covered="0"/><counter type="METHOD" missed="4" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><sourcefile name="PathValidation.java"><line nr="23" mi="0" ci="2" mb="0" cb="0"/><line nr="24" mi="0" ci="5" mb="0" cb="0"/><line nr="35" mi="0" ci="5" mb="0" cb="0"/><line nr="36" mi="0" ci="5" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="LogHandler.java"><line nr="25" mi="0" ci="2" mb="0" cb="0"/><line nr="26" mi="0" ci="5" mb="0" cb="0"/><line nr="37" mi="0" ci="5" mb="0" cb="0"/><line nr="40" mi="0" ci="5" mb="0" cb="0"/><line nr="43" mi="0" ci="5" mb="0" cb="0"/><line nr="46" mi="0" ci="10" mb="0" cb="0"/><line nr="49" mi="0" ci="1" mb="0" cb="0"/><line nr="56" mi="0" ci="5" mb="0" cb="0"/><line nr="59" mi="0" ci="3" mb="0" cb="0"/><line nr="62" mi="0" ci="4" mb="0" cb="0"/><line nr="64" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="46"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="XMLHandler.java"><line nr="26" mi="2" ci="0" mb="0" cb="0"/><line nr="28" mi="3" ci="0" mb="0" cb="0"/><line nr="29" mi="5" ci="0" mb="0" cb="0"/><line nr="30" mi="3" ci="0" mb="0" cb="0"/><line nr="31" mi="5" ci="0" mb="0" cb="0"/><line nr="32" mi="1" ci="0" mb="0" cb="0"/><line nr="33" mi="2" ci="0" mb="0" cb="0"/><line nr="34" mi="1" ci="0" mb="0" cb="0"/><line nr="35" mi="1" ci="0" mb="0" cb="0"/><line nr="41" mi="5" ci="0" mb="0" cb="0"/><line nr="42" mi="8" ci="0" mb="0" cb="0"/><line nr="49" mi="5" ci="0" mb="0" cb="0"/><line nr="51" mi="1" ci="0" mb="0" cb="0"/><line nr="52" mi="2" ci="0" mb="0" cb="0"/><line nr="53" mi="1" ci="0" mb="0" cb="0"/><line nr="54" mi="1" ci="0" mb="0" cb="0"/><line nr="57" mi="4" ci="0" mb="0" cb="0"/><line nr="61" mi="2" ci="0" mb="0" cb="0"/><line nr="63" mi="8" ci="0" mb="0" cb="0"/><line nr="64" mi="3" ci="0" mb="0" cb="0"/><line nr="66" mi="3" ci="0" mb="0" cb="0"/><line nr="67" mi="1" ci="0" mb="0" cb="0"/><line nr="68" mi="2" ci="0" mb="0" cb="0"/><line nr="69" mi="1" ci="0" mb="0" cb="0"/><line nr="70" mi="2" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="72" covered="0"/><counter type="LINE" missed="25" covered="0"/><counter type="COMPLEXITY" missed="4" covered="0"/><counter type="METHOD" missed="4" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><counter type="INSTRUCTION" missed="72" covered="63"/><counter type="LINE" missed="25" covered="15"/><counter type="COMPLEXITY" missed="4" covered="5"/><counter type="METHOD" missed="4" covered="5"/><counter type="CLASS" missed="1" covered="2"/></package><package name="musichub/business"><class name="musichub/business/Album" sourcefilename="Album.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/util/ArrayList;)V" line="21"><counter type="INSTRUCTION" missed="33" covered="0"/><counter type="LINE" missed="12" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V" line="35"><counter type="INSTRUCTION" missed="34" covered="0"/><counter type="LINE" missed="12" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Lorg/w3c/dom/Element;)V" line="49"><counter type="INSTRUCTION" missed="112" covered="0"/><counter type="BRANCH" missed="12" covered="0"/><counter type="LINE" missed="26" covered="0"/><counter type="COMPLEXITY" missed="7" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addSong" desc="(Ljava/util/UUID;)V" line="89"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getSongs" desc="()Ljava/util/List;" line="94"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getSongsRandomly" desc="()Ljava/util/ArrayList;" line="98"><counter type="INSTRUCTION" missed="7" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getTitle" desc="()Ljava/lang/String;" line="104"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getDate" desc="()Ljava/util/Date;" line="108"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createXMLElement" desc="(Lorg/w3c/dom/Document;Lorg/w3c/dom/Element;)V" line="112"><counter type="INSTRUCTION" missed="129" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="26" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="330" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="84" covered="0"/><counter type="COMPLEXITY" missed="16" covered="0"/><counter type="METHOD" missed="9" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/SortByAuthor" sourcefilename="MusicHub.java"><method name="&lt;init&gt;" desc="()V" line="27"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="compare" desc="(Lmusichub/business/AudioElement;Lmusichub/business/AudioElement;)I" line="29"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="9" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/NoAlbumFoundException" sourcefilename="NoAlbumFoundException.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="6"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/Language" sourcefilename="Language.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;ILjava/lang/String;)V" line="7"><counter type="INSTRUCTION" missed="8" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getLanguage" desc="()Ljava/lang/String;" line="12"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="3"><counter type="INSTRUCTION" missed="38" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="49" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/SortByDate" sourcefilename="MusicHub.java"><method name="&lt;init&gt;" desc="()V" line="15"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="compare" desc="(Lmusichub/business/Album;Lmusichub/business/Album;)I" line="17"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="9" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/MusicHub" sourcefilename="MusicHub.java"><method name="&lt;init&gt;" desc="()V" line="41"><counter type="INSTRUCTION" missed="29" covered="0"/><counter type="LINE" missed="9" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addElement" desc="(Lmusichub/business/AudioElement;)V" line="53"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addAlbum" desc="(Lmusichub/business/Album;)V" line="57"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addPlaylist" desc="(Lmusichub/business/PlayList;)V" line="61"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="deletePlayList" desc="(Ljava/lang/String;)V" line="66"><counter type="INSTRUCTION" missed="40" covered="0"/><counter type="BRANCH" missed="8" covered="0"/><counter type="LINE" missed="11" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="albums" desc="()Ljava/util/Iterator;" line="81"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="playlists" desc="()Ljava/util/Iterator;" line="85"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="elements" desc="()Ljava/util/Iterator;" line="89"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAlbumsTitlesSortedByDate" desc="()Ljava/lang/String;" line="93"><counter type="INSTRUCTION" missed="32" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAudiobooksTitlesSortedByAuthor" desc="()Ljava/lang/String;" line="101"><counter type="INSTRUCTION" missed="53" covered="0"/><counter type="BRANCH" missed="6" covered="0"/><counter type="LINE" missed="9" covered="0"/><counter type="COMPLEXITY" missed="4" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAlbumSongs" desc="(Ljava/lang/String;)Ljava/util/List;" line="113"><counter type="INSTRUCTION" missed="73" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="15" covered="0"/><counter type="COMPLEXITY" missed="8" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAlbumSongsSortedByGenre" desc="(Ljava/lang/String;)Ljava/util/List;" line="135"><counter type="INSTRUCTION" missed="79" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="16" covered="0"/><counter type="COMPLEXITY" missed="8" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addElementToAlbum" desc="(Ljava/lang/String;Ljava/lang/String;)V" line="158"><counter type="INSTRUCTION" missed="82" covered="0"/><counter type="BRANCH" missed="12" covered="0"/><counter type="LINE" missed="20" covered="0"/><counter type="COMPLEXITY" missed="7" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addElementToPlayList" desc="(Ljava/lang/String;Ljava/lang/String;)V" line="187"><counter type="INSTRUCTION" missed="82" covered="0"/><counter type="BRANCH" missed="12" covered="0"/><counter type="LINE" missed="20" covered="0"/><counter type="COMPLEXITY" missed="7" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="loadAlbums" desc="()V" line="218"><counter type="INSTRUCTION" missed="44" covered="0"/><counter type="BRANCH" missed="8" covered="0"/><counter type="LINE" missed="11" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="loadPlaylists" desc="()V" line="236"><counter type="INSTRUCTION" missed="44" covered="0"/><counter type="BRANCH" missed="8" covered="0"/><counter type="LINE" missed="11" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="loadElements" desc="()V" line="254"><counter type="INSTRUCTION" missed="64" covered="0"/><counter type="BRANCH" missed="10" covered="0"/><counter type="LINE" missed="18" covered="0"/><counter type="COMPLEXITY" missed="6" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="saveAlbums" desc="()V" line="282"><counter type="INSTRUCTION" missed="36" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="10" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="savePlayLists" desc="()V" line="298"><counter type="INSTRUCTION" missed="36" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="10" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="saveElements" desc="()V" line="314"><counter type="INSTRUCTION" missed="47" covered="0"/><counter type="BRANCH" missed="8" covered="0"/><counter type="LINE" missed="12" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAudioElement" desc="(Ljava/util/List;Ljava/lang/String;)V" line="335"><counter type="INSTRUCTION" missed="19" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="34"><counter type="INSTRUCTION" missed="13" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="803" covered="0"/><counter type="BRANCH" missed="114" covered="0"/><counter type="LINE" missed="195" covered="0"/><counter type="COMPLEXITY" missed="79" covered="0"/><counter type="METHOD" missed="22" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/Category" sourcefilename="Category.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;ILjava/lang/String;)V" line="7"><counter type="INSTRUCTION" missed="8" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getCategory" desc="()Ljava/lang/String;" line="12"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="3"><counter type="INSTRUCTION" missed="38" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="49" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/Song" sourcefilename="Song.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" line="11"><counter type="INSTRUCTION" missed="11" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V" line="16"><counter type="INSTRUCTION" missed="10" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Lorg/w3c/dom/Element;)V" line="21"><counter type="INSTRUCTION" missed="12" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getGenre" desc="()Ljava/lang/String;" line="26"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="setGenre" desc="(Ljava/lang/String;)V" line="30"><counter type="INSTRUCTION" missed="33" covered="0"/><counter type="BRANCH" missed="6" covered="0"/><counter type="LINE" missed="8" covered="0"/><counter type="COMPLEXITY" missed="6" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="toString" desc="()Ljava/lang/String;" line="41"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createXMLElement" desc="(Lorg/w3c/dom/Document;Lorg/w3c/dom/Element;)V" line="46"><counter type="INSTRUCTION" missed="29" covered="0"/><counter type="LINE" missed="7" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="105" covered="0"/><counter type="BRANCH" missed="6" covered="0"/><counter type="LINE" missed="26" covered="0"/><counter type="COMPLEXITY" missed="12" covered="0"/><counter type="METHOD" missed="7" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/NoPlayListFoundException" sourcefilename="NoPlayListFoundException.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="6"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/PlayList" sourcefilename="PlayList.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/util/ArrayList;)V" line="16"><counter type="INSTRUCTION" missed="13" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="22"><counter type="INSTRUCTION" missed="14" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Lorg/w3c/dom/Element;)V" line="28"><counter type="INSTRUCTION" missed="88" covered="0"/><counter type="BRANCH" missed="12" covered="0"/><counter type="LINE" missed="23" covered="0"/><counter type="COMPLEXITY" missed="7" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addElement" desc="(Ljava/util/UUID;)V" line="66"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getElements" desc="()Ljava/util/ArrayList;" line="70"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getTitle" desc="()Ljava/lang/String;" line="74"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createXMLElement" desc="(Lorg/w3c/dom/Document;Lorg/w3c/dom/Element;)V" line="78"><counter type="INSTRUCTION" missed="75" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="16" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="202" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="53" covered="0"/><counter type="COMPLEXITY" missed="14" covered="0"/><counter type="METHOD" missed="7" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/AudioBook" sourcefilename="AudioBook.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" line="11"><counter type="INSTRUCTION" missed="14" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" line="17"><counter type="INSTRUCTION" missed="13" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Lorg/w3c/dom/Element;)V" line="23"><counter type="INSTRUCTION" missed="20" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getLanguage" desc="()Lmusichub/business/Language;" line="29"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="setLanguage" desc="(Ljava/lang/String;)V" line="33"><counter type="INSTRUCTION" missed="29" covered="0"/><counter type="BRANCH" missed="5" covered="0"/><counter type="LINE" missed="7" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getCategory" desc="()Lmusichub/business/Category;" line="43"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="setCategory" desc="(Ljava/lang/String;)V" line="47"><counter type="INSTRUCTION" missed="29" covered="0"/><counter type="BRANCH" missed="5" covered="0"/><counter type="LINE" missed="7" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="toString" desc="()Ljava/lang/String;" line="58"><counter type="INSTRUCTION" missed="8" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createXMLElement" desc="(Lorg/w3c/dom/Document;Lorg/w3c/dom/Element;)V" line="64"><counter type="INSTRUCTION" missed="45" covered="0"/><counter type="LINE" missed="10" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="164" covered="0"/><counter type="BRANCH" missed="10" covered="0"/><counter type="LINE" missed="39" covered="0"/><counter type="COMPLEXITY" missed="17" covered="0"/><counter type="METHOD" missed="9" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/SortByGenre" sourcefilename="MusicHub.java"><method name="&lt;init&gt;" desc="()V" line="21"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="compare" desc="(Lmusichub/business/Song;Lmusichub/business/Song;)I" line="23"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="9" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/NoElementFoundException" sourcefilename="NoElementFoundException.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="6"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/Genre" sourcefilename="Genre.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;ILjava/lang/String;)V" line="7"><counter type="INSTRUCTION" missed="8" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getGenre" desc="()Ljava/lang/String;" line="12"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="3"><counter type="INSTRUCTION" missed="45" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="56" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/AudioElement" sourcefilename="AudioElement.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V" line="24"><counter type="INSTRUCTION" missed="19" covered="0"/><counter type="LINE" missed="7" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V" line="32"><counter type="INSTRUCTION" missed="18" covered="0"/><counter type="LINE" missed="7" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Lorg/w3c/dom/Element;)V" line="40"><counter type="INSTRUCTION" missed="63" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="14" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getUUID" desc="()Ljava/util/UUID;" line="59"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getArtist" desc="()Ljava/lang/String;" line="63"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getTitle" desc="()Ljava/lang/String;" line="67"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="toString" desc="()Ljava/lang/String;" line="71"><counter type="INSTRUCTION" missed="10" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createXMLElement" desc="(Lorg/w3c/dom/Document;Lorg/w3c/dom/Element;)V" line="75"><counter type="INSTRUCTION" missed="79" covered="0"/><counter type="LINE" missed="16" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="manageAudioElement" desc="()V" line="99"><counter type="INSTRUCTION" missed="68" covered="0"/><counter type="BRANCH" missed="7" covered="0"/><counter type="LINE" missed="24" covered="0"/><counter type="COMPLEXITY" missed="6" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="266" covered="0"/><counter type="BRANCH" missed="11" covered="0"/><counter type="LINE" missed="72" covered="0"/><counter type="COMPLEXITY" missed="16" covered="0"/><counter type="METHOD" missed="9" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><sourcefile name="MusicHub.java"><line nr="15" mi="3" ci="0" mb="0" cb="0"/><line nr="17" mi="6" ci="0" mb="0" cb="0"/><line nr="21" mi="3" ci="0" mb="0" cb="0"/><line nr="23" mi="6" ci="0" mb="0" cb="0"/><line nr="27" mi="3" ci="0" mb="0" cb="0"/><line nr="29" mi="6" ci="0" mb="0" cb="0"/><line nr="34" mi="3" ci="0" mb="0" cb="0"/><line nr="35" mi="3" ci="0" mb="0" cb="0"/><line nr="36" mi="3" ci="0" mb="0" cb="0"/><line nr="37" mi="4" ci="0" mb="0" cb="0"/><line nr="41" mi="5" ci="0" mb="0" cb="0"/><line nr="43" mi="2" ci="0" mb="0" cb="0"/><line nr="44" mi="5" ci="0" mb="0" cb="0"/><line nr="45" mi="5" ci="0" mb="0" cb="0"/><line nr="46" mi="5" ci="0" mb="0" cb="0"/><line nr="47" mi="2" ci="0" mb="0" cb="0"/><line nr="48" mi="2" ci="0" mb="0" cb="0"/><line nr="49" mi="2" ci="0" mb="0" cb="0"/><line nr="50" mi="1" ci="0" mb="0" cb="0"/><line nr="53" mi="5" ci="0" mb="0" cb="0"/><line nr="54" mi="1" ci="0" mb="0" cb="0"/><line nr="57" mi="5" ci="0" mb="0" cb="0"/><line nr="58" mi="1" ci="0" mb="0" cb="0"/><line nr="61" mi="5" ci="0" mb="0" cb="0"/><line nr="62" mi="1" ci="0" mb="0" cb="0"/><line nr="66" mi="2" ci="0" mb="0" cb="0"/><line nr="67" mi="2" ci="0" mb="0" cb="0"/><line nr="68" mi="11" ci="0" mb="2" cb="0"/><line nr="69" mi="5" ci="0" mb="2" cb="0"/><line nr="70" mi="2" ci="0" mb="0" cb="0"/><line nr="71" mi="1" ci="0" mb="0" cb="0"/><line nr="73" mi="1" ci="0" mb="0" cb="0"/><line nr="75" mi="2" ci="0" mb="2" cb="0"/><line nr="76" mi="5" ci="0" mb="0" cb="0"/><line nr="77" mi="8" ci="0" mb="2" cb="0"/><line nr="78" mi="1" ci="0" mb="0" cb="0"/><line nr="81" mi="4" ci="0" mb="0" cb="0"/><line nr="85" mi="4" ci="0" mb="0" cb="0"/><line nr="89" mi="4" ci="0" mb="0" cb="0"/><line nr="93" mi="4" ci="0" mb="0" cb="0"/><line nr="94" mi="6" ci="0" mb="0" cb="0"/><line nr="95" mi="11" ci="0" mb="2" cb="0"/><line nr="96" mi="8" ci="0" mb="0" cb="0"/><line nr="97" mi="3" ci="0" mb="0" cb="0"/><line nr="101" mi="4" ci="0" mb="0" cb="0"/><line nr="102" mi="4" ci="0" mb="0" cb="0"/><line nr="103" mi="11" ci="0" mb="2" cb="0"/><line nr="104" mi="4" ci="0" mb="2" cb="0"/><line nr="105" mi="4" ci="0" mb="0" cb="0"/><line nr="106" mi="5" ci="0" mb="0" cb="0"/><line nr="107" mi="10" ci="0" mb="2" cb="0"/><line nr="108" mi="8" ci="0" mb="0" cb="0"/><line nr="109" mi="3" ci="0" mb="0" cb="0"/><line nr="113" mi="2" ci="0" mb="0" cb="0"/><line nr="114" mi="4" ci="0" mb="0" cb="0"/><line nr="115" mi="11" ci="0" mb="2" cb="0"/><line nr="116" mi="5" ci="0" mb="2" cb="0"/><line nr="117" mi="2" ci="0" mb="0" cb="0"/><line nr="118" mi="1" ci="0" mb="0" cb="0"/><line nr="120" mi="1" ci="0" mb="0" cb="0"/><line nr="121" mi="7" ci="0" mb="2" cb="0"/><line nr="123" mi="3" ci="0" mb="0" cb="0"/><line nr="124" mi="10" ci="0" mb="2" cb="0"/><line nr="125" mi="12" ci="0" mb="2" cb="0"/><line nr="126" mi="3" ci="0" mb="2" cb="0"/><line nr="127" mi="9" ci="0" mb="2" cb="0"/><line nr="129" mi="1" ci="0" mb="0" cb="0"/><line nr="130" mi="2" ci="0" mb="0" cb="0"/><line nr="135" mi="2" ci="0" mb="0" cb="0"/><line nr="136" mi="4" ci="0" mb="0" cb="0"/><line nr="137" mi="11" ci="0" mb="2" cb="0"/><line nr="138" mi="5" ci="0" mb="2" cb="0"/><line nr="139" mi="2" ci="0" mb="0" cb="0"/><line nr="140" mi="1" ci="0" mb="0" cb="0"/><line nr="142" mi="1" ci="0" mb="0" cb="0"/><line nr="143" mi="7" ci="0" mb="2" cb="0"/><line nr="145" mi="3" ci="0" mb="0" cb="0"/><line nr="146" mi="10" ci="0" mb="2" cb="0"/><line nr="147" mi="12" ci="0" mb="2" cb="0"/><line nr="148" mi="3" ci="0" mb="2" cb="0"/><line nr="149" mi="10" ci="0" mb="2" cb="0"/><line nr="151" mi="1" ci="0" mb="0" cb="0"/><line nr="152" mi="5" ci="0" mb="0" cb="0"/><line nr="153" mi="2" ci="0" mb="0" cb="0"/><line nr="158" mi="2" ci="0" mb="0" cb="0"/><line nr="160" mi="2" ci="0" mb="0" cb="0"/><line nr="161" mi="9" ci="0" mb="2" cb="0"/><line nr="162" mi="9" ci="0" mb="2" cb="0"/><line nr="163" mi="6" ci="0" mb="0" cb="0"/><line nr="164" mi="2" ci="0" mb="0" cb="0"/><line nr="165" mi="1" ci="0" mb="0" cb="0"/><line nr="169" mi="2" ci="0" mb="2" cb="0"/><line nr="170" mi="2" ci="0" mb="0" cb="0"/><line nr="171" mi="11" ci="0" mb="2" cb="0"/><line nr="172" mi="5" ci="0" mb="2" cb="0"/><line nr="173" mi="2" ci="0" mb="0" cb="0"/><line nr="174" mi="1" ci="0" mb="0" cb="0"/><line nr="176" mi="1" ci="0" mb="0" cb="0"/><line nr="177" mi="2" ci="0" mb="2" cb="0"/><line nr="178" mi="4" ci="0" mb="0" cb="0"/><line nr="180" mi="7" ci="0" mb="0" cb="0"/><line nr="181" mi="6" ci="0" mb="0" cb="0"/><line nr="182" mi="7" ci="0" mb="0" cb="0"/><line nr="184" mi="1" ci="0" mb="0" cb="0"/><line nr="187" mi="2" ci="0" mb="0" cb="0"/><line nr="189" mi="2" ci="0" mb="0" cb="0"/><line nr="191" mi="9" ci="0" mb="2" cb="0"/><line nr="192" mi="9" ci="0" mb="2" cb="0"/><line nr="193" mi="6" ci="0" mb="0" cb="0"/><line nr="194" mi="2" ci="0" mb="0" cb="0"/><line nr="195" mi="1" ci="0" mb="0" cb="0"/><line nr="199" mi="2" ci="0" mb="2" cb="0"/><line nr="200" mi="2" ci="0" mb="0" cb="0"/><line nr="201" mi="11" ci="0" mb="2" cb="0"/><line nr="202" mi="5" ci="0" mb="2" cb="0"/><line nr="203" mi="2" ci="0" mb="0" cb="0"/><line nr="204" mi="1" ci="0" mb="0" cb="0"/><line nr="206" mi="1" ci="0" mb="0" cb="0"/><line nr="207" mi="2" ci="0" mb="2" cb="0"/><line nr="208" mi="4" ci="0" mb="0" cb="0"/><line nr="210" mi="7" ci="0" mb="0" cb="0"/><line nr="211" mi="6" ci="0" mb="0" cb="0"/><line nr="213" mi="7" ci="0" mb="0" cb="0"/><line nr="215" mi="1" ci="0" mb="0" cb="0"/><line nr="218" mi="5" ci="0" mb="0" cb="0"/><line nr="219" mi="3" ci="0" mb="2" cb="0"/><line nr="221" mi="8" ci="0" mb="2" cb="0"/><line nr="222" mi="6" ci="0" mb="2" cb="0"/><line nr="223" mi="5" ci="0" mb="0" cb="0"/><line nr="224" mi="5" ci="0" mb="2" cb="0"/><line nr="226" mi="6" ci="0" mb="0" cb="0"/><line nr="227" mi="1" ci="0" mb="0" cb="0"/><line nr="228" mi="3" ci="0" mb="0" cb="0"/><line nr="229" mi="1" ci="0" mb="0" cb="0"/><line nr="233" mi="1" ci="0" mb="0" cb="0"/><line nr="236" mi="5" ci="0" mb="0" cb="0"/><line nr="237" mi="3" ci="0" mb="2" cb="0"/><line nr="239" mi="8" ci="0" mb="2" cb="0"/><line nr="240" mi="6" ci="0" mb="2" cb="0"/><line nr="241" mi="5" ci="0" mb="0" cb="0"/><line nr="242" mi="5" ci="0" mb="2" cb="0"/><line nr="244" mi="6" ci="0" mb="0" cb="0"/><line nr="245" mi="1" ci="0" mb="0" cb="0"/><line nr="246" mi="3" ci="0" mb="0" cb="0"/><line nr="247" mi="1" ci="0" mb="0" cb="0"/><line nr="251" mi="1" ci="0" mb="0" cb="0"/><line nr="254" mi="5" ci="0" mb="0" cb="0"/><line nr="255" mi="3" ci="0" mb="2" cb="0"/><line nr="257" mi="8" ci="0" mb="2" cb="0"/><line nr="258" mi="6" ci="0" mb="2" cb="0"/><line nr="259" mi="5" ci="0" mb="0" cb="0"/><line nr="260" mi="5" ci="0" mb="2" cb="0"/><line nr="262" mi="5" ci="0" mb="0" cb="0"/><line nr="263" mi="3" ci="0" mb="0" cb="0"/><line nr="264" mi="1" ci="0" mb="0" cb="0"/><line nr="265" mi="3" ci="0" mb="0" cb="0"/><line nr="266" mi="1" ci="0" mb="0" cb="0"/><line nr="268" mi="5" ci="0" mb="2" cb="0"/><line nr="270" mi="5" ci="0" mb="0" cb="0"/><line nr="271" mi="3" ci="0" mb="0" cb="0"/><line nr="272" mi="1" ci="0" mb="0" cb="0"/><line nr="273" mi="3" ci="0" mb="0" cb="0"/><line nr="274" mi="1" ci="0" mb="0" cb="0"/><line nr="278" mi="1" ci="0" mb="0" cb="0"/><line nr="282" mi="4" ci="0" mb="0" cb="0"/><line nr="283" mi="3" ci="0" mb="2" cb="0"/><line nr="286" mi="4" ci="0" mb="0" cb="0"/><line nr="287" mi="4" ci="0" mb="0" cb="0"/><line nr="290" mi="6" ci="0" mb="2" cb="0"/><line nr="291" mi="4" ci="0" mb="0" cb="0"/><line nr="292" mi="4" ci="0" mb="0" cb="0"/><line nr="293" mi="1" ci="0" mb="0" cb="0"/><line nr="294" mi="5" ci="0" mb="0" cb="0"/><line nr="295" mi="1" ci="0" mb="0" cb="0"/><line nr="298" mi="4" ci="0" mb="0" cb="0"/><line nr="299" mi="3" ci="0" mb="2" cb="0"/><line nr="302" mi="4" ci="0" mb="0" cb="0"/><line nr="303" mi="4" ci="0" mb="0" cb="0"/><line nr="306" mi="6" ci="0" mb="2" cb="0"/><line nr="307" mi="4" ci="0" mb="0" cb="0"/><line nr="308" mi="4" ci="0" mb="0" cb="0"/><line nr="309" mi="1" ci="0" mb="0" cb="0"/><line nr="310" mi="5" ci="0" mb="0" cb="0"/><line nr="311" mi="1" ci="0" mb="0" cb="0"/><line nr="314" mi="4" ci="0" mb="0" cb="0"/><line nr="315" mi="3" ci="0" mb="2" cb="0"/><line nr="318" mi="4" ci="0" mb="0" cb="0"/><line nr="319" mi="4" ci="0" mb="0" cb="0"/><line nr="322" mi="11" ci="0" mb="2" cb="0"/><line nr="324" mi="3" ci="0" mb="2" cb="0"/><line nr="325" mi="4" ci="0" mb="0" cb="0"/><line nr="327" mi="3" ci="0" mb="2" cb="0"/><line nr="328" mi="4" ci="0" mb="0" cb="0"/><line nr="330" mi="1" ci="0" mb="0" cb="0"/><line nr="331" mi="5" ci="0" mb="0" cb="0"/><line nr="332" mi="1" ci="0" mb="0" cb="0"/><line nr="335" mi="10" ci="0" mb="2" cb="0"/><line nr="336" mi="5" ci="0" mb="2" cb="0"/><line nr="337" mi="2" ci="0" mb="0" cb="0"/><line nr="339" mi="1" ci="0" mb="0" cb="0"/><line nr="341" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="830" covered="0"/><counter type="BRANCH" missed="114" covered="0"/><counter type="LINE" missed="201" covered="0"/><counter type="COMPLEXITY" missed="85" covered="0"/><counter type="METHOD" missed="28" covered="0"/><counter type="CLASS" missed="4" covered="0"/></sourcefile><sourcefile name="PlayList.java"><line nr="16" mi="2" ci="0" mb="0" cb="0"/><line nr="17" mi="3" ci="0" mb="0" cb="0"/><line nr="18" mi="4" ci="0" mb="0" cb="0"/><line nr="19" mi="3" ci="0" mb="0" cb="0"/><line nr="20" mi="1" ci="0" mb="0" cb="0"/><line nr="22" mi="2" ci="0" mb="0" cb="0"/><line nr="23" mi="3" ci="0" mb="0" cb="0"/><line nr="24" mi="3" ci="0" mb="0" cb="0"/><line nr="25" mi="5" ci="0" mb="0" cb="0"/><line nr="26" mi="1" ci="0" mb="0" cb="0"/><line nr="28" mi="2" ci="0" mb="0" cb="0"/><line nr="30" mi="8" ci="0" mb="0" cb="0"/><line nr="32" mi="2" ci="0" mb="0" cb="0"/><line nr="34" mi="7" ci="0" mb="0" cb="0"/><line nr="35" mi="1" ci="0" mb="0" cb="0"/><line nr="36" mi="3" ci="0" mb="0" cb="0"/><line nr="37" mi="1" ci="0" mb="0" cb="0"/><line nr="38" mi="5" ci="0" mb="4" cb="0"/><line nr="39" mi="4" ci="0" mb="0" cb="0"/><line nr="40" mi="4" ci="0" mb="0" cb="0"/><line nr="43" mi="6" ci="0" mb="0" cb="0"/><line nr="44" mi="3" ci="0" mb="0" cb="0"/><line nr="45" mi="3" ci="0" mb="2" cb="0"/><line nr="47" mi="5" ci="0" mb="0" cb="0"/><line nr="50" mi="8" ci="0" mb="2" cb="0"/><line nr="51" mi="6" ci="0" mb="2" cb="0"/><line nr="52" mi="5" ci="0" mb="0" cb="0"/><line nr="53" mi="5" ci="0" mb="2" cb="0"/><line nr="55" mi="5" ci="0" mb="0" cb="0"/><line nr="56" mi="1" ci="0" mb="0" cb="0"/><line nr="57" mi="2" ci="0" mb="0" cb="0"/><line nr="58" mi="1" ci="0" mb="0" cb="0"/><line nr="63" mi="1" ci="0" mb="0" cb="0"/><line nr="66" mi="5" ci="0" mb="0" cb="0"/><line nr="67" mi="1" ci="0" mb="0" cb="0"/><line nr="70" mi="3" ci="0" mb="0" cb="0"/><line nr="74" mi="3" ci="0" mb="0" cb="0"/><line nr="78" mi="4" ci="0" mb="0" cb="0"/><line nr="79" mi="4" ci="0" mb="0" cb="0"/><line nr="81" mi="4" ci="0" mb="0" cb="0"/><line nr="82" mi="7" ci="0" mb="0" cb="0"/><line nr="83" mi="4" ci="0" mb="0" cb="0"/><line nr="85" mi="4" ci="0" mb="0" cb="0"/><line nr="86" mi="8" ci="0" mb="0" cb="0"/><line nr="87" mi="4" ci="0" mb="0" cb="0"/><line nr="90" mi="4" ci="0" mb="0" cb="0"/><line nr="91" mi="11" ci="0" mb="2" cb="0"/><line nr="93" mi="4" ci="0" mb="0" cb="0"/><line nr="94" mi="7" ci="0" mb="0" cb="0"/><line nr="95" mi="4" ci="0" mb="0" cb="0"/><line nr="96" mi="1" ci="0" mb="0" cb="0"/><line nr="97" mi="4" ci="0" mb="0" cb="0"/><line nr="98" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="202" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="53" covered="0"/><counter type="COMPLEXITY" missed="14" covered="0"/><counter type="METHOD" missed="7" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="NoAlbumFoundException.java"><line nr="6" mi="3" ci="0" mb="0" cb="0"/><line nr="7" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="Album.java"><line nr="21" mi="2" ci="0" mb="0" cb="0"/><line nr="22" mi="3" ci="0" mb="0" cb="0"/><line nr="23" mi="3" ci="0" mb="0" cb="0"/><line nr="24" mi="3" ci="0" mb="0" cb="0"/><line nr="25" mi="4" ci="0" mb="0" cb="0"/><line nr="27" mi="5" ci="0" mb="0" cb="0"/><line nr="28" mi="5" ci="0" mb="0" cb="0"/><line nr="29" mi="1" ci="0" mb="0" cb="0"/><line nr="30" mi="2" ci="0" mb="0" cb="0"/><line nr="31" mi="1" ci="0" mb="0" cb="0"/><line nr="32" mi="3" ci="0" mb="0" cb="0"/><line nr="33" mi="1" ci="0" mb="0" cb="0"/><line nr="35" mi="2" ci="0" mb="0" cb="0"/><line nr="36" mi="3" ci="0" mb="0" cb="0"/><line nr="37" mi="3" ci="0" mb="0" cb="0"/><line nr="38" mi="3" ci="0" mb="0" cb="0"/><line nr="39" mi="3" ci="0" mb="0" cb="0"/><line nr="41" mi="5" ci="0" mb="0" cb="0"/><line nr="42" mi="5" ci="0" mb="0" cb="0"/><line nr="43" mi="1" ci="0" mb="0" cb="0"/><line nr="44" mi="2" ci="0" mb="0" cb="0"/><line nr="45" mi="1" ci="0" mb="0" cb="0"/><line nr="46" mi="5" ci="0" mb="0" cb="0"/><line nr="47" mi="1" ci="0" mb="0" cb="0"/><line nr="49" mi="2" ci="0" mb="0" cb="0"/><line nr="51" mi="8" ci="0" mb="0" cb="0"/><line nr="52" mi="9" ci="0" mb="0" cb="0"/><line nr="53" mi="2" ci="0" mb="0" cb="0"/><line nr="55" mi="7" ci="0" mb="0" cb="0"/><line nr="56" mi="1" ci="0" mb="0" cb="0"/><line nr="57" mi="3" ci="0" mb="0" cb="0"/><line nr="58" mi="1" ci="0" mb="0" cb="0"/><line nr="59" mi="5" ci="0" mb="4" cb="0"/><line nr="60" mi="4" ci="0" mb="0" cb="0"/><line nr="61" mi="4" ci="0" mb="0" cb="0"/><line nr="63" mi="5" ci="0" mb="0" cb="0"/><line nr="64" mi="10" ci="0" mb="0" cb="0"/><line nr="66" mi="6" ci="0" mb="0" cb="0"/><line nr="67" mi="3" ci="0" mb="0" cb="0"/><line nr="68" mi="3" ci="0" mb="2" cb="0"/><line nr="70" mi="5" ci="0" mb="0" cb="0"/><line nr="72" mi="8" ci="0" mb="2" cb="0"/><line nr="73" mi="6" ci="0" mb="2" cb="0"/><line nr="74" mi="5" ci="0" mb="0" cb="0"/><line nr="75" mi="5" ci="0" mb="2" cb="0"/><line nr="77" mi="5" ci="0" mb="0" cb="0"/><line nr="78" mi="1" ci="0" mb="0" cb="0"/><line nr="79" mi="2" ci="0" mb="0" cb="0"/><line nr="80" mi="1" ci="0" mb="0" cb="0"/><line nr="85" mi="1" ci="0" mb="0" cb="0"/><line nr="89" mi="5" ci="0" mb="0" cb="0"/><line nr="90" mi="1" ci="0" mb="0" cb="0"/><line nr="94" mi="3" ci="0" mb="0" cb="0"/><line nr="98" mi="3" ci="0" mb="0" cb="0"/><line nr="99" mi="2" ci="0" mb="0" cb="0"/><line nr="100" mi="2" ci="0" mb="0" cb="0"/><line nr="104" mi="3" ci="0" mb="0" cb="0"/><line nr="108" mi="3" ci="0" mb="0" cb="0"/><line nr="112" mi="4" ci="0" mb="0" cb="0"/><line nr="113" mi="4" ci="0" mb="0" cb="0"/><line nr="115" mi="4" ci="0" mb="0" cb="0"/><line nr="116" mi="7" ci="0" mb="0" cb="0"/><line nr="117" mi="4" ci="0" mb="0" cb="0"/><line nr="119" mi="4" ci="0" mb="0" cb="0"/><line nr="120" mi="7" ci="0" mb="0" cb="0"/><line nr="121" mi="4" ci="0" mb="0" cb="0"/><line nr="123" mi="4" ci="0" mb="0" cb="0"/><line nr="124" mi="9" ci="0" mb="0" cb="0"/><line nr="125" mi="4" ci="0" mb="0" cb="0"/><line nr="127" mi="4" ci="0" mb="0" cb="0"/><line nr="128" mi="8" ci="0" mb="0" cb="0"/><line nr="129" mi="4" ci="0" mb="0" cb="0"/><line nr="131" mi="4" ci="0" mb="0" cb="0"/><line nr="132" mi="5" ci="0" mb="0" cb="0"/><line nr="133" mi="9" ci="0" mb="0" cb="0"/><line nr="134" mi="4" ci="0" mb="0" cb="0"/><line nr="136" mi="4" ci="0" mb="0" cb="0"/><line nr="137" mi="11" ci="0" mb="2" cb="0"/><line nr="138" mi="4" ci="0" mb="0" cb="0"/><line nr="139" mi="7" ci="0" mb="0" cb="0"/><line nr="140" mi="4" ci="0" mb="0" cb="0"/><line nr="141" mi="1" ci="0" mb="0" cb="0"/><line nr="142" mi="4" ci="0" mb="0" cb="0"/><line nr="144" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="330" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="84" covered="0"/><counter type="COMPLEXITY" missed="16" covered="0"/><counter type="METHOD" missed="9" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="Language.java"><line nr="3" mi="3" ci="0" mb="0" cb="0"/><line nr="4" mi="35" ci="0" mb="0" cb="0"/><line nr="7" mi="4" ci="0" mb="0" cb="0"/><line nr="8" mi="3" ci="0" mb="0" cb="0"/><line nr="9" mi="1" ci="0" mb="0" cb="0"/><line nr="12" mi="3" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="49" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="Genre.java"><line nr="3" mi="3" ci="0" mb="0" cb="0"/><line nr="4" mi="42" ci="0" mb="0" cb="0"/><line nr="7" mi="4" ci="0" mb="0" cb="0"/><line nr="8" mi="3" ci="0" mb="0" cb="0"/><line nr="9" mi="1" ci="0" mb="0" cb="0"/><line nr="12" mi="3" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="56" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="NoPlayListFoundException.java"><line nr="6" mi="3" ci="0" mb="0" cb="0"/><line nr="7" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="AudioElement.java"><line nr="24" mi="2" ci="0" mb="0" cb="0"/><line nr="25" mi="3" ci="0" mb="0" cb="0"/><line nr="26" mi="3" ci="0" mb="0" cb="0"/><line nr="27" mi="3" ci="0" mb="0" cb="0"/><line nr="28" mi="4" ci="0" mb="0" cb="0"/><line nr="29" mi="3" ci="0" mb="0" cb="0"/><line nr="30" mi="1" ci="0" mb="0" cb="0"/><line nr="32" mi="2" ci="0" mb="0" cb="0"/><line nr="33" mi="3" ci="0" mb="0" cb="0"/><line nr="34" mi="3" ci="0" mb="0" cb="0"/><line nr="35" mi="3" ci="0" mb="0" cb="0"/><line nr="36" mi="3" ci="0" mb="0" cb="0"/><line nr="37" mi="3" ci="0" mb="0" cb="0"/><line nr="38" mi="1" ci="0" mb="0" cb="0"/><line nr="40" mi="2" ci="0" mb="0" cb="0"/><line nr="42" mi="8" ci="0" mb="0" cb="0"/><line nr="43" mi="8" ci="0" mb="0" cb="0"/><line nr="44" mi="9" ci="0" mb="0" cb="0"/><line nr="45" mi="8" ci="0" mb="0" cb="0"/><line nr="46" mi="2" ci="0" mb="0" cb="0"/><line nr="48" mi="7" ci="0" mb="0" cb="0"/><line nr="49" mi="1" ci="0" mb="0" cb="0"/><line nr="50" mi="3" ci="0" mb="0" cb="0"/><line nr="51" mi="1" ci="0" mb="0" cb="0"/><line nr="52" mi="5" ci="0" mb="4" cb="0"/><line nr="53" mi="4" ci="0" mb="0" cb="0"/><line nr="54" mi="4" ci="0" mb="0" cb="0"/><line nr="56" mi="1" ci="0" mb="0" cb="0"/><line nr="59" mi="3" ci="0" mb="0" cb="0"/><line nr="63" mi="3" ci="0" mb="0" cb="0"/><line nr="67" mi="3" ci="0" mb="0" cb="0"/><line nr="71" mi="10" ci="0" mb="0" cb="0"/><line nr="75" mi="4" ci="0" mb="0" cb="0"/><line nr="76" mi="7" ci="0" mb="0" cb="0"/><line nr="77" mi="4" ci="0" mb="0" cb="0"/><line nr="79" mi="4" ci="0" mb="0" cb="0"/><line nr="80" mi="7" ci="0" mb="0" cb="0"/><line nr="81" mi="4" ci="0" mb="0" cb="0"/><line nr="83" mi="4" ci="0" mb="0" cb="0"/><line nr="84" mi="9" ci="0" mb="0" cb="0"/><line nr="85" mi="4" ci="0" mb="0" cb="0"/><line nr="87" mi="4" ci="0" mb="0" cb="0"/><line nr="88" mi="8" ci="0" mb="0" cb="0"/><line nr="89" mi="4" ci="0" mb="0" cb="0"/><line nr="91" mi="4" ci="0" mb="0" cb="0"/><line nr="92" mi="7" ci="0" mb="0" cb="0"/><line nr="93" mi="4" ci="0" mb="0" cb="0"/><line nr="95" mi="1" ci="0" mb="0" cb="0"/><line nr="99" mi="5" ci="0" mb="0" cb="0"/><line nr="101" mi="6" ci="0" mb="0" cb="0"/><line nr="102" mi="3" ci="0" mb="0" cb="0"/><line nr="103" mi="2" ci="0" mb="0" cb="0"/><line nr="104" mi="3" ci="0" mb="0" cb="0"/><line nr="106" mi="2" ci="0" mb="0" cb="0"/><line nr="108" mi="4" ci="0" mb="2" cb="0"/><line nr="109" mi="3" ci="0" mb="0" cb="0"/><line nr="110" mi="3" ci="0" mb="0" cb="0"/><line nr="111" mi="3" ci="0" mb="0" cb="0"/><line nr="112" mi="3" ci="0" mb="0" cb="0"/><line nr="114" mi="8" ci="0" mb="5" cb="0"/><line nr="115" mi="2" ci="0" mb="0" cb="0"/><line nr="116" mi="1" ci="0" mb="0" cb="0"/><line nr="117" mi="2" ci="0" mb="0" cb="0"/><line nr="118" mi="1" ci="0" mb="0" cb="0"/><line nr="119" mi="3" ci="0" mb="0" cb="0"/><line nr="120" mi="1" ci="0" mb="0" cb="0"/><line nr="121" mi="2" ci="0" mb="0" cb="0"/><line nr="122" mi="1" ci="0" mb="0" cb="0"/><line nr="123" mi="3" ci="0" mb="0" cb="0"/><line nr="125" mi="4" ci="0" mb="0" cb="0"/><line nr="128" mi="2" ci="0" mb="0" cb="0"/><line nr="130" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="266" covered="0"/><counter type="BRANCH" missed="11" covered="0"/><counter type="LINE" missed="72" covered="0"/><counter type="COMPLEXITY" missed="16" covered="0"/><counter type="METHOD" missed="9" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="NoElementFoundException.java"><line nr="6" mi="3" ci="0" mb="0" cb="0"/><line nr="7" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="Category.java"><line nr="3" mi="3" ci="0" mb="0" cb="0"/><line nr="4" mi="35" ci="0" mb="0" cb="0"/><line nr="7" mi="4" ci="0" mb="0" cb="0"/><line nr="8" mi="3" ci="0" mb="0" cb="0"/><line nr="9" mi="1" ci="0" mb="0" cb="0"/><line nr="12" mi="3" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="49" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="AudioBook.java"><line nr="11" mi="7" ci="0" mb="0" cb="0"/><line nr="12" mi="3" ci="0" mb="0" cb="0"/><line nr="13" mi="3" ci="0" mb="0" cb="0"/><line nr="14" mi="1" ci="0" mb="0" cb="0"/><line nr="17" mi="6" ci="0" mb="0" cb="0"/><line nr="18" mi="3" ci="0" mb="0" cb="0"/><line nr="19" mi="3" ci="0" mb="0" cb="0"/><line nr="20" mi="1" ci="0" mb="0" cb="0"/><line nr="23" mi="3" ci="0" mb="0" cb="0"/><line nr="24" mi="8" ci="0" mb="0" cb="0"/><line nr="25" mi="8" ci="0" mb="0" cb="0"/><line nr="26" mi="1" ci="0" mb="0" cb="0"/><line nr="29" mi="3" ci="0" mb="0" cb="0"/><line nr="33" mi="9" ci="0" mb="5" cb="0"/><line nr="34" mi="4" ci="0" mb="0" cb="0"/><line nr="35" mi="4" ci="0" mb="0" cb="0"/><line nr="36" mi="4" ci="0" mb="0" cb="0"/><line nr="37" mi="4" ci="0" mb="0" cb="0"/><line nr="38" mi="3" ci="0" mb="0" cb="0"/><line nr="40" mi="1" ci="0" mb="0" cb="0"/><line nr="43" mi="3" ci="0" mb="0" cb="0"/><line nr="47" mi="9" ci="0" mb="5" cb="0"/><line nr="48" mi="4" ci="0" mb="0" cb="0"/><line nr="49" mi="4" ci="0" mb="0" cb="0"/><line nr="50" mi="4" ci="0" mb="0" cb="0"/><line nr="51" mi="4" ci="0" mb="0" cb="0"/><line nr="52" mi="3" ci="0" mb="0" cb="0"/><line nr="54" mi="1" ci="0" mb="0" cb="0"/><line nr="58" mi="8" ci="0" mb="0" cb="0"/><line nr="64" mi="4" ci="0" mb="0" cb="0"/><line nr="66" mi="4" ci="0" mb="0" cb="0"/><line nr="68" mi="4" ci="0" mb="0" cb="0"/><line nr="69" mi="8" ci="0" mb="0" cb="0"/><line nr="70" mi="4" ci="0" mb="0" cb="0"/><line nr="72" mi="4" ci="0" mb="0" cb="0"/><line nr="73" mi="8" ci="0" mb="0" cb="0"/><line nr="74" mi="4" ci="0" mb="0" cb="0"/><line nr="76" mi="4" ci="0" mb="0" cb="0"/><line nr="77" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="164" covered="0"/><counter type="BRANCH" missed="10" covered="0"/><counter type="LINE" missed="39" covered="0"/><counter type="COMPLEXITY" missed="17" covered="0"/><counter type="METHOD" missed="9" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="Song.java"><line nr="11" mi="7" ci="0" mb="0" cb="0"/><line nr="12" mi="3" ci="0" mb="0" cb="0"/><line nr="13" mi="1" ci="0" mb="0" cb="0"/><line nr="16" mi="6" ci="0" mb="0" cb="0"/><line nr="17" mi="3" ci="0" mb="0" cb="0"/><line nr="18" mi="1" ci="0" mb="0" cb="0"/><line nr="21" mi="3" ci="0" mb="0" cb="0"/><line nr="22" mi="8" ci="0" mb="0" cb="0"/><line nr="23" mi="1" ci="0" mb="0" cb="0"/><line nr="26" mi="4" ci="0" mb="0" cb="0"/><line nr="30" mi="9" ci="0" mb="6" cb="0"/><line nr="31" mi="4" ci="0" mb="0" cb="0"/><line nr="32" mi="4" ci="0" mb="0" cb="0"/><line nr="33" mi="4" ci="0" mb="0" cb="0"/><line nr="34" mi="4" ci="0" mb="0" cb="0"/><line nr="35" mi="4" ci="0" mb="0" cb="0"/><line nr="36" mi="3" ci="0" mb="0" cb="0"/><line nr="38" mi="1" ci="0" mb="0" cb="0"/><line nr="41" mi="6" ci="0" mb="0" cb="0"/><line nr="46" mi="4" ci="0" mb="0" cb="0"/><line nr="48" mi="4" ci="0" mb="0" cb="0"/><line nr="50" mi="4" ci="0" mb="0" cb="0"/><line nr="51" mi="8" ci="0" mb="0" cb="0"/><line nr="52" mi="4" ci="0" mb="0" cb="0"/><line nr="54" mi="4" ci="0" mb="0" cb="0"/><line nr="55" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="105" covered="0"/><counter type="BRANCH" missed="6" covered="0"/><counter type="LINE" missed="26" covered="0"/><counter type="COMPLEXITY" missed="12" covered="0"/><counter type="METHOD" missed="7" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><counter type="INSTRUCTION" missed="2063" covered="0"/><counter type="BRANCH" missed="169" covered="0"/><counter type="LINE" missed="499" covered="0"/><counter type="COMPLEXITY" missed="172" covered="0"/><counter type="METHOD" missed="81" covered="0"/><counter type="CLASS" missed="15" covered="0"/></package><package name="musichub/main"><class name="musichub/main/Main" sourcefilename="Main.java"><method name="&lt;init&gt;" desc="()V" line="15"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="main" desc="([Ljava/lang/String;)V" line="18"><counter type="INSTRUCTION" missed="562" covered="0"/><counter type="BRANCH" missed="41" covered="0"/><counter type="LINE" missed="191" covered="0"/><counter type="COMPLEXITY" missed="28" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="printAvailableCommands" desc="()V" line="261"><counter type="INSTRUCTION" missed="40" covered="0"/><counter type="LINE" missed="14" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="605" covered="0"/><counter type="BRANCH" missed="41" covered="0"/><counter type="LINE" missed="206" covered="0"/><counter type="COMPLEXITY" missed="30" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><sourcefile name="Main.java"><line nr="15" mi="3" ci="0" mb="0" cb="0"/><line nr="18" mi="4" ci="0" mb="0" cb="0"/><line nr="20" mi="3" ci="0" mb="0" cb="0"/><line nr="23" mi="5" ci="0" mb="0" cb="0"/><line nr="24" mi="3" ci="0" mb="0" cb="0"/><line nr="28" mi="5" ci="0" mb="2" cb="0"/><line nr="30" mi="4" ci="0" mb="2" cb="0"/><line nr="31" mi="4" ci="0" mb="15" cb="0"/><line nr="33" mi="2" ci="0" mb="0" cb="0"/><line nr="35" mi="1" ci="0" mb="0" cb="0"/><line nr="36" mi="3" ci="0" mb="0" cb="0"/><line nr="37" mi="1" ci="0" mb="0" cb="0"/><line nr="40" mi="4" ci="0" mb="0" cb="0"/><line nr="41" mi="1" ci="0" mb="0" cb="0"/><line nr="42" mi="3" ci="0" mb="0" cb="0"/><line nr="43" mi="1" ci="0" mb="0" cb="0"/><line nr="46" mi="3" ci="0" mb="0" cb="0"/><line nr="47" mi="4" ci="0" mb="0" cb="0"/><line nr="49" mi="3" ci="0" mb="0" cb="0"/><line nr="51" mi="4" ci="0" mb="0" cb="0"/><line nr="52" mi="3" ci="0" mb="0" cb="0"/><line nr="53" mi="1" ci="0" mb="0" cb="0"/><line nr="54" mi="5" ci="0" mb="0" cb="0"/><line nr="55" mi="1" ci="0" mb="0" cb="0"/><line nr="56" mi="1" ci="0" mb="0" cb="0"/><line nr="57" mi="3" ci="0" mb="0" cb="0"/><line nr="58" mi="1" ci="0" mb="0" cb="0"/><line nr="61" mi="3" ci="0" mb="0" cb="0"/><line nr="62" mi="4" ci="0" mb="0" cb="0"/><line nr="64" mi="3" ci="0" mb="0" cb="0"/><line nr="66" mi="4" ci="0" mb="0" cb="0"/><line nr="67" mi="5" ci="0" mb="0" cb="0"/><line nr="68" mi="3" ci="0" mb="0" cb="0"/><line nr="69" mi="4" ci="0" mb="0" cb="0"/><line nr="70" mi="1" ci="0" mb="0" cb="0"/><line nr="71" mi="5" ci="0" mb="0" cb="0"/><line nr="72" mi="1" ci="0" mb="0" cb="0"/><line nr="73" mi="1" ci="0" mb="0" cb="0"/><line nr="74" mi="3" ci="0" mb="0" cb="0"/><line nr="75" mi="1" ci="0" mb="0" cb="0"/><line nr="78" mi="4" ci="0" mb="0" cb="0"/><line nr="79" mi="1" ci="0" mb="0" cb="0"/><line nr="80" mi="3" ci="0" mb="0" cb="0"/><line nr="81" mi="1" ci="0" mb="0" cb="0"/><line nr="84" mi="3" ci="0" mb="0" cb="0"/><line nr="85" mi="3" ci="0" mb="0" cb="0"/><line nr="86" mi="3" ci="0" mb="0" cb="0"/><line nr="87" mi="3" ci="0" mb="0" cb="0"/><line nr="88" mi="3" ci="0" mb="0" cb="0"/><line nr="89" mi="3" ci="0" mb="0" cb="0"/><line nr="90" mi="3" ci="0" mb="0" cb="0"/><line nr="91" mi="3" ci="0" mb="0" cb="0"/><line nr="92" mi="4" ci="0" mb="0" cb="0"/><line nr="94" mi="3" ci="0" mb="0" cb="0"/><line nr="95" mi="3" ci="0" mb="0" cb="0"/><line nr="96" mi="3" ci="0" mb="2" cb="0"/><line nr="97" mi="2" ci="0" mb="0" cb="0"/><line nr="98" mi="3" ci="0" mb="0" cb="0"/><line nr="99" mi="4" ci="0" mb="0" cb="0"/><line nr="100" mi="3" ci="0" mb="0" cb="0"/><line nr="101" mi="1" ci="0" mb="0" cb="0"/><line nr="104" mi="9" ci="0" mb="0" cb="0"/><line nr="105" mi="3" ci="0" mb="0" cb="0"/><line nr="106" mi="3" ci="0" mb="0" cb="0"/><line nr="107" mi="3" ci="0" mb="0" cb="0"/><line nr="108" mi="10" ci="0" mb="2" cb="0"/><line nr="109" mi="3" ci="0" mb="0" cb="0"/><line nr="110" mi="1" ci="0" mb="0" cb="0"/><line nr="111" mi="3" ci="0" mb="0" cb="0"/><line nr="112" mi="1" ci="0" mb="0" cb="0"/><line nr="115" mi="3" ci="0" mb="0" cb="0"/><line nr="116" mi="3" ci="0" mb="0" cb="0"/><line nr="117" mi="3" ci="0" mb="0" cb="0"/><line nr="118" mi="3" ci="0" mb="0" cb="0"/><line nr="119" mi="3" ci="0" mb="0" cb="0"/><line nr="120" mi="3" ci="0" mb="0" cb="0"/><line nr="121" mi="4" ci="0" mb="0" cb="0"/><line nr="122" mi="3" ci="0" mb="0" cb="0"/><line nr="123" mi="3" ci="0" mb="0" cb="0"/><line nr="124" mi="8" ci="0" mb="0" cb="0"/><line nr="125" mi="3" ci="0" mb="0" cb="0"/><line nr="126" mi="3" ci="0" mb="0" cb="0"/><line nr="127" mi="3" ci="0" mb="0" cb="0"/><line nr="128" mi="10" ci="0" mb="2" cb="0"/><line nr="129" mi="3" ci="0" mb="0" cb="0"/><line nr="130" mi="1" ci="0" mb="0" cb="0"/><line nr="131" mi="3" ci="0" mb="0" cb="0"/><line nr="132" mi="1" ci="0" mb="0" cb="0"/><line nr="135" mi="3" ci="0" mb="0" cb="0"/><line nr="136" mi="3" ci="0" mb="0" cb="0"/><line nr="137" mi="3" ci="0" mb="0" cb="0"/><line nr="138" mi="3" ci="0" mb="2" cb="0"/><line nr="139" mi="4" ci="0" mb="0" cb="0"/><line nr="140" mi="7" ci="0" mb="2" cb="0"/><line nr="141" mi="1" ci="0" mb="0" cb="0"/><line nr="142" mi="3" ci="0" mb="0" cb="0"/><line nr="144" mi="3" ci="0" mb="0" cb="0"/><line nr="145" mi="3" ci="0" mb="0" cb="0"/><line nr="146" mi="3" ci="0" mb="2" cb="0"/><line nr="147" mi="4" ci="0" mb="0" cb="0"/><line nr="148" mi="4" ci="0" mb="0" cb="0"/><line nr="149" mi="1" ci="0" mb="0" cb="0"/><line nr="150" mi="3" ci="0" mb="0" cb="0"/><line nr="152" mi="4" ci="0" mb="0" cb="0"/><line nr="153" mi="1" ci="0" mb="0" cb="0"/><line nr="154" mi="4" ci="0" mb="0" cb="0"/><line nr="155" mi="1" ci="0" mb="0" cb="0"/><line nr="156" mi="3" ci="0" mb="0" cb="0"/><line nr="157" mi="1" ci="0" mb="0" cb="0"/><line nr="158" mi="3" ci="0" mb="0" cb="0"/><line nr="159" mi="1" ci="0" mb="0" cb="0"/><line nr="162" mi="3" ci="0" mb="0" cb="0"/><line nr="163" mi="3" ci="0" mb="0" cb="0"/><line nr="164" mi="3" ci="0" mb="0" cb="0"/><line nr="165" mi="3" ci="0" mb="0" cb="0"/><line nr="166" mi="3" ci="0" mb="0" cb="0"/><line nr="167" mi="3" ci="0" mb="0" cb="0"/><line nr="168" mi="3" ci="0" mb="0" cb="0"/><line nr="169" mi="3" ci="0" mb="0" cb="0"/><line nr="170" mi="4" ci="0" mb="0" cb="0"/><line nr="171" mi="3" ci="0" mb="0" cb="0"/><line nr="172" mi="3" ci="0" mb="0" cb="0"/><line nr="173" mi="3" ci="0" mb="0" cb="0"/><line nr="174" mi="3" ci="0" mb="0" cb="0"/><line nr="175" mi="10" ci="0" mb="0" cb="0"/><line nr="176" mi="3" ci="0" mb="0" cb="0"/><line nr="177" mi="3" ci="0" mb="0" cb="0"/><line nr="178" mi="3" ci="0" mb="0" cb="0"/><line nr="179" mi="10" ci="0" mb="2" cb="0"/><line nr="180" mi="1" ci="0" mb="0" cb="0"/><line nr="181" mi="3" ci="0" mb="0" cb="0"/><line nr="182" mi="1" ci="0" mb="0" cb="0"/><line nr="185" mi="3" ci="0" mb="0" cb="0"/><line nr="186" mi="3" ci="0" mb="0" cb="0"/><line nr="187" mi="3" ci="0" mb="0" cb="0"/><line nr="188" mi="3" ci="0" mb="2" cb="0"/><line nr="189" mi="4" ci="0" mb="0" cb="0"/><line nr="190" mi="4" ci="0" mb="0" cb="0"/><line nr="191" mi="1" ci="0" mb="0" cb="0"/><line nr="192" mi="3" ci="0" mb="0" cb="0"/><line nr="193" mi="3" ci="0" mb="0" cb="0"/><line nr="194" mi="5" ci="0" mb="0" cb="0"/><line nr="195" mi="3" ci="0" mb="0" cb="0"/><line nr="196" mi="3" ci="0" mb="0" cb="0"/><line nr="198" mi="3" ci="0" mb="0" cb="0"/><line nr="199" mi="3" ci="0" mb="2" cb="0"/><line nr="200" mi="4" ci="0" mb="0" cb="0"/><line nr="201" mi="4" ci="0" mb="0" cb="0"/><line nr="202" mi="1" ci="0" mb="0" cb="0"/><line nr="203" mi="5" ci="0" mb="2" cb="0"/><line nr="204" mi="3" ci="0" mb="0" cb="0"/><line nr="205" mi="3" ci="0" mb="0" cb="0"/><line nr="207" mi="4" ci="0" mb="0" cb="0"/><line nr="208" mi="1" ci="0" mb="0" cb="0"/><line nr="209" mi="4" ci="0" mb="0" cb="0"/><line nr="210" mi="1" ci="0" mb="0" cb="0"/><line nr="212" mi="3" ci="0" mb="0" cb="0"/><line nr="213" mi="3" ci="0" mb="0" cb="0"/><line nr="214" mi="1" ci="0" mb="0" cb="0"/><line nr="215" mi="3" ci="0" mb="0" cb="0"/><line nr="216" mi="1" ci="0" mb="0" cb="0"/><line nr="217" mi="3" ci="0" mb="0" cb="0"/><line nr="218" mi="1" ci="0" mb="0" cb="0"/><line nr="221" mi="3" ci="0" mb="0" cb="0"/><line nr="222" mi="3" ci="0" mb="0" cb="0"/><line nr="223" mi="3" ci="0" mb="2" cb="0"/><line nr="224" mi="4" ci="0" mb="0" cb="0"/><line nr="225" mi="4" ci="0" mb="0" cb="0"/><line nr="226" mi="1" ci="0" mb="0" cb="0"/><line nr="227" mi="3" ci="0" mb="0" cb="0"/><line nr="229" mi="3" ci="0" mb="0" cb="0"/><line nr="230" mi="1" ci="0" mb="0" cb="0"/><line nr="231" mi="4" ci="0" mb="0" cb="0"/><line nr="232" mi="1" ci="0" mb="0" cb="0"/><line nr="233" mi="3" ci="0" mb="0" cb="0"/><line nr="234" mi="1" ci="0" mb="0" cb="0"/><line nr="235" mi="3" ci="0" mb="0" cb="0"/><line nr="236" mi="1" ci="0" mb="0" cb="0"/><line nr="239" mi="2" ci="0" mb="0" cb="0"/><line nr="240" mi="2" ci="0" mb="0" cb="0"/><line nr="241" mi="2" ci="0" mb="0" cb="0"/><line nr="242" mi="3" ci="0" mb="0" cb="0"/><line nr="243" mi="1" ci="0" mb="0" cb="0"/><line nr="244" mi="3" ci="0" mb="0" cb="0"/><line nr="245" mi="1" ci="0" mb="0" cb="0"/><line nr="248" mi="1" ci="0" mb="0" cb="0"/><line nr="249" mi="3" ci="0" mb="0" cb="0"/><line nr="250" mi="3" ci="0" mb="0" cb="0"/><line nr="251" mi="1" ci="0" mb="0" cb="0"/><line nr="254" mi="1" ci="0" mb="0" cb="0"/><line nr="257" mi="2" ci="0" mb="0" cb="0"/><line nr="258" mi="1" ci="0" mb="0" cb="0"/><line nr="261" mi="3" ci="0" mb="0" cb="0"/><line nr="262" mi="3" ci="0" mb="0" cb="0"/><line nr="263" mi="3" ci="0" mb="0" cb="0"/><line nr="264" mi="3" ci="0" mb="0" cb="0"/><line nr="265" mi="3" ci="0" mb="0" cb="0"/><line nr="266" mi="3" ci="0" mb="0" cb="0"/><line nr="267" mi="3" ci="0" mb="0" cb="0"/><line nr="268" mi="3" ci="0" mb="0" cb="0"/><line nr="269" mi="3" ci="0" mb="0" cb="0"/><line nr="270" mi="3" ci="0" mb="0" cb="0"/><line nr="271" mi="3" ci="0" mb="0" cb="0"/><line nr="272" mi="3" ci="0" mb="0" cb="0"/><line nr="273" mi="3" ci="0" mb="0" cb="0"/><line nr="274" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="605" covered="0"/><counter type="BRANCH" missed="41" covered="0"/><counter type="LINE" missed="206" covered="0"/><counter type="COMPLEXITY" missed="30" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><counter type="INSTRUCTION" missed="605" covered="0"/><counter type="BRANCH" missed="41" covered="0"/><counter type="LINE" missed="206" covered="0"/><counter type="COMPLEXITY" missed="30" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></package><counter type="INSTRUCTION" missed="2740" covered="63"/><counter type="BRANCH" missed="210" covered="0"/><counter type="LINE" missed="730" covered="15"/><counter type="COMPLEXITY" missed="206" covered="5"/><counter type="METHOD" missed="88" covered="5"/><counter type="CLASS" missed="17" covered="2"/></report>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.business/PathValidation.html b/target/site/jacoco/musichub.business/PathValidation.html
          deleted file mode 100644
          index 3b58bb2..0000000
          --- a/target/site/jacoco/musichub.business/PathValidation.html
          +++ /dev/null
          @@ -1 +0,0 @@
          -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>PathValidation</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.html" class="el_package">musichub.business</a> &gt; <span class="el_class">PathValidation</span></div><h1>PathValidation</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 17</td><td class="ctr2">100 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">2</td><td class="ctr1">0</td><td class="ctr2">4</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="PathValidation.java.html#L34" class="el_method">isPathValid(String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="PathValidation.java.html#L22" class="el_method">PathValidation()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="84" height="10" title="7" alt="7"/></td><td class="ctr2" id="c1">100 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.business/PathValidation.java.html b/target/site/jacoco/musichub.business/PathValidation.java.html
          deleted file mode 100644
          index 4d22953..0000000
          --- a/target/site/jacoco/musichub.business/PathValidation.java.html
          +++ /dev/null
          @@ -1,39 +0,0 @@
          -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>PathValidation.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.source.html" class="el_package">musichub.business</a> &gt; <span class="el_source">PathValidation.java</span></div><h1>PathValidation.java</h1><pre class="source lang-java linenums">package musichub.business;
          -
          -import java.nio.file.Files;
          -import java.nio.file.Path;
          -import java.nio.file.Paths;
          -
          -/**
          - * Class offering a path validation method.
          - *
          - * @author Aimeric ADJUTOR
          - * @version 1.0
          - */
          -
          -public final class PathValidation {
          -
          -    /**
          -     * Method that just throws an AssertionError if the class is called
          -     * @author Aimeric ADJUTOR
          -     * @throws AssertionError you can't instantiate this class
          -     */
          -
          -<span class="fc" id="L22">    public PathValidation() {</span>
          -<span class="fc" id="L23">        throw new AssertionError(&quot;You just can't instantiate this class.&quot;);</span>
          -    }
          -
          -    /**
          -     * Method that checks the validity of a given path
          -     *
          -     * @param inputPath the path given by the user
          -     * @return a boolean
          -     */
          -
          -    public static boolean isPathValid(String inputPath) {
          -<span class="fc" id="L34">        Path path = Paths.get(inputPath);</span>
          -<span class="fc" id="L35">        return Files.exists(path);</span>
          -    }
          -
          -}
          -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.business/index.html b/target/site/jacoco/musichub.business/index.html
          index 178e60b..421752c 100644
          --- a/target/site/jacoco/musichub.business/index.html
          +++ b/target/site/jacoco/musichub.business/index.html
          @@ -1 +1 @@
          -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>musichub.business</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <span class="el_package">musichub.business</span></div><h1>musichub.business</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">2 063 of 2 080</td><td class="ctr2">0 %</td><td class="bar">169 of 169</td><td class="ctr2">0 %</td><td class="ctr1">172</td><td class="ctr2">174</td><td class="ctr1">499</td><td class="ctr2">503</td><td class="ctr1">81</td><td class="ctr2">83</td><td class="ctr1">15</td><td class="ctr2">16</td></tr></tfoot><tbody><tr><td id="a6"><a href="MusicHub.html" class="el_class">MusicHub</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="803" alt="803"/></td><td class="ctr2" id="c1">0 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="114" alt="114"/></td><td class="ctr2" id="e0">0 %</td><td class="ctr1" id="f0">79</td><td class="ctr2" id="g0">79</td><td class="ctr1" id="h0">195</td><td class="ctr2" id="i0">195</td><td class="ctr1" id="j0">22</td><td class="ctr2" id="k0">22</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="Album.html" class="el_class">Album</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="49" height="10" title="330" alt="330"/></td><td class="ctr2" id="c2">0 %</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="14" height="10" title="14" alt="14"/></td><td class="ctr2" id="e1">0 %</td><td class="ctr1" id="f2">16</td><td class="ctr2" id="g2">16</td><td class="ctr1" id="h1">84</td><td class="ctr2" id="i1">84</td><td class="ctr1" id="j1">9</td><td class="ctr2" id="k1">9</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a2"><a href="AudioElement.html" class="el_class">AudioElement</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="39" height="10" title="266" alt="266"/></td><td class="ctr2" id="c3">0 %</td><td class="bar" id="d3"><img src="../jacoco-resources/redbar.gif" width="11" height="10" title="11" alt="11"/></td><td class="ctr2" id="e2">0 %</td><td class="ctr1" id="f3">16</td><td class="ctr2" id="g3">16</td><td class="ctr1" id="h2">72</td><td class="ctr2" id="i2">72</td><td class="ctr1" id="j2">9</td><td class="ctr2" id="k2">9</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a11"><a href="PlayList.html" class="el_class">PlayList</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="30" height="10" title="202" alt="202"/></td><td class="ctr2" id="c4">0 %</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="14" height="10" title="14" alt="14"/></td><td class="ctr2" id="e3">0 %</td><td class="ctr1" id="f4">14</td><td class="ctr2" id="g4">14</td><td class="ctr1" id="h3">53</td><td class="ctr2" id="i3">53</td><td class="ctr1" id="j4">7</td><td class="ctr2" id="k4">7</td><td class="ctr1" id="l3">1</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a1"><a href="AudioBook.html" class="el_class">AudioBook</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="24" height="10" title="164" alt="164"/></td><td class="ctr2" id="c5">0 %</td><td class="bar" id="d4"><img src="../jacoco-resources/redbar.gif" width="10" height="10" title="10" alt="10"/></td><td class="ctr2" id="e4">0 %</td><td class="ctr1" id="f1">17</td><td class="ctr2" id="g1">17</td><td class="ctr1" id="h4">39</td><td class="ctr2" id="i4">39</td><td class="ctr1" id="j3">9</td><td class="ctr2" id="k3">9</td><td class="ctr1" id="l4">1</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a12"><a href="Song.html" class="el_class">Song</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="15" height="10" title="105" alt="105"/></td><td class="ctr2" id="c6">0 %</td><td class="bar" id="d5"><img src="../jacoco-resources/redbar.gif" width="6" height="10" title="6" alt="6"/></td><td class="ctr2" id="e5">0 %</td><td class="ctr1" id="f5">12</td><td class="ctr2" id="g5">12</td><td class="ctr1" id="h5">26</td><td class="ctr2" id="i5">26</td><td class="ctr1" id="j5">7</td><td class="ctr2" id="k5">7</td><td class="ctr1" id="l5">1</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a4"><a href="Genre.html" class="el_class">Genre</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="56" alt="56"/></td><td class="ctr2" id="c7">0 %</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">3</td><td class="ctr2" id="g6">3</td><td class="ctr1" id="h6">6</td><td class="ctr2" id="i6">6</td><td class="ctr1" id="j6">3</td><td class="ctr2" id="k6">3</td><td class="ctr1" id="l6">1</td><td class="ctr2" id="m6">1</td></tr><tr><td id="a5"><a href="Language.html" class="el_class">Language</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="7" height="10" title="49" alt="49"/></td><td class="ctr2" id="c8">0 %</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">3</td><td class="ctr2" id="g7">3</td><td class="ctr1" id="h7">6</td><td class="ctr2" id="i7">6</td><td class="ctr1" id="j7">3</td><td class="ctr2" id="k7">3</td><td class="ctr1" id="l7">1</td><td class="ctr2" id="m7">1</td></tr><tr><td id="a3"><a href="Category.html" class="el_class">Category</a></td><td class="bar" id="b8"><img src="../jacoco-resources/redbar.gif" width="7" height="10" title="49" alt="49"/></td><td class="ctr2" id="c9">0 %</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">3</td><td class="ctr2" id="g8">3</td><td class="ctr1" id="h8">6</td><td class="ctr2" id="i8">6</td><td class="ctr1" id="j8">3</td><td class="ctr2" id="k8">3</td><td class="ctr1" id="l8">1</td><td class="ctr2" id="m8">1</td></tr><tr><td id="a13"><a href="SortByAuthor.html" class="el_class">SortByAuthor</a></td><td class="bar" id="b9"><img src="../jacoco-resources/redbar.gif" width="1" height="10" title="9" alt="9"/></td><td class="ctr2" id="c10">0 %</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">2</td><td class="ctr2" id="g9">2</td><td class="ctr1" id="h9">2</td><td class="ctr2" id="i10">2</td><td class="ctr1" id="j9">2</td><td class="ctr2" id="k9">2</td><td class="ctr1" id="l9">1</td><td class="ctr2" id="m9">1</td></tr><tr><td id="a14"><a href="SortByDate.html" class="el_class">SortByDate</a></td><td class="bar" id="b10"><img src="../jacoco-resources/redbar.gif" width="1" height="10" title="9" alt="9"/></td><td class="ctr2" id="c11">0 %</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">2</td><td class="ctr2" id="g10">2</td><td class="ctr1" id="h10">2</td><td class="ctr2" id="i11">2</td><td class="ctr1" id="j10">2</td><td class="ctr2" id="k10">2</td><td class="ctr1" id="l10">1</td><td class="ctr2" id="m10">1</td></tr><tr><td id="a15"><a href="SortByGenre.html" class="el_class">SortByGenre</a></td><td class="bar" id="b11"><img src="../jacoco-resources/redbar.gif" width="1" height="10" title="9" alt="9"/></td><td class="ctr2" id="c12">0 %</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">2</td><td class="ctr2" id="g11">2</td><td class="ctr1" id="h11">2</td><td class="ctr2" id="i12">2</td><td class="ctr1" id="j11">2</td><td class="ctr2" id="k11">2</td><td class="ctr1" id="l11">1</td><td class="ctr2" id="m11">1</td></tr><tr><td id="a7"><a href="NoAlbumFoundException.html" class="el_class">NoAlbumFoundException</a></td><td class="bar" id="b12"/><td class="ctr2" id="c13">0 %</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f12">1</td><td class="ctr2" id="g13">1</td><td class="ctr1" id="h12">2</td><td class="ctr2" id="i13">2</td><td class="ctr1" id="j12">1</td><td class="ctr2" id="k13">1</td><td class="ctr1" id="l12">1</td><td class="ctr2" id="m12">1</td></tr><tr><td id="a9"><a href="NoPlayListFoundException.html" class="el_class">NoPlayListFoundException</a></td><td class="bar" id="b13"/><td class="ctr2" id="c14">0 %</td><td class="bar" id="d13"/><td class="ctr2" id="e13">n/a</td><td class="ctr1" id="f13">1</td><td class="ctr2" id="g14">1</td><td class="ctr1" id="h13">2</td><td class="ctr2" id="i14">2</td><td class="ctr1" id="j13">1</td><td class="ctr2" id="k14">1</td><td class="ctr1" id="l13">1</td><td class="ctr2" id="m13">1</td></tr><tr><td id="a8"><a href="NoElementFoundException.html" class="el_class">NoElementFoundException</a></td><td class="bar" id="b14"/><td class="ctr2" id="c15">0 %</td><td class="bar" id="d14"/><td class="ctr2" id="e14">n/a</td><td class="ctr1" id="f14">1</td><td class="ctr2" id="g15">1</td><td class="ctr1" id="h14">2</td><td class="ctr2" id="i15">2</td><td class="ctr1" id="j14">1</td><td class="ctr2" id="k15">1</td><td class="ctr1" id="l14">1</td><td class="ctr2" id="m14">1</td></tr><tr><td id="a10"><a href="PathValidation.html" class="el_class">PathValidation</a></td><td class="bar" id="b15"><img src="../jacoco-resources/greenbar.gif" width="2" height="10" title="17" alt="17"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d15"/><td class="ctr2" id="e15">n/a</td><td class="ctr1" id="f15">0</td><td class="ctr2" id="g12">2</td><td class="ctr1" id="h15">0</td><td class="ctr2" id="i9">4</td><td class="ctr1" id="j15">0</td><td class="ctr2" id="k12">2</td><td class="ctr1" id="l15">0</td><td class="ctr2" id="m15">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>musichub.business</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <span class="el_package">musichub.business</span></div><h1>musichub.business</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">2 063 of 2 063</td><td class="ctr2">0 %</td><td class="bar">169 of 169</td><td class="ctr2">0 %</td><td class="ctr1">172</td><td class="ctr2">172</td><td class="ctr1">499</td><td class="ctr2">499</td><td class="ctr1">81</td><td class="ctr2">81</td><td class="ctr1">15</td><td class="ctr2">15</td></tr></tfoot><tbody><tr><td id="a6"><a href="MusicHub.html" class="el_class">MusicHub</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="803" alt="803"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="114" alt="114"/></td><td class="ctr2" id="e0">0 %</td><td class="ctr1" id="f0">79</td><td class="ctr2" id="g0">79</td><td class="ctr1" id="h0">195</td><td class="ctr2" id="i0">195</td><td class="ctr1" id="j0">22</td><td class="ctr2" id="k0">22</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="Album.html" class="el_class">Album</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="49" height="10" title="330" alt="330"/></td><td class="ctr2" id="c1">0 %</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="14" height="10" title="14" alt="14"/></td><td class="ctr2" id="e1">0 %</td><td class="ctr1" id="f2">16</td><td class="ctr2" id="g2">16</td><td class="ctr1" id="h1">84</td><td class="ctr2" id="i1">84</td><td class="ctr1" id="j1">9</td><td class="ctr2" id="k1">9</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a2"><a href="AudioElement.html" class="el_class">AudioElement</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="39" height="10" title="266" alt="266"/></td><td class="ctr2" id="c2">0 %</td><td class="bar" id="d3"><img src="../jacoco-resources/redbar.gif" width="11" height="10" title="11" alt="11"/></td><td class="ctr2" id="e2">0 %</td><td class="ctr1" id="f3">16</td><td class="ctr2" id="g3">16</td><td class="ctr1" id="h2">72</td><td class="ctr2" id="i2">72</td><td class="ctr1" id="j2">9</td><td class="ctr2" id="k2">9</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a10"><a href="PlayList.html" class="el_class">PlayList</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="30" height="10" title="202" alt="202"/></td><td class="ctr2" id="c3">0 %</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="14" height="10" title="14" alt="14"/></td><td class="ctr2" id="e3">0 %</td><td class="ctr1" id="f4">14</td><td class="ctr2" id="g4">14</td><td class="ctr1" id="h3">53</td><td class="ctr2" id="i3">53</td><td class="ctr1" id="j4">7</td><td class="ctr2" id="k4">7</td><td class="ctr1" id="l3">1</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a1"><a href="AudioBook.html" class="el_class">AudioBook</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="24" height="10" title="164" alt="164"/></td><td class="ctr2" id="c4">0 %</td><td class="bar" id="d4"><img src="../jacoco-resources/redbar.gif" width="10" height="10" title="10" alt="10"/></td><td class="ctr2" id="e4">0 %</td><td class="ctr1" id="f1">17</td><td class="ctr2" id="g1">17</td><td class="ctr1" id="h4">39</td><td class="ctr2" id="i4">39</td><td class="ctr1" id="j3">9</td><td class="ctr2" id="k3">9</td><td class="ctr1" id="l4">1</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a11"><a href="Song.html" class="el_class">Song</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="15" height="10" title="105" alt="105"/></td><td class="ctr2" id="c5">0 %</td><td class="bar" id="d5"><img src="../jacoco-resources/redbar.gif" width="6" height="10" title="6" alt="6"/></td><td class="ctr2" id="e5">0 %</td><td class="ctr1" id="f5">12</td><td class="ctr2" id="g5">12</td><td class="ctr1" id="h5">26</td><td class="ctr2" id="i5">26</td><td class="ctr1" id="j5">7</td><td class="ctr2" id="k5">7</td><td class="ctr1" id="l5">1</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a4"><a href="Genre.html" class="el_class">Genre</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="56" alt="56"/></td><td class="ctr2" id="c6">0 %</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">3</td><td class="ctr2" id="g6">3</td><td class="ctr1" id="h6">6</td><td class="ctr2" id="i6">6</td><td class="ctr1" id="j6">3</td><td class="ctr2" id="k6">3</td><td class="ctr1" id="l6">1</td><td class="ctr2" id="m6">1</td></tr><tr><td id="a5"><a href="Language.html" class="el_class">Language</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="7" height="10" title="49" alt="49"/></td><td class="ctr2" id="c7">0 %</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">3</td><td class="ctr2" id="g7">3</td><td class="ctr1" id="h7">6</td><td class="ctr2" id="i7">6</td><td class="ctr1" id="j7">3</td><td class="ctr2" id="k7">3</td><td class="ctr1" id="l7">1</td><td class="ctr2" id="m7">1</td></tr><tr><td id="a3"><a href="Category.html" class="el_class">Category</a></td><td class="bar" id="b8"><img src="../jacoco-resources/redbar.gif" width="7" height="10" title="49" alt="49"/></td><td class="ctr2" id="c8">0 %</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">3</td><td class="ctr2" id="g8">3</td><td class="ctr1" id="h8">6</td><td class="ctr2" id="i8">6</td><td class="ctr1" id="j8">3</td><td class="ctr2" id="k8">3</td><td class="ctr1" id="l8">1</td><td class="ctr2" id="m8">1</td></tr><tr><td id="a12"><a href="SortByAuthor.html" class="el_class">SortByAuthor</a></td><td class="bar" id="b9"><img src="../jacoco-resources/redbar.gif" width="1" height="10" title="9" alt="9"/></td><td class="ctr2" id="c9">0 %</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">2</td><td class="ctr2" id="g9">2</td><td class="ctr1" id="h9">2</td><td class="ctr2" id="i9">2</td><td class="ctr1" id="j9">2</td><td class="ctr2" id="k9">2</td><td class="ctr1" id="l9">1</td><td class="ctr2" id="m9">1</td></tr><tr><td id="a13"><a href="SortByDate.html" class="el_class">SortByDate</a></td><td class="bar" id="b10"><img src="../jacoco-resources/redbar.gif" width="1" height="10" title="9" alt="9"/></td><td class="ctr2" id="c10">0 %</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">2</td><td class="ctr2" id="g10">2</td><td class="ctr1" id="h10">2</td><td class="ctr2" id="i10">2</td><td class="ctr1" id="j10">2</td><td class="ctr2" id="k10">2</td><td class="ctr1" id="l10">1</td><td class="ctr2" id="m10">1</td></tr><tr><td id="a14"><a href="SortByGenre.html" class="el_class">SortByGenre</a></td><td class="bar" id="b11"><img src="../jacoco-resources/redbar.gif" width="1" height="10" title="9" alt="9"/></td><td class="ctr2" id="c11">0 %</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">2</td><td class="ctr2" id="g11">2</td><td class="ctr1" id="h11">2</td><td class="ctr2" id="i11">2</td><td class="ctr1" id="j11">2</td><td class="ctr2" id="k11">2</td><td class="ctr1" id="l11">1</td><td class="ctr2" id="m11">1</td></tr><tr><td id="a7"><a href="NoAlbumFoundException.html" class="el_class">NoAlbumFoundException</a></td><td class="bar" id="b12"/><td class="ctr2" id="c12">0 %</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f12">1</td><td class="ctr2" id="g12">1</td><td class="ctr1" id="h12">2</td><td class="ctr2" id="i12">2</td><td class="ctr1" id="j12">1</td><td class="ctr2" id="k12">1</td><td class="ctr1" id="l12">1</td><td class="ctr2" id="m12">1</td></tr><tr><td id="a9"><a href="NoPlayListFoundException.html" class="el_class">NoPlayListFoundException</a></td><td class="bar" id="b13"/><td class="ctr2" id="c13">0 %</td><td class="bar" id="d13"/><td class="ctr2" id="e13">n/a</td><td class="ctr1" id="f13">1</td><td class="ctr2" id="g13">1</td><td class="ctr1" id="h13">2</td><td class="ctr2" id="i13">2</td><td class="ctr1" id="j13">1</td><td class="ctr2" id="k13">1</td><td class="ctr1" id="l13">1</td><td class="ctr2" id="m13">1</td></tr><tr><td id="a8"><a href="NoElementFoundException.html" class="el_class">NoElementFoundException</a></td><td class="bar" id="b14"/><td class="ctr2" id="c14">0 %</td><td class="bar" id="d14"/><td class="ctr2" id="e14">n/a</td><td class="ctr1" id="f14">1</td><td class="ctr2" id="g14">1</td><td class="ctr1" id="h14">2</td><td class="ctr2" id="i14">2</td><td class="ctr1" id="j14">1</td><td class="ctr2" id="k14">1</td><td class="ctr1" id="l14">1</td><td class="ctr2" id="m14">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.business/index.source.html b/target/site/jacoco/musichub.business/index.source.html
          index 45a5b59..13ddd53 100644
          --- a/target/site/jacoco/musichub.business/index.source.html
          +++ b/target/site/jacoco/musichub.business/index.source.html
          @@ -1 +1 @@
          -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>musichub.business</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <span class="el_package">musichub.business</span></div><h1>musichub.business</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">2 063 of 2 080</td><td class="ctr2">0 %</td><td class="bar">169 of 169</td><td class="ctr2">0 %</td><td class="ctr1">172</td><td class="ctr2">174</td><td class="ctr1">499</td><td class="ctr2">503</td><td class="ctr1">81</td><td class="ctr2">83</td><td class="ctr1">15</td><td class="ctr2">16</td></tr></tfoot><tbody><tr><td id="a6"><a href="MusicHub.java.html" class="el_source">MusicHub.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="830" alt="830"/></td><td class="ctr2" id="c1">0 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="114" alt="114"/></td><td class="ctr2" id="e0">0 %</td><td class="ctr1" id="f0">85</td><td class="ctr2" id="g0">85</td><td class="ctr1" id="h0">201</td><td class="ctr2" id="i0">201</td><td class="ctr1" id="j0">28</td><td class="ctr2" id="k0">28</td><td class="ctr1" id="l0">4</td><td class="ctr2" id="m0">4</td></tr><tr><td id="a0"><a href="Album.java.html" class="el_source">Album.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="47" height="10" title="330" alt="330"/></td><td class="ctr2" id="c2">0 %</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="14" height="10" title="14" alt="14"/></td><td class="ctr2" id="e1">0 %</td><td class="ctr1" id="f2">16</td><td class="ctr2" id="g2">16</td><td class="ctr1" id="h1">84</td><td class="ctr2" id="i1">84</td><td class="ctr1" id="j1">9</td><td class="ctr2" id="k1">9</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a2"><a href="AudioElement.java.html" class="el_source">AudioElement.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="38" height="10" title="266" alt="266"/></td><td class="ctr2" id="c3">0 %</td><td class="bar" id="d3"><img src="../jacoco-resources/redbar.gif" width="11" height="10" title="11" alt="11"/></td><td class="ctr2" id="e2">0 %</td><td class="ctr1" id="f3">16</td><td class="ctr2" id="g3">16</td><td class="ctr1" id="h2">72</td><td class="ctr2" id="i2">72</td><td class="ctr1" id="j2">9</td><td class="ctr2" id="k2">9</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a11"><a href="PlayList.java.html" class="el_source">PlayList.java</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="29" height="10" title="202" alt="202"/></td><td class="ctr2" id="c4">0 %</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="14" height="10" title="14" alt="14"/></td><td class="ctr2" id="e3">0 %</td><td class="ctr1" id="f4">14</td><td class="ctr2" id="g4">14</td><td class="ctr1" id="h3">53</td><td class="ctr2" id="i3">53</td><td class="ctr1" id="j4">7</td><td class="ctr2" id="k4">7</td><td class="ctr1" id="l3">1</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a1"><a href="AudioBook.java.html" class="el_source">AudioBook.java</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="23" height="10" title="164" alt="164"/></td><td class="ctr2" id="c5">0 %</td><td class="bar" id="d4"><img src="../jacoco-resources/redbar.gif" width="10" height="10" title="10" alt="10"/></td><td class="ctr2" id="e4">0 %</td><td class="ctr1" id="f1">17</td><td class="ctr2" id="g1">17</td><td class="ctr1" id="h4">39</td><td class="ctr2" id="i4">39</td><td class="ctr1" id="j3">9</td><td class="ctr2" id="k3">9</td><td class="ctr1" id="l4">1</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a12"><a href="Song.java.html" class="el_source">Song.java</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="15" height="10" title="105" alt="105"/></td><td class="ctr2" id="c6">0 %</td><td class="bar" id="d5"><img src="../jacoco-resources/redbar.gif" width="6" height="10" title="6" alt="6"/></td><td class="ctr2" id="e5">0 %</td><td class="ctr1" id="f5">12</td><td class="ctr2" id="g5">12</td><td class="ctr1" id="h5">26</td><td class="ctr2" id="i5">26</td><td class="ctr1" id="j5">7</td><td class="ctr2" id="k5">7</td><td class="ctr1" id="l5">1</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a4"><a href="Genre.java.html" class="el_source">Genre.java</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="56" alt="56"/></td><td class="ctr2" id="c7">0 %</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">3</td><td class="ctr2" id="g6">3</td><td class="ctr1" id="h6">6</td><td class="ctr2" id="i6">6</td><td class="ctr1" id="j6">3</td><td class="ctr2" id="k6">3</td><td class="ctr1" id="l6">1</td><td class="ctr2" id="m6">1</td></tr><tr><td id="a5"><a href="Language.java.html" class="el_source">Language.java</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="7" height="10" title="49" alt="49"/></td><td class="ctr2" id="c8">0 %</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">3</td><td class="ctr2" id="g7">3</td><td class="ctr1" id="h7">6</td><td class="ctr2" id="i7">6</td><td class="ctr1" id="j7">3</td><td class="ctr2" id="k7">3</td><td class="ctr1" id="l7">1</td><td class="ctr2" id="m7">1</td></tr><tr><td id="a3"><a href="Category.java.html" class="el_source">Category.java</a></td><td class="bar" id="b8"><img src="../jacoco-resources/redbar.gif" width="7" height="10" title="49" alt="49"/></td><td class="ctr2" id="c9">0 %</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">3</td><td class="ctr2" id="g8">3</td><td class="ctr1" id="h8">6</td><td class="ctr2" id="i8">6</td><td class="ctr1" id="j8">3</td><td class="ctr2" id="k8">3</td><td class="ctr1" id="l8">1</td><td class="ctr2" id="m8">1</td></tr><tr><td id="a7"><a href="NoAlbumFoundException.java.html" class="el_source">NoAlbumFoundException.java</a></td><td class="bar" id="b9"/><td class="ctr2" id="c10">0 %</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">1</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h9">2</td><td class="ctr2" id="i10">2</td><td class="ctr1" id="j9">1</td><td class="ctr2" id="k10">1</td><td class="ctr1" id="l9">1</td><td class="ctr2" id="m9">1</td></tr><tr><td id="a9"><a href="NoPlayListFoundException.java.html" class="el_source">NoPlayListFoundException.java</a></td><td class="bar" id="b10"/><td class="ctr2" id="c11">0 %</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">1</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h10">2</td><td class="ctr2" id="i11">2</td><td class="ctr1" id="j10">1</td><td class="ctr2" id="k11">1</td><td class="ctr1" id="l10">1</td><td class="ctr2" id="m10">1</td></tr><tr><td id="a8"><a href="NoElementFoundException.java.html" class="el_source">NoElementFoundException.java</a></td><td class="bar" id="b11"/><td class="ctr2" id="c12">0 %</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">1</td><td class="ctr2" id="g12">1</td><td class="ctr1" id="h11">2</td><td class="ctr2" id="i12">2</td><td class="ctr1" id="j11">1</td><td class="ctr2" id="k12">1</td><td class="ctr1" id="l11">1</td><td class="ctr2" id="m11">1</td></tr><tr><td id="a10"><a href="PathValidation.java.html" class="el_source">PathValidation.java</a></td><td class="bar" id="b12"><img src="../jacoco-resources/greenbar.gif" width="2" height="10" title="17" alt="17"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f12">0</td><td class="ctr2" id="g9">2</td><td class="ctr1" id="h12">0</td><td class="ctr2" id="i9">4</td><td class="ctr1" id="j12">0</td><td class="ctr2" id="k9">2</td><td class="ctr1" id="l12">0</td><td class="ctr2" id="m12">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>musichub.business</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <span class="el_package">musichub.business</span></div><h1>musichub.business</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">2 063 of 2 063</td><td class="ctr2">0 %</td><td class="bar">169 of 169</td><td class="ctr2">0 %</td><td class="ctr1">172</td><td class="ctr2">172</td><td class="ctr1">499</td><td class="ctr2">499</td><td class="ctr1">81</td><td class="ctr2">81</td><td class="ctr1">15</td><td class="ctr2">15</td></tr></tfoot><tbody><tr><td id="a6"><a href="MusicHub.java.html" class="el_source">MusicHub.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="830" alt="830"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="114" alt="114"/></td><td class="ctr2" id="e0">0 %</td><td class="ctr1" id="f0">85</td><td class="ctr2" id="g0">85</td><td class="ctr1" id="h0">201</td><td class="ctr2" id="i0">201</td><td class="ctr1" id="j0">28</td><td class="ctr2" id="k0">28</td><td class="ctr1" id="l0">4</td><td class="ctr2" id="m0">4</td></tr><tr><td id="a0"><a href="Album.java.html" class="el_source">Album.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="47" height="10" title="330" alt="330"/></td><td class="ctr2" id="c1">0 %</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="14" height="10" title="14" alt="14"/></td><td class="ctr2" id="e1">0 %</td><td class="ctr1" id="f2">16</td><td class="ctr2" id="g2">16</td><td class="ctr1" id="h1">84</td><td class="ctr2" id="i1">84</td><td class="ctr1" id="j1">9</td><td class="ctr2" id="k1">9</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a2"><a href="AudioElement.java.html" class="el_source">AudioElement.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="38" height="10" title="266" alt="266"/></td><td class="ctr2" id="c2">0 %</td><td class="bar" id="d3"><img src="../jacoco-resources/redbar.gif" width="11" height="10" title="11" alt="11"/></td><td class="ctr2" id="e2">0 %</td><td class="ctr1" id="f3">16</td><td class="ctr2" id="g3">16</td><td class="ctr1" id="h2">72</td><td class="ctr2" id="i2">72</td><td class="ctr1" id="j2">9</td><td class="ctr2" id="k2">9</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a10"><a href="PlayList.java.html" class="el_source">PlayList.java</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="29" height="10" title="202" alt="202"/></td><td class="ctr2" id="c3">0 %</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="14" height="10" title="14" alt="14"/></td><td class="ctr2" id="e3">0 %</td><td class="ctr1" id="f4">14</td><td class="ctr2" id="g4">14</td><td class="ctr1" id="h3">53</td><td class="ctr2" id="i3">53</td><td class="ctr1" id="j4">7</td><td class="ctr2" id="k4">7</td><td class="ctr1" id="l3">1</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a1"><a href="AudioBook.java.html" class="el_source">AudioBook.java</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="23" height="10" title="164" alt="164"/></td><td class="ctr2" id="c4">0 %</td><td class="bar" id="d4"><img src="../jacoco-resources/redbar.gif" width="10" height="10" title="10" alt="10"/></td><td class="ctr2" id="e4">0 %</td><td class="ctr1" id="f1">17</td><td class="ctr2" id="g1">17</td><td class="ctr1" id="h4">39</td><td class="ctr2" id="i4">39</td><td class="ctr1" id="j3">9</td><td class="ctr2" id="k3">9</td><td class="ctr1" id="l4">1</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a11"><a href="Song.java.html" class="el_source">Song.java</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="15" height="10" title="105" alt="105"/></td><td class="ctr2" id="c5">0 %</td><td class="bar" id="d5"><img src="../jacoco-resources/redbar.gif" width="6" height="10" title="6" alt="6"/></td><td class="ctr2" id="e5">0 %</td><td class="ctr1" id="f5">12</td><td class="ctr2" id="g5">12</td><td class="ctr1" id="h5">26</td><td class="ctr2" id="i5">26</td><td class="ctr1" id="j5">7</td><td class="ctr2" id="k5">7</td><td class="ctr1" id="l5">1</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a4"><a href="Genre.java.html" class="el_source">Genre.java</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="56" alt="56"/></td><td class="ctr2" id="c6">0 %</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">3</td><td class="ctr2" id="g6">3</td><td class="ctr1" id="h6">6</td><td class="ctr2" id="i6">6</td><td class="ctr1" id="j6">3</td><td class="ctr2" id="k6">3</td><td class="ctr1" id="l6">1</td><td class="ctr2" id="m6">1</td></tr><tr><td id="a5"><a href="Language.java.html" class="el_source">Language.java</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="7" height="10" title="49" alt="49"/></td><td class="ctr2" id="c7">0 %</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">3</td><td class="ctr2" id="g7">3</td><td class="ctr1" id="h7">6</td><td class="ctr2" id="i7">6</td><td class="ctr1" id="j7">3</td><td class="ctr2" id="k7">3</td><td class="ctr1" id="l7">1</td><td class="ctr2" id="m7">1</td></tr><tr><td id="a3"><a href="Category.java.html" class="el_source">Category.java</a></td><td class="bar" id="b8"><img src="../jacoco-resources/redbar.gif" width="7" height="10" title="49" alt="49"/></td><td class="ctr2" id="c8">0 %</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">3</td><td class="ctr2" id="g8">3</td><td class="ctr1" id="h8">6</td><td class="ctr2" id="i8">6</td><td class="ctr1" id="j8">3</td><td class="ctr2" id="k8">3</td><td class="ctr1" id="l8">1</td><td class="ctr2" id="m8">1</td></tr><tr><td id="a7"><a href="NoAlbumFoundException.java.html" class="el_source">NoAlbumFoundException.java</a></td><td class="bar" id="b9"/><td class="ctr2" id="c9">0 %</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">1</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">2</td><td class="ctr2" id="i9">2</td><td class="ctr1" id="j9">1</td><td class="ctr2" id="k9">1</td><td class="ctr1" id="l9">1</td><td class="ctr2" id="m9">1</td></tr><tr><td id="a9"><a href="NoPlayListFoundException.java.html" class="el_source">NoPlayListFoundException.java</a></td><td class="bar" id="b10"/><td class="ctr2" id="c10">0 %</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">1</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h10">2</td><td class="ctr2" id="i10">2</td><td class="ctr1" id="j10">1</td><td class="ctr2" id="k10">1</td><td class="ctr1" id="l10">1</td><td class="ctr2" id="m10">1</td></tr><tr><td id="a8"><a href="NoElementFoundException.java.html" class="el_source">NoElementFoundException.java</a></td><td class="bar" id="b11"/><td class="ctr2" id="c11">0 %</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">1</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h11">2</td><td class="ctr2" id="i11">2</td><td class="ctr1" id="j11">1</td><td class="ctr2" id="k11">1</td><td class="ctr1" id="l11">1</td><td class="ctr2" id="m11">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.main/Main.html b/target/site/jacoco/musichub.main/Main.html
          index de45b84..ea5f0da 100644
          --- a/target/site/jacoco/musichub.main/Main.html
          +++ b/target/site/jacoco/musichub.main/Main.html
          @@ -1 +1 @@
          -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Main</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.html" class="el_package">musichub.main</a> &gt; <span class="el_class">Main</span></div><h1>Main</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">588 of 588</td><td class="ctr2">0 %</td><td class="bar">40 of 40</td><td class="ctr2">0 %</td><td class="ctr1">29</td><td class="ctr2">29</td><td class="ctr1">199</td><td class="ctr2">199</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="Main.java.html#L17" class="el_method">main(String[])</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="548" alt="548"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="40" alt="40"/></td><td class="ctr2" id="e0">0 %</td><td class="ctr1" id="f0">27</td><td class="ctr2" id="g0">27</td><td class="ctr1" id="h0">185</td><td class="ctr2" id="i0">185</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="Main.java.html#L252" class="el_method">printAvailableCommands()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="37" alt="37"/></td><td class="ctr2" id="c1">0 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">13</td><td class="ctr2" id="i1">13</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="Main.java.html#L14" class="el_method">Main()</a></td><td class="bar" id="b2"/><td class="ctr2" id="c2">0 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Main</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.html" class="el_package">musichub.main</a> &gt; <span class="el_class">Main</span></div><h1>Main</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">605 of 605</td><td class="ctr2">0 %</td><td class="bar">41 of 41</td><td class="ctr2">0 %</td><td class="ctr1">30</td><td class="ctr2">30</td><td class="ctr1">206</td><td class="ctr2">206</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="Main.java.html#L18" class="el_method">main(String[])</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="562" alt="562"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="41" alt="41"/></td><td class="ctr2" id="e0">0 %</td><td class="ctr1" id="f0">28</td><td class="ctr2" id="g0">28</td><td class="ctr1" id="h0">191</td><td class="ctr2" id="i0">191</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="Main.java.html#L261" class="el_method">printAvailableCommands()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="40" alt="40"/></td><td class="ctr2" id="c1">0 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">14</td><td class="ctr2" id="i1">14</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="Main.java.html#L15" class="el_method">Main()</a></td><td class="bar" id="b2"/><td class="ctr2" id="c2">0 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.main/Main.java.html b/target/site/jacoco/musichub.main/Main.java.html
          index df39af0..7ec6a41 100644
          --- a/target/site/jacoco/musichub.main/Main.java.html
          +++ b/target/site/jacoco/musichub.main/Main.java.html
          @@ -1,6 +1,7 @@
           <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Main.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.source.html" class="el_package">musichub.main</a> &gt; <span class="el_source">Main.java</span></div><h1>Main.java</h1><pre class="source lang-java linenums">package musichub.main;
           
           import musichub.business.*;
          +import musichub.util.LogHandler;
           
           import javax.sound.sampled.LineUnavailableException;
           import javax.sound.sampled.UnsupportedAudioFileException;
          @@ -9,258 +10,267 @@ import java.util.Iterator;
           import java.util.List;
           import java.util.Scanner;
           
          -import static musichub.business.PathValidation.isPathValid;
          +import static musichub.util.PathValidation.isPathValid;
           
          -<span class="nc" id="L14">public class Main {</span>
          +<span class="nc" id="L15">public class Main {</span>
               public static void main(String[] args) throws UnsupportedAudioFileException, IOException, LineUnavailableException {
           
          -<span class="nc" id="L17">        MusicHub theHub = new MusicHub();</span>
          +<span class="nc" id="L18">        MusicHub theHub = new MusicHub();</span>
           
          -<span class="nc" id="L19">        System.out.println(&quot;Type h for available commands&quot;);</span>
          +<span class="nc" id="L20">        System.out.println(&quot;Type h for available commands&quot;);</span>
           
           
          -<span class="nc" id="L22">        Scanner scan = new Scanner(System.in);</span>
          -<span class="nc" id="L23">        String choice = scan.nextLine();</span>
          +<span class="nc" id="L23">        Scanner scan = new Scanner(System.in);</span>
          +<span class="nc" id="L24">        String choice = scan.nextLine();</span>
           
                   String albumTitle;
           
          -<span class="nc bnc" id="L27" title="All 2 branches missed.">        if (choice.length() == 0) System.exit(0);</span>
          +<span class="nc bnc" id="L28" title="All 2 branches missed.">        if (choice.length() == 0) System.exit(0);</span>
           
          -<span class="nc bnc" id="L29" title="All 2 branches missed.">        while (!choice.equals(&quot;&quot;)) { //if the user puts nothing, quit the loop/system</span>
          -<span class="nc bnc" id="L30" title="All 14 branches missed.">            switch (choice.charAt(0)) {</span>
          +<span class="nc bnc" id="L30" title="All 2 branches missed.">        while (!choice.equals(&quot;&quot;)) { //if the user puts nothing, quit the loop/system</span>
          +<span class="nc bnc" id="L31" title="All 15 branches missed.">            switch (choice.charAt(0)) {</span>
                           case 'q': //added the option directly in the switch instead of the loop
          -<span class="nc" id="L32">                    System.exit(0);</span>
          +<span class="nc" id="L33">                    System.exit(0);</span>
                           case 'h':
          -<span class="nc" id="L34">                    printAvailableCommands();</span>
          -<span class="nc" id="L35">                    choice = scan.nextLine();</span>
          -<span class="nc" id="L36">                    break;</span>
          +<span class="nc" id="L35">                    printAvailableCommands();</span>
          +<span class="nc" id="L36">                    choice = scan.nextLine();</span>
          +<span class="nc" id="L37">                    break;</span>
                           case 't':
                               //album titles, ordered by date
          -<span class="nc" id="L39">                    System.out.println(theHub.getAlbumsTitlesSortedByDate());</span>
          -<span class="nc" id="L40">                    printAvailableCommands();</span>
          -<span class="nc" id="L41">                    choice = scan.nextLine();</span>
          -<span class="nc" id="L42">                    break;</span>
          +<span class="nc" id="L40">                    System.out.println(theHub.getAlbumsTitlesSortedByDate());</span>
          +<span class="nc" id="L41">                    printAvailableCommands();</span>
          +<span class="nc" id="L42">                    choice = scan.nextLine();</span>
          +<span class="nc" id="L43">                    break;</span>
                           case 'g':
                               //songs of an album, sorted by genre
          -<span class="nc" id="L45">                    System.out.println(&quot;Songs of an album sorted by genre will be displayed; enter the album name, available albums are:&quot;);</span>
          -<span class="nc" id="L46">                    System.out.println(theHub.getAlbumsTitlesSortedByDate());</span>
          +<span class="nc" id="L46">                    System.out.println(&quot;Songs of an album sorted by genre will be displayed; enter the album name, available albums are:&quot;);</span>
          +<span class="nc" id="L47">                    System.out.println(theHub.getAlbumsTitlesSortedByDate());</span>
           
          -<span class="nc" id="L48">                    albumTitle = scan.nextLine();</span>
          +<span class="nc" id="L49">                    albumTitle = scan.nextLine();</span>
                               try {
          -<span class="nc" id="L50">                    	List&lt;Song&gt; songs = theHub.getAlbumSongsSortedByGenre(albumTitle);</span>
          -<span class="nc" id="L51">                        System.out.println(songs);</span>
          -<span class="nc" id="L52">                    } catch (NoAlbumFoundException ex) {</span>
          -<span class="nc" id="L53">                        System.out.println(&quot;No album found with the requested title &quot; + ex.getMessage());</span>
          -<span class="nc" id="L54">                    }</span>
          -<span class="nc" id="L55">                    printAvailableCommands();</span>
          -<span class="nc" id="L56">                    choice = scan.nextLine();</span>
          -<span class="nc" id="L57">                    break;</span>
          +<span class="nc" id="L51">                    	List&lt;Song&gt; songs = theHub.getAlbumSongsSortedByGenre(albumTitle);</span>
          +<span class="nc" id="L52">                        System.out.println(songs);</span>
          +<span class="nc" id="L53">                    } catch (NoAlbumFoundException ex) {</span>
          +<span class="nc" id="L54">                        System.out.println(&quot;No album found with the requested title &quot; + ex.getMessage());</span>
          +<span class="nc" id="L55">                    }</span>
          +<span class="nc" id="L56">                    printAvailableCommands();</span>
          +<span class="nc" id="L57">                    choice = scan.nextLine();</span>
          +<span class="nc" id="L58">                    break;</span>
                           case 'd':
                               //songs of an album
          -<span class="nc" id="L60">                    System.out.println(&quot;Songs of an album will be displayed; enter the album name, available albums are:&quot;);</span>
          -<span class="nc" id="L61">                    System.out.println(theHub.getAlbumsTitlesSortedByDate());</span>
          +<span class="nc" id="L61">                    System.out.println(&quot;Songs of an album will be displayed; enter the album name, available albums are:&quot;);</span>
          +<span class="nc" id="L62">                    System.out.println(theHub.getAlbumsTitlesSortedByDate());</span>
           
          -<span class="nc" id="L63">                    albumTitle = scan.nextLine();</span>
          +<span class="nc" id="L64">                    albumTitle = scan.nextLine();</span>
                               try {
          -<span class="nc" id="L65">                    	List&lt;AudioElement&gt; songs = theHub.getAlbumSongs(albumTitle);</span>
          -<span class="nc" id="L66">                        System.out.println(theHub.getAlbumSongs(albumTitle));</span>
          -<span class="nc" id="L67">                        String song = scan.nextLine();</span>
          -<span class="nc" id="L68">                        theHub.getAudioElement(songs, song);</span>
          -<span class="nc" id="L69">                    } catch (NoAlbumFoundException ex) {</span>
          -<span class="nc" id="L70">                        System.out.println(&quot;No album found with the requested title &quot; + ex.getMessage());</span>
          -<span class="nc" id="L71">                    }</span>
          -<span class="nc" id="L72">                    printAvailableCommands();</span>
          -<span class="nc" id="L73">                    choice = scan.nextLine();</span>
          -<span class="nc" id="L74">                    break;</span>
          +<span class="nc" id="L66">                    	List&lt;AudioElement&gt; songs = theHub.getAlbumSongs(albumTitle);</span>
          +<span class="nc" id="L67">                        System.out.println(theHub.getAlbumSongs(albumTitle));</span>
          +<span class="nc" id="L68">                        String song = scan.nextLine();</span>
          +<span class="nc" id="L69">                        theHub.getAudioElement(songs, song);</span>
          +<span class="nc" id="L70">                    } catch (NoAlbumFoundException ex) {</span>
          +<span class="nc" id="L71">                        System.out.println(&quot;No album found with the requested title &quot; + ex.getMessage());</span>
          +<span class="nc" id="L72">                    }</span>
          +<span class="nc" id="L73">                    printAvailableCommands();</span>
          +<span class="nc" id="L74">                    choice = scan.nextLine();</span>
          +<span class="nc" id="L75">                    break;</span>
                           case 'u':
                               //audiobooks ordered by author
          -<span class="nc" id="L77">                    System.out.println(theHub.getAudiobooksTitlesSortedByAuthor());</span>
          -<span class="nc" id="L78">                    printAvailableCommands();</span>
          -<span class="nc" id="L79">                    choice = scan.nextLine();</span>
          -<span class="nc" id="L80">                    break;</span>
          +<span class="nc" id="L78">                    System.out.println(theHub.getAudiobooksTitlesSortedByAuthor());</span>
          +<span class="nc" id="L79">                    printAvailableCommands();</span>
          +<span class="nc" id="L80">                    choice = scan.nextLine();</span>
          +<span class="nc" id="L81">                    break;</span>
                           case 'c':
                               // add a new song
          -<span class="nc" id="L83">                    System.out.println(&quot;Enter a new song: &quot;);</span>
          -<span class="nc" id="L84">                    System.out.println(&quot;Song title: &quot;);</span>
          -<span class="nc" id="L85">                    String title = scan.nextLine();</span>
          -<span class="nc" id="L86">                    System.out.println(&quot;Song genre (jazz, classic, hiphop, rock, pop, rap):&quot;);</span>
          -<span class="nc" id="L87">                    String genre = scan.nextLine();</span>
          -<span class="nc" id="L88">                    System.out.println(&quot;Song artist: &quot;);</span>
          -<span class="nc" id="L89">                    String artist = scan.nextLine();</span>
          -<span class="nc" id="L90">                    System.out.println(&quot;Song length in seconds: &quot;);</span>
          -<span class="nc" id="L91">                    int length = Integer.parseInt(scan.nextLine());</span>
          +<span class="nc" id="L84">                    System.out.println(&quot;Enter a new song: &quot;);</span>
          +<span class="nc" id="L85">                    System.out.println(&quot;Song title: &quot;);</span>
          +<span class="nc" id="L86">                    String title = scan.nextLine();</span>
          +<span class="nc" id="L87">                    System.out.println(&quot;Song genre (jazz, classic, hiphop, rock, pop, rap):&quot;);</span>
          +<span class="nc" id="L88">                    String genre = scan.nextLine();</span>
          +<span class="nc" id="L89">                    System.out.println(&quot;Song artist: &quot;);</span>
          +<span class="nc" id="L90">                    String artist = scan.nextLine();</span>
          +<span class="nc" id="L91">                    System.out.println(&quot;Song length in seconds: &quot;);</span>
          +<span class="nc" id="L92">                    int length = Integer.parseInt(scan.nextLine());</span>
           
          -<span class="nc" id="L93">                    System.out.println(&quot;Song content: &quot;);</span>
          -<span class="nc" id="L94">                    String content = scan.nextLine();</span>
          -<span class="nc bnc" id="L95" title="All 2 branches missed.">                    if (!isPathValid(content)) {</span>
          -<span class="nc" id="L96">                        System.out.println(&quot;The music file was not found with the path you've provided.\nType h for available commands&quot;);</span>
          -<span class="nc" id="L97">                        choice = scan.nextLine();</span>
          -<span class="nc" id="L98">                        break;</span>
          +<span class="nc" id="L94">                    System.out.println(&quot;Song content: &quot;);</span>
          +<span class="nc" id="L95">                    String content = scan.nextLine();</span>
          +<span class="nc bnc" id="L96" title="All 2 branches missed.">                    if (!isPathValid(content)) {</span>
          +<span class="nc" id="L97">                        String logMsg = &quot;The music file was not found with the path you've provided.&quot;;</span>
          +<span class="nc" id="L98">                        LogHandler.write(logMsg, &quot;WARNING&quot;); //write a line in the log file</span>
          +<span class="nc" id="L99">                        System.out.println(logMsg + &quot;\nType h for available commands&quot;);</span>
          +<span class="nc" id="L100">                        choice = scan.nextLine();</span>
          +<span class="nc" id="L101">                        break;</span>
                               }
           
          -<span class="nc" id="L101">                    Song s = new Song(title, artist, length, content, genre);</span>
          -<span class="nc" id="L102">                    theHub.addElement(s);</span>
          -<span class="nc" id="L103">                    System.out.println(&quot;New element list: &quot;);</span>
          -<span class="nc" id="L104">                    Iterator&lt;AudioElement&gt; it = theHub.elements();</span>
          -<span class="nc bnc" id="L105" title="All 2 branches missed.">                    while (it.hasNext()) System.out.println(it.next().getTitle());</span>
          -<span class="nc" id="L106">                    System.out.println(&quot;Song created!&quot;);</span>
          -<span class="nc" id="L107">                    printAvailableCommands();</span>
          -<span class="nc" id="L108">                    choice = scan.nextLine();</span>
          -<span class="nc" id="L109">                    break;</span>
          +<span class="nc" id="L104">                    Song s = new Song(title, artist, length, content, genre);</span>
          +<span class="nc" id="L105">                    theHub.addElement(s);</span>
          +<span class="nc" id="L106">                    System.out.println(&quot;New element list: &quot;);</span>
          +<span class="nc" id="L107">                    Iterator&lt;AudioElement&gt; it = theHub.elements();</span>
          +<span class="nc bnc" id="L108" title="All 2 branches missed.">                    while (it.hasNext()) System.out.println(it.next().getTitle());</span>
          +<span class="nc" id="L109">                    System.out.println(&quot;Song created!&quot;);</span>
          +<span class="nc" id="L110">                    printAvailableCommands();</span>
          +<span class="nc" id="L111">                    choice = scan.nextLine();</span>
          +<span class="nc" id="L112">                    break;</span>
                           case 'a':
                               // add a new album
          -<span class="nc" id="L112">                    System.out.println(&quot;Enter a new album: &quot;);</span>
          -<span class="nc" id="L113">                    System.out.println(&quot;Album title: &quot;);</span>
          -<span class="nc" id="L114">                    String aTitle = scan.nextLine();</span>
          -<span class="nc" id="L115">                    System.out.println(&quot;Album artist: &quot;);</span>
          -<span class="nc" id="L116">                    String aArtist = scan.nextLine();</span>
          -<span class="nc" id="L117">                    System.out.println(&quot;Album length in seconds: &quot;);</span>
          -<span class="nc" id="L118">                    int aLength = Integer.parseInt(scan.nextLine());</span>
          -<span class="nc" id="L119">                    System.out.println(&quot;Album date as YYYY-DD-MM: &quot;);</span>
          -<span class="nc" id="L120">                    String aDate = scan.nextLine();</span>
          -<span class="nc" id="L121">                    Album a = new Album(aTitle, aArtist, aLength, aDate);</span>
          -<span class="nc" id="L122">                    theHub.addAlbum(a);</span>
          -<span class="nc" id="L123">                    System.out.println(&quot;New list of albums: &quot;);</span>
          -<span class="nc" id="L124">                    Iterator&lt;Album&gt; ita = theHub.albums();</span>
          -<span class="nc bnc" id="L125" title="All 2 branches missed.">                    while (ita.hasNext()) System.out.println(ita.next().getTitle());</span>
          -<span class="nc" id="L126">                    System.out.println(&quot;Album created!&quot;);</span>
          -<span class="nc" id="L127">                    printAvailableCommands();</span>
          -<span class="nc" id="L128">                    choice = scan.nextLine();</span>
          -<span class="nc" id="L129">                    break;</span>
          +<span class="nc" id="L115">                    System.out.println(&quot;Enter a new album: &quot;);</span>
          +<span class="nc" id="L116">                    System.out.println(&quot;Album title: &quot;);</span>
          +<span class="nc" id="L117">                    String aTitle = scan.nextLine();</span>
          +<span class="nc" id="L118">                    System.out.println(&quot;Album artist: &quot;);</span>
          +<span class="nc" id="L119">                    String aArtist = scan.nextLine();</span>
          +<span class="nc" id="L120">                    System.out.println(&quot;Album length in seconds: &quot;);</span>
          +<span class="nc" id="L121">                    int aLength = Integer.parseInt(scan.nextLine());</span>
          +<span class="nc" id="L122">                    System.out.println(&quot;Album date as YYYY-DD-MM: &quot;);</span>
          +<span class="nc" id="L123">                    String aDate = scan.nextLine();</span>
          +<span class="nc" id="L124">                    Album a = new Album(aTitle, aArtist, aLength, aDate);</span>
          +<span class="nc" id="L125">                    theHub.addAlbum(a);</span>
          +<span class="nc" id="L126">                    System.out.println(&quot;New list of albums: &quot;);</span>
          +<span class="nc" id="L127">                    Iterator&lt;Album&gt; ita = theHub.albums();</span>
          +<span class="nc bnc" id="L128" title="All 2 branches missed.">                    while (ita.hasNext()) System.out.println(ita.next().getTitle());</span>
          +<span class="nc" id="L129">                    System.out.println(&quot;Album created!&quot;);</span>
          +<span class="nc" id="L130">                    printAvailableCommands();</span>
          +<span class="nc" id="L131">                    choice = scan.nextLine();</span>
          +<span class="nc" id="L132">                    break;</span>
                           case '+':
                               //add a song to an album:
          -<span class="nc" id="L132">                    System.out.println(&quot;Add an existing song to an existing album&quot;);</span>
          -<span class="nc" id="L133">                    System.out.println(&quot;Type the name of the song you wish to add. Available songs: &quot;);</span>
          -<span class="nc" id="L134">                    Iterator&lt;AudioElement&gt; itae = theHub.elements();</span>
          -<span class="nc bnc" id="L135" title="All 2 branches missed.">                    while (itae.hasNext()) {</span>
          -<span class="nc" id="L136">                        AudioElement ae = itae.next();</span>
          -<span class="nc bnc" id="L137" title="All 2 branches missed.">                        if (ae instanceof Song) System.out.println(ae.getTitle());</span>
          -<span class="nc" id="L138">                    }</span>
          -<span class="nc" id="L139">                    String songTitle = scan.nextLine();</span>
          +<span class="nc" id="L135">                    System.out.println(&quot;Add an existing song to an existing album&quot;);</span>
          +<span class="nc" id="L136">                    System.out.println(&quot;Type the name of the song you wish to add. Available songs: &quot;);</span>
          +<span class="nc" id="L137">                    Iterator&lt;AudioElement&gt; itae = theHub.elements();</span>
          +<span class="nc bnc" id="L138" title="All 2 branches missed.">                    while (itae.hasNext()) {</span>
          +<span class="nc" id="L139">                        AudioElement ae = itae.next();</span>
          +<span class="nc bnc" id="L140" title="All 2 branches missed.">                        if (ae instanceof Song) System.out.println(ae.getTitle());</span>
          +<span class="nc" id="L141">                    }</span>
          +<span class="nc" id="L142">                    String songTitle = scan.nextLine();</span>
           
          -<span class="nc" id="L141">                    System.out.println(&quot;Type the name of the album you wish to enrich. Available albums: &quot;);</span>
          -<span class="nc" id="L142">                    Iterator&lt;Album&gt; ait = theHub.albums();</span>
          -<span class="nc bnc" id="L143" title="All 2 branches missed.">                    while (ait.hasNext()) {</span>
          -<span class="nc" id="L144">                        Album al = ait.next();</span>
          -<span class="nc" id="L145">                        System.out.println(al.getTitle());</span>
          -<span class="nc" id="L146">                    }</span>
          -<span class="nc" id="L147">                    String titleAlbum = scan.nextLine();</span>
          +<span class="nc" id="L144">                    System.out.println(&quot;Type the name of the album you wish to enrich. Available albums: &quot;);</span>
          +<span class="nc" id="L145">                    Iterator&lt;Album&gt; ait = theHub.albums();</span>
          +<span class="nc bnc" id="L146" title="All 2 branches missed.">                    while (ait.hasNext()) {</span>
          +<span class="nc" id="L147">                        Album al = ait.next();</span>
          +<span class="nc" id="L148">                        System.out.println(al.getTitle());</span>
          +<span class="nc" id="L149">                    }</span>
          +<span class="nc" id="L150">                    String titleAlbum = scan.nextLine();</span>
                               try {
          -<span class="nc" id="L149">                        theHub.addElementToAlbum(songTitle, titleAlbum);</span>
          -<span class="nc" id="L150">                    } catch (NoAlbumFoundException | NoElementFoundException ex) {</span>
          -<span class="nc" id="L151">                        System.out.println(ex.getMessage());</span>
          -<span class="nc" id="L152">                    }</span>
          -<span class="nc" id="L153">                    System.out.println(&quot;Song added to the album!&quot;);</span>
          -<span class="nc" id="L154">                    printAvailableCommands();</span>
          -<span class="nc" id="L155">                    choice = scan.nextLine();</span>
          -<span class="nc" id="L156">                    break;</span>
          +<span class="nc" id="L152">                        theHub.addElementToAlbum(songTitle, titleAlbum);</span>
          +<span class="nc" id="L153">                    } catch (NoAlbumFoundException | NoElementFoundException ex) {</span>
          +<span class="nc" id="L154">                        System.out.println(ex.getMessage());</span>
          +<span class="nc" id="L155">                    }</span>
          +<span class="nc" id="L156">                    System.out.println(&quot;Song added to the album!&quot;);</span>
          +<span class="nc" id="L157">                    printAvailableCommands();</span>
          +<span class="nc" id="L158">                    choice = scan.nextLine();</span>
          +<span class="nc" id="L159">                    break;</span>
                           case 'l':
                               // add a new audiobook
          -<span class="nc" id="L159">                    System.out.println(&quot;Enter a new audiobook: &quot;);</span>
          -<span class="nc" id="L160">                    System.out.println(&quot;AudioBook title: &quot;);</span>
          -<span class="nc" id="L161">                    String bTitle = scan.nextLine();</span>
          -<span class="nc" id="L162">                    System.out.println(&quot;AudioBook category (youth, novel, theater, documentary, speech)&quot;);</span>
          -<span class="nc" id="L163">                    String bCategory = scan.nextLine();</span>
          -<span class="nc" id="L164">                    System.out.println(&quot;AudioBook artist: &quot;);</span>
          -<span class="nc" id="L165">                    String bArtist = scan.nextLine();</span>
          -<span class="nc" id="L166">                    System.out.println(&quot;AudioBook length in seconds: &quot;);</span>
          -<span class="nc" id="L167">                    int bLength = Integer.parseInt(scan.nextLine());</span>
          -<span class="nc" id="L168">                    System.out.println(&quot;AudioBook content: &quot;);</span>
          -<span class="nc" id="L169">                    String bContent = scan.nextLine();</span>
          -<span class="nc" id="L170">                    System.out.println(&quot;AudioBook language (french, english, italian, spanish, german)&quot;);</span>
          -<span class="nc" id="L171">                    String bLanguage = scan.nextLine();</span>
          -<span class="nc" id="L172">                    AudioBook b = new AudioBook(bTitle, bArtist, bLength, bContent, bLanguage, bCategory);</span>
          -<span class="nc" id="L173">                    theHub.addElement(b);</span>
          -<span class="nc" id="L174">                    System.out.println(&quot;Audiobook created! New element list: &quot;);</span>
          -<span class="nc" id="L175">                    Iterator&lt;AudioElement&gt; itl = theHub.elements();</span>
          -<span class="nc bnc" id="L176" title="All 2 branches missed.">                    while (itl.hasNext()) System.out.println(itl.next().getTitle());</span>
          -<span class="nc" id="L177">                    printAvailableCommands();</span>
          -<span class="nc" id="L178">                    choice = scan.nextLine();</span>
          -<span class="nc" id="L179">                    break;</span>
          +<span class="nc" id="L162">                    System.out.println(&quot;Enter a new audiobook: &quot;);</span>
          +<span class="nc" id="L163">                    System.out.println(&quot;AudioBook title: &quot;);</span>
          +<span class="nc" id="L164">                    String bTitle = scan.nextLine();</span>
          +<span class="nc" id="L165">                    System.out.println(&quot;AudioBook category (youth, novel, theater, documentary, speech)&quot;);</span>
          +<span class="nc" id="L166">                    String bCategory = scan.nextLine();</span>
          +<span class="nc" id="L167">                    System.out.println(&quot;AudioBook artist: &quot;);</span>
          +<span class="nc" id="L168">                    String bArtist = scan.nextLine();</span>
          +<span class="nc" id="L169">                    System.out.println(&quot;AudioBook length in seconds: &quot;);</span>
          +<span class="nc" id="L170">                    int bLength = Integer.parseInt(scan.nextLine());</span>
          +<span class="nc" id="L171">                    System.out.println(&quot;AudioBook content: &quot;);</span>
          +<span class="nc" id="L172">                    String bContent = scan.nextLine();</span>
          +<span class="nc" id="L173">                    System.out.println(&quot;AudioBook language (french, english, italian, spanish, german)&quot;);</span>
          +<span class="nc" id="L174">                    String bLanguage = scan.nextLine();</span>
          +<span class="nc" id="L175">                    AudioBook b = new AudioBook(bTitle, bArtist, bLength, bContent, bLanguage, bCategory);</span>
          +<span class="nc" id="L176">                    theHub.addElement(b);</span>
          +<span class="nc" id="L177">                    System.out.println(&quot;Audiobook created! New element list: &quot;);</span>
          +<span class="nc" id="L178">                    Iterator&lt;AudioElement&gt; itl = theHub.elements();</span>
          +<span class="nc bnc" id="L179" title="All 2 branches missed.">                    while (itl.hasNext()) System.out.println(itl.next().getTitle());</span>
          +<span class="nc" id="L180">                    printAvailableCommands();</span>
          +<span class="nc" id="L181">                    choice = scan.nextLine();</span>
          +<span class="nc" id="L182">                    break;</span>
                           case 'p':
                               //create a new playlist from existing elements
          -<span class="nc" id="L182">                    System.out.println(&quot;Add an existing song or audiobook to a new playlist&quot;);</span>
          -<span class="nc" id="L183">                    System.out.println(&quot;Existing playlists:&quot;);</span>
          -<span class="nc" id="L184">                    Iterator&lt;PlayList&gt; itpl = theHub.playlists();</span>
          -<span class="nc bnc" id="L185" title="All 2 branches missed.">                    while (itpl.hasNext()) {</span>
          -<span class="nc" id="L186">                        PlayList pl = itpl.next();</span>
          -<span class="nc" id="L187">                        System.out.println(pl.getTitle());</span>
          -<span class="nc" id="L188">                    }</span>
          -<span class="nc" id="L189">                    System.out.println(&quot;Type the name of the playlist you wish to create:&quot;);</span>
          -<span class="nc" id="L190">                    String playListTitle = scan.nextLine();</span>
          -<span class="nc" id="L191">                    PlayList pl = new PlayList(playListTitle);</span>
          -<span class="nc" id="L192">                    theHub.addPlaylist(pl);</span>
          -<span class="nc" id="L193">                    System.out.println(&quot;Available elements: &quot;);</span>
          +<span class="nc" id="L185">                    System.out.println(&quot;Add an existing song or audiobook to a new playlist&quot;);</span>
          +<span class="nc" id="L186">                    System.out.println(&quot;Existing playlists:&quot;);</span>
          +<span class="nc" id="L187">                    Iterator&lt;PlayList&gt; itpl = theHub.playlists();</span>
          +<span class="nc bnc" id="L188" title="All 2 branches missed.">                    while (itpl.hasNext()) {</span>
          +<span class="nc" id="L189">                        PlayList pl = itpl.next();</span>
          +<span class="nc" id="L190">                        System.out.println(pl.getTitle());</span>
          +<span class="nc" id="L191">                    }</span>
          +<span class="nc" id="L192">                    System.out.println(&quot;Type the name of the playlist you wish to create:&quot;);</span>
          +<span class="nc" id="L193">                    String playListTitle = scan.nextLine();</span>
          +<span class="nc" id="L194">                    PlayList pl = new PlayList(playListTitle);</span>
          +<span class="nc" id="L195">                    theHub.addPlaylist(pl);</span>
          +<span class="nc" id="L196">                    System.out.println(&quot;Available elements: &quot;);</span>
           
          -<span class="nc" id="L195">                    Iterator&lt;AudioElement&gt; itael = theHub.elements();</span>
          -<span class="nc bnc" id="L196" title="All 2 branches missed.">                    while (itael.hasNext()) {</span>
          -<span class="nc" id="L197">                        AudioElement ae = itael.next();</span>
          -<span class="nc" id="L198">                        System.out.println(ae.getTitle());</span>
          -<span class="nc" id="L199">                    }</span>
          -<span class="nc bnc" id="L200" title="All 2 branches missed.">                    while (choice.charAt(0) != 'n') {</span>
          -<span class="nc" id="L201">                        System.out.println(&quot;Type the name of the audio element you wish to add or 'n' to exit:&quot;);</span>
          -<span class="nc" id="L202">                        String elementTitle = scan.nextLine();</span>
          +<span class="nc" id="L198">                    Iterator&lt;AudioElement&gt; itael = theHub.elements();</span>
          +<span class="nc bnc" id="L199" title="All 2 branches missed.">                    while (itael.hasNext()) {</span>
          +<span class="nc" id="L200">                        AudioElement ae = itael.next();</span>
          +<span class="nc" id="L201">                        System.out.println(ae.getTitle());</span>
          +<span class="nc" id="L202">                    }</span>
          +<span class="nc bnc" id="L203" title="All 2 branches missed.">                    while (choice.charAt(0) != 'n') {</span>
          +<span class="nc" id="L204">                        System.out.println(&quot;Type the name of the audio element you wish to add or 'n' to exit:&quot;);</span>
          +<span class="nc" id="L205">                        String elementTitle = scan.nextLine();</span>
                                   try {
          -<span class="nc" id="L204">                            theHub.addElementToPlayList(elementTitle, playListTitle);</span>
          -<span class="nc" id="L205">                        } catch (NoPlayListFoundException | NoElementFoundException ex) {</span>
          -<span class="nc" id="L206">                            System.out.println(ex.getMessage());</span>
          -<span class="nc" id="L207">                        }</span>
          +<span class="nc" id="L207">                            theHub.addElementToPlayList(elementTitle, playListTitle);</span>
          +<span class="nc" id="L208">                        } catch (NoPlayListFoundException | NoElementFoundException ex) {</span>
          +<span class="nc" id="L209">                            System.out.println(ex.getMessage());</span>
          +<span class="nc" id="L210">                        }</span>
           
          -<span class="nc" id="L209">                        System.out.println(&quot;Type y to add a new one, n to end&quot;);</span>
          -<span class="nc" id="L210">                        choice = scan.nextLine();</span>
          -<span class="nc" id="L211">                    }</span>
          -<span class="nc" id="L212">                    System.out.println(&quot;Playlist created!&quot;);</span>
          -<span class="nc" id="L213">                    printAvailableCommands();</span>
          -<span class="nc" id="L214">                    choice = scan.nextLine();</span>
          -<span class="nc" id="L215">                    break;</span>
          +<span class="nc" id="L212">                        System.out.println(&quot;Type y to add a new one, n to end&quot;);</span>
          +<span class="nc" id="L213">                        choice = scan.nextLine();</span>
          +<span class="nc" id="L214">                    }</span>
          +<span class="nc" id="L215">                    System.out.println(&quot;Playlist created!&quot;);</span>
          +<span class="nc" id="L216">                    printAvailableCommands();</span>
          +<span class="nc" id="L217">                    choice = scan.nextLine();</span>
          +<span class="nc" id="L218">                    break;</span>
                           case '-':
                               //delete a playlist
          -<span class="nc" id="L218">                    System.out.println(&quot;Delete an existing playlist. Available playlists:&quot;);</span>
          -<span class="nc" id="L219">                    Iterator&lt;PlayList&gt; itp = theHub.playlists();</span>
          -<span class="nc bnc" id="L220" title="All 2 branches missed.">                    while (itp.hasNext()) {</span>
          -<span class="nc" id="L221">                        PlayList p = itp.next();</span>
          -<span class="nc" id="L222">                        System.out.println(p.getTitle());</span>
          -<span class="nc" id="L223">                    }</span>
          -<span class="nc" id="L224">                    String plTitle = scan.nextLine();</span>
          +<span class="nc" id="L221">                    System.out.println(&quot;Delete an existing playlist. Available playlists:&quot;);</span>
          +<span class="nc" id="L222">                    Iterator&lt;PlayList&gt; itp = theHub.playlists();</span>
          +<span class="nc bnc" id="L223" title="All 2 branches missed.">                    while (itp.hasNext()) {</span>
          +<span class="nc" id="L224">                        PlayList p = itp.next();</span>
          +<span class="nc" id="L225">                        System.out.println(p.getTitle());</span>
          +<span class="nc" id="L226">                    }</span>
          +<span class="nc" id="L227">                    String plTitle = scan.nextLine();</span>
                               try {
          -<span class="nc" id="L226">                        theHub.deletePlayList(plTitle);</span>
          -<span class="nc" id="L227">                    } catch (NoPlayListFoundException ex) {</span>
          -<span class="nc" id="L228">                        System.out.println(ex.getMessage());</span>
          -<span class="nc" id="L229">                    }</span>
          -<span class="nc" id="L230">                    System.out.println(&quot;Playlist deleted!&quot;);</span>
          -<span class="nc" id="L231">                    printAvailableCommands();</span>
          -<span class="nc" id="L232">                    choice = scan.nextLine();</span>
          -<span class="nc" id="L233">                    break;</span>
          +<span class="nc" id="L229">                        theHub.deletePlayList(plTitle);</span>
          +<span class="nc" id="L230">                    } catch (NoPlayListFoundException ex) {</span>
          +<span class="nc" id="L231">                        System.out.println(ex.getMessage());</span>
          +<span class="nc" id="L232">                    }</span>
          +<span class="nc" id="L233">                    System.out.println(&quot;Playlist deleted!&quot;);</span>
          +<span class="nc" id="L234">                    printAvailableCommands();</span>
          +<span class="nc" id="L235">                    choice = scan.nextLine();</span>
          +<span class="nc" id="L236">                    break;</span>
                           case 's':
                               //save elements, albums, playlists
          -<span class="nc" id="L236">                    theHub.saveElements();</span>
          -<span class="nc" id="L237">                    theHub.saveAlbums();</span>
          -<span class="nc" id="L238">                    theHub.savePlayLists();</span>
          -<span class="nc" id="L239">                    System.out.println(&quot;Elements, albums and playlists saved!&quot;);</span>
          -<span class="nc" id="L240">                    printAvailableCommands();</span>
          -<span class="nc" id="L241">                    choice = scan.nextLine();</span>
          -<span class="nc" id="L242">                    break;</span>
          +<span class="nc" id="L239">                    theHub.saveElements();</span>
          +<span class="nc" id="L240">                    theHub.saveAlbums();</span>
          +<span class="nc" id="L241">                    theHub.savePlayLists();</span>
          +<span class="nc" id="L242">                    System.out.println(&quot;Elements, albums and playlists saved!&quot;);</span>
          +<span class="nc" id="L243">                    printAvailableCommands();</span>
          +<span class="nc" id="L244">                    choice = scan.nextLine();</span>
          +<span class="nc" id="L245">                    break;</span>
          +                case 'o':
          +                    //consult the app logs
          +<span class="nc" id="L248">                    LogHandler.read();</span>
          +<span class="nc" id="L249">                    System.out.println(&quot;Type h for available commands&quot;);</span>
          +<span class="nc" id="L250">                    choice = scan.nextLine();</span>
          +<span class="nc" id="L251">                    break;</span>
                           default:
           
          -<span class="nc" id="L245">                    break;</span>
          +<span class="nc" id="L254">                    break;</span>
                       }
                   }
          -<span class="nc" id="L248">        scan.close();</span>
          -<span class="nc" id="L249">    }</span>
          +<span class="nc" id="L257">        scan.close();</span>
          +<span class="nc" id="L258">    }</span>
           
               private static void printAvailableCommands() {
          -<span class="nc" id="L252">        System.out.println(&quot;t: display the album titles, ordered by date&quot;);</span>
          -<span class="nc" id="L253">        System.out.println(&quot;g: display songs of an album, ordered by genre&quot;);</span>
          -<span class="nc" id="L254">        System.out.println(&quot;d: display songs of an album&quot;);</span>
          -<span class="nc" id="L255">        System.out.println(&quot;u: display audiobooks ordered by author&quot;);</span>
          -<span class="nc" id="L256">        System.out.println(&quot;c: add a new song&quot;);</span>
          -<span class="nc" id="L257">        System.out.println(&quot;a: add a new album&quot;);</span>
          -<span class="nc" id="L258">        System.out.println(&quot;+: add a song to an album&quot;);</span>
          -<span class="nc" id="L259">        System.out.println(&quot;l: add a new audiobook&quot;);</span>
          -<span class="nc" id="L260">        System.out.println(&quot;p: create a new playlist from existing songs and audio books&quot;);</span>
          -<span class="nc" id="L261">        System.out.println(&quot;-: delete an existing playlist&quot;);</span>
          -<span class="nc" id="L262">        System.out.println(&quot;s: save elements, albums, playlists&quot;);</span>
          -<span class="nc" id="L263">        System.out.println(&quot;q: quit program&quot;);</span>
          -<span class="nc" id="L264">    }</span>
          +<span class="nc" id="L261">        System.out.println(&quot;t: display the album titles, ordered by date&quot;);</span>
          +<span class="nc" id="L262">        System.out.println(&quot;g: display songs of an album, ordered by genre&quot;);</span>
          +<span class="nc" id="L263">        System.out.println(&quot;d: display songs of an album&quot;);</span>
          +<span class="nc" id="L264">        System.out.println(&quot;u: display audiobooks ordered by author&quot;);</span>
          +<span class="nc" id="L265">        System.out.println(&quot;c: add a new song&quot;);</span>
          +<span class="nc" id="L266">        System.out.println(&quot;a: add a new album&quot;);</span>
          +<span class="nc" id="L267">        System.out.println(&quot;+: add a song to an album&quot;);</span>
          +<span class="nc" id="L268">        System.out.println(&quot;l: add a new audiobook&quot;);</span>
          +<span class="nc" id="L269">        System.out.println(&quot;p: create a new playlist from existing songs and audio books&quot;);</span>
          +<span class="nc" id="L270">        System.out.println(&quot;-: delete an existing playlist&quot;);</span>
          +<span class="nc" id="L271">        System.out.println(&quot;s: save elements, albums, playlists&quot;);</span>
          +<span class="nc" id="L272">        System.out.println(&quot;o: consult the app logs&quot;);</span>
          +<span class="nc" id="L273">        System.out.println(&quot;q: quit program&quot;);</span>
          +<span class="nc" id="L274">    }</span>
           }
           </pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.main/index.html b/target/site/jacoco/musichub.main/index.html
          index c4e995d..191e4db 100644
          --- a/target/site/jacoco/musichub.main/index.html
          +++ b/target/site/jacoco/musichub.main/index.html
          @@ -1 +1 @@
          -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>musichub.main</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <span class="el_package">musichub.main</span></div><h1>musichub.main</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">588 of 588</td><td class="ctr2">0 %</td><td class="bar">40 of 40</td><td class="ctr2">0 %</td><td class="ctr1">29</td><td class="ctr2">29</td><td class="ctr1">199</td><td class="ctr2">199</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="Main.html" class="el_class">Main</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="588" alt="588"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="40" alt="40"/></td><td class="ctr2" id="e0">0 %</td><td class="ctr1" id="f0">29</td><td class="ctr2" id="g0">29</td><td class="ctr1" id="h0">199</td><td class="ctr2" id="i0">199</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>musichub.main</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <span class="el_package">musichub.main</span></div><h1>musichub.main</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">605 of 605</td><td class="ctr2">0 %</td><td class="bar">41 of 41</td><td class="ctr2">0 %</td><td class="ctr1">30</td><td class="ctr2">30</td><td class="ctr1">206</td><td class="ctr2">206</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="Main.html" class="el_class">Main</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="605" alt="605"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="41" alt="41"/></td><td class="ctr2" id="e0">0 %</td><td class="ctr1" id="f0">30</td><td class="ctr2" id="g0">30</td><td class="ctr1" id="h0">206</td><td class="ctr2" id="i0">206</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.main/index.source.html b/target/site/jacoco/musichub.main/index.source.html
          index 189774f..654a78a 100644
          --- a/target/site/jacoco/musichub.main/index.source.html
          +++ b/target/site/jacoco/musichub.main/index.source.html
          @@ -1 +1 @@
          -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>musichub.main</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <span class="el_package">musichub.main</span></div><h1>musichub.main</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">588 of 588</td><td class="ctr2">0 %</td><td class="bar">40 of 40</td><td class="ctr2">0 %</td><td class="ctr1">29</td><td class="ctr2">29</td><td class="ctr1">199</td><td class="ctr2">199</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="Main.java.html" class="el_source">Main.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="588" alt="588"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="40" alt="40"/></td><td class="ctr2" id="e0">0 %</td><td class="ctr1" id="f0">29</td><td class="ctr2" id="g0">29</td><td class="ctr1" id="h0">199</td><td class="ctr2" id="i0">199</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>musichub.main</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <span class="el_package">musichub.main</span></div><h1>musichub.main</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">605 of 605</td><td class="ctr2">0 %</td><td class="bar">41 of 41</td><td class="ctr2">0 %</td><td class="ctr1">30</td><td class="ctr2">30</td><td class="ctr1">206</td><td class="ctr2">206</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="Main.java.html" class="el_source">Main.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="605" alt="605"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="41" alt="41"/></td><td class="ctr2" id="e0">0 %</td><td class="ctr1" id="f0">30</td><td class="ctr2" id="g0">30</td><td class="ctr1" id="h0">206</td><td class="ctr2" id="i0">206</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.util/index.html b/target/site/jacoco/musichub.util/index.html
          index 1194ec1..20f0d2b 100644
          --- a/target/site/jacoco/musichub.util/index.html
          +++ b/target/site/jacoco/musichub.util/index.html
          @@ -1 +1 @@
          -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>musichub.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <span class="el_package">musichub.util</span></div><h1>musichub.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">72 of 72</td><td class="ctr2">0 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">25</td><td class="ctr2">25</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="XMLHandler.html" class="el_class">XMLHandler</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="72" alt="72"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">25</td><td class="ctr2" id="i0">25</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>musichub.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <span class="el_package">musichub.util</span></div><h1>musichub.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">72 of 135</td><td class="ctr2">46 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">9</td><td class="ctr1">25</td><td class="ctr2">40</td><td class="ctr1">4</td><td class="ctr2">9</td><td class="ctr1">1</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="XMLHandler.html" class="el_class">XMLHandler</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="72" alt="72"/></td><td class="ctr2" id="c2">0 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">25</td><td class="ctr2" id="i0">25</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="LogHandler.html" class="el_class">LogHandler</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="76" height="10" title="46" alt="46"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">11</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a1"><a href="PathValidation.html" class="el_class">PathValidation</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="28" height="10" title="17" alt="17"/></td><td class="ctr2" id="c1">100 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">2</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.util/index.source.html b/target/site/jacoco/musichub.util/index.source.html
          index e6f6dba..f8bbd4e 100644
          --- a/target/site/jacoco/musichub.util/index.source.html
          +++ b/target/site/jacoco/musichub.util/index.source.html
          @@ -1 +1 @@
          -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>musichub.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <span class="el_package">musichub.util</span></div><h1>musichub.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">72 of 72</td><td class="ctr2">0 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">25</td><td class="ctr2">25</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="XMLHandler.java.html" class="el_source">XMLHandler.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="72" alt="72"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">25</td><td class="ctr2" id="i0">25</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>musichub.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <span class="el_package">musichub.util</span></div><h1>musichub.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">72 of 135</td><td class="ctr2">46 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">9</td><td class="ctr1">25</td><td class="ctr2">40</td><td class="ctr1">4</td><td class="ctr2">9</td><td class="ctr1">1</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="XMLHandler.java.html" class="el_source">XMLHandler.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="72" alt="72"/></td><td class="ctr2" id="c2">0 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">25</td><td class="ctr2" id="i0">25</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="LogHandler.java.html" class="el_source">LogHandler.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="76" height="10" title="46" alt="46"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">11</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a1"><a href="PathValidation.java.html" class="el_source">PathValidation.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="28" height="10" title="17" alt="17"/></td><td class="ctr2" id="c1">100 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">2</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/spoteezer-0.1.0.jar b/target/spoteezer-0.1.0.jar
          index 16e8971..ea96baa 100644
          Binary files a/target/spoteezer-0.1.0.jar and b/target/spoteezer-0.1.0.jar differ
          diff --git a/target/surefire-reports/TEST-musichub.business.PathValidationTest.xml b/target/surefire-reports/TEST-musichub.business.PathValidationTest.xml
          deleted file mode 100644
          index 4a19c26..0000000
          --- a/target/surefire-reports/TEST-musichub.business.PathValidationTest.xml
          +++ /dev/null
          @@ -1,60 +0,0 @@
          -<?xml version="1.0" encoding="UTF-8"?>
          -<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd" name="musichub.business.PathValidationTest" time="0.014" tests="2" errors="0" skipped="0" failures="0">
          -  <properties>
          -    <property name="java.specification.version" value="16"/>
          -    <property name="sun.cpu.isalist" value="amd64"/>
          -    <property name="sun.jnu.encoding" value="Cp1252"/>
          -    <property name="java.class.path" value="C:\Users\SoftA\Documents\spoteezer\target\test-classes;C:\Users\SoftA\Documents\spoteezer\target\classes;C:\Users\SoftA\.m2\repository\org\junit\jupiter\junit-jupiter-api\5.0.2\junit-jupiter-api-5.0.2.jar;C:\Users\SoftA\.m2\repository\org\opentest4j\opentest4j\1.0.0\opentest4j-1.0.0.jar;C:\Users\SoftA\.m2\repository\org\junit\platform\junit-platform-commons\1.0.2\junit-platform-commons-1.0.2.jar;C:\Users\SoftA\.m2\repository\org\junit\jupiter\junit-jupiter-engine\5.0.2\junit-jupiter-engine-5.0.2.jar;C:\Users\SoftA\.m2\repository\org\junit\platform\junit-platform-engine\1.0.2\junit-platform-engine-1.0.2.jar;"/>
          -    <property name="java.vm.vendor" value="Oracle Corporation"/>
          -    <property name="sun.arch.data.model" value="64"/>
          -    <property name="user.variant" value=""/>
          -    <property name="java.vendor.url" value="https://java.oracle.com/"/>
          -    <property name="user.timezone" value="Europe/Paris"/>
          -    <property name="os.name" value="Windows 10"/>
          -    <property name="java.vm.specification.version" value="16"/>
          -    <property name="sun.java.launcher" value="SUN_STANDARD"/>
          -    <property name="user.country" value="FR"/>
          -    <property name="sun.boot.library.path" value="C:\Users\SoftA\.jdks\openjdk-16.0.1\bin"/>
          -    <property name="sun.java.command" value="C:\Users\SoftA\AppData\Local\Temp\surefire432352315427642492\surefirebooter9321675300695943827.jar C:\Users\SoftA\AppData\Local\Temp\surefire432352315427642492 2021-06-26T14-30-52_984-jvmRun1 surefire12207114920762145658tmp surefire_04118465738105299962tmp"/>
          -    <property name="jdk.debug" value="release"/>
          -    <property name="surefire.test.class.path" value="C:\Users\SoftA\Documents\spoteezer\target\test-classes;C:\Users\SoftA\Documents\spoteezer\target\classes;C:\Users\SoftA\.m2\repository\org\junit\jupiter\junit-jupiter-api\5.0.2\junit-jupiter-api-5.0.2.jar;C:\Users\SoftA\.m2\repository\org\opentest4j\opentest4j\1.0.0\opentest4j-1.0.0.jar;C:\Users\SoftA\.m2\repository\org\junit\platform\junit-platform-commons\1.0.2\junit-platform-commons-1.0.2.jar;C:\Users\SoftA\.m2\repository\org\junit\jupiter\junit-jupiter-engine\5.0.2\junit-jupiter-engine-5.0.2.jar;C:\Users\SoftA\.m2\repository\org\junit\platform\junit-platform-engine\1.0.2\junit-platform-engine-1.0.2.jar;"/>
          -    <property name="sun.cpu.endian" value="little"/>
          -    <property name="user.home" value="C:\Users\SoftA"/>
          -    <property name="user.language" value="fr"/>
          -    <property name="java.specification.vendor" value="Oracle Corporation"/>
          -    <property name="java.version.date" value="2021-04-20"/>
          -    <property name="java.home" value="C:\Users\SoftA\.jdks\openjdk-16.0.1"/>
          -    <property name="file.separator" value="\"/>
          -    <property name="basedir" value="C:\Users\SoftA\Documents\spoteezer"/>
          -    <property name="java.vm.compressedOopsMode" value="Zero based"/>
          -    <property name="line.separator" value="&#10;"/>
          -    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
          -    <property name="java.specification.name" value="Java Platform API Specification"/>
          -    <property name="surefire.real.class.path" value="C:\Users\SoftA\AppData\Local\Temp\surefire432352315427642492\surefirebooter9321675300695943827.jar"/>
          -    <property name="user.script" value=""/>
          -    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
          -    <property name="java.runtime.version" value="16.0.1+9-24"/>
          -    <property name="user.name" value="SoftA"/>
          -    <property name="path.separator" value=";"/>
          -    <property name="os.version" value="10.0"/>
          -    <property name="java.runtime.name" value="OpenJDK Runtime Environment"/>
          -    <property name="file.encoding" value="Cp1252"/>
          -    <property name="java.vm.name" value="OpenJDK 64-Bit Server VM"/>
          -    <property name="localRepository" value="C:\Users\SoftA\.m2\repository"/>
          -    <property name="java.vendor.url.bug" value="https://bugreport.java.com/bugreport/"/>
          -    <property name="java.io.tmpdir" value="C:\Users\SoftA\AppData\Local\Temp\"/>
          -    <property name="java.version" value="16.0.1"/>
          -    <property name="user.dir" value="C:\Users\SoftA\Documents\spoteezer"/>
          -    <property name="os.arch" value="amd64"/>
          -    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
          -    <property name="sun.os.patch.level" value=""/>
          -    <property name="java.library.path" value="C:\Users\SoftA\.jdks\openjdk-16.0.1\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files\Oculus\Support\oculus-runtime;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\Git\cmd;C:\Users\SoftA\.jdks\openjdk-16.0.1\bin;C:\Users\SoftA\AppData\Local\Microsoft\WindowsApps;C:\ffmpeg\bin;C:\apache-maven-3.8.1\bin;;."/>
          -    <property name="java.vm.info" value="mixed mode, sharing"/>
          -    <property name="java.vendor" value="Oracle Corporation"/>
          -    <property name="java.vm.version" value="16.0.1+9-24"/>
          -    <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
          -    <property name="java.class.version" value="60.0"/>
          -  </properties>
          -  <testcase name="testPathValidationClass" classname="musichub.business.PathValidationTest" time="0.007"/>
          -  <testcase name="testIsPathValid" classname="musichub.business.PathValidationTest" time="0.002"/>
          -</testsuite>
          \ No newline at end of file
          diff --git a/target/surefire-reports/musichub.business.PathValidationTest.txt b/target/surefire-reports/musichub.business.PathValidationTest.txt
          deleted file mode 100644
          index 87f14cb..0000000
          --- a/target/surefire-reports/musichub.business.PathValidationTest.txt
          +++ /dev/null
          @@ -1,4 +0,0 @@
          --------------------------------------------------------------------------------
          -Test set: musichub.business.PathValidationTest
          --------------------------------------------------------------------------------
          -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.014 s - in musichub.business.PathValidationTest
          -- 
          cgit v1.2.3
          
          
          From d4c6fe18ca94ed0880720d7ff135b82920d764b4 Mon Sep 17 00:00:00 2001
          From: Clyhtsuriva <aimeric@adjutor.xyz>
          Date: Sun, 27 Jun 2021 11:16:21 +0200
          Subject: XMLHandler tests covered at 91%
          
          ---
           files/parse_JUnit.xml                              |   4 +
           log/spoteezer.log                                  |  22 +-
           src/test/java/musichub/util/LogHandlerTest.java    |  20 +-
           .../java/musichub/util/PathValidationTest.java     |  20 +-
           src/test/java/musichub/util/XMLHandlerTest.java    |  14 +-
           target/jacoco.exec                                 | Bin 27236 -> 14814 bytes
           .../javadoc-options-javadoc-resources.xml          |  10 -
           target/maven-archiver/pom.properties               |   5 -
           target/maven-javadoc-plugin-stale-data.txt         |  66 --
           .../default-testCompile/createdFiles.lst           |   1 +
           .../testCompile/default-testCompile/inputFiles.lst |   1 +
           target/original-spoteezer-0.1.0.jar                | Bin 33244 -> 0 bytes
           target/site/apidocs/allclasses-index.html          | 114 ---
           target/site/apidocs/allpackages-index.html         |  76 --
           target/site/apidocs/element-list                   |   3 -
           target/site/apidocs/help-doc.html                  | 162 ----
           target/site/apidocs/index-all.html                 | 410 ----------
           target/site/apidocs/index.html                     |  78 --
           target/site/apidocs/jquery-ui.overrides.css        |  34 -
           target/site/apidocs/member-search-index.js         |   1 -
           target/site/apidocs/module-search-index.js         |   1 -
           target/site/apidocs/musichub/business/Album.html   | 250 -------
           .../site/apidocs/musichub/business/AudioBook.html  | 273 -------
           .../apidocs/musichub/business/AudioElement.html    | 325 --------
           .../site/apidocs/musichub/business/Category.html   | 258 -------
           target/site/apidocs/musichub/business/Genre.html   | 266 -------
           .../site/apidocs/musichub/business/Language.html   | 258 -------
           .../site/apidocs/musichub/business/MusicHub.html   | 412 ----------
           .../musichub/business/NoAlbumFoundException.html   | 150 ----
           .../musichub/business/NoElementFoundException.html | 150 ----
           .../business/NoPlayListFoundException.html         | 150 ----
           .../site/apidocs/musichub/business/PlayList.html   | 215 ------
           target/site/apidocs/musichub/business/Song.html    | 251 -------
           .../apidocs/musichub/business/class-use/Album.html |  99 ---
           .../musichub/business/class-use/AudioBook.html     |  65 --
           .../musichub/business/class-use/AudioElement.html  | 124 ---
           .../musichub/business/class-use/Category.html      | 101 ---
           .../apidocs/musichub/business/class-use/Genre.html |  98 ---
           .../musichub/business/class-use/Language.html      | 101 ---
           .../musichub/business/class-use/MusicHub.html      |  65 --
           .../business/class-use/NoAlbumFoundException.html  | 101 ---
           .../class-use/NoElementFoundException.html         |  95 ---
           .../class-use/NoPlayListFoundException.html        |  94 ---
           .../musichub/business/class-use/PlayList.html      |  99 ---
           .../apidocs/musichub/business/class-use/Song.html  |  90 ---
           .../apidocs/musichub/business/package-summary.html | 116 ---
           .../apidocs/musichub/business/package-tree.html    | 114 ---
           .../apidocs/musichub/business/package-use.html     | 105 ---
           target/site/apidocs/musichub/main/Main.html        | 175 -----
           .../site/apidocs/musichub/main/class-use/Main.html |  65 --
           .../apidocs/musichub/main/package-summary.html     |  80 --
           .../site/apidocs/musichub/main/package-tree.html   |  79 --
           target/site/apidocs/musichub/main/package-use.html |  65 --
           target/site/apidocs/musichub/util/XMLHandler.html  | 186 -----
           .../musichub/util/class-use/XMLHandler.html        |  65 --
           .../apidocs/musichub/util/package-summary.html     |  88 ---
           .../site/apidocs/musichub/util/package-tree.html   |  81 --
           target/site/apidocs/musichub/util/package-use.html |  65 --
           target/site/apidocs/overview-summary.html          |  27 -
           target/site/apidocs/overview-tree.html             | 120 ---
           target/site/apidocs/package-search-index.js        |   1 -
           target/site/apidocs/resources/glass.png            | Bin 499 -> 0 bytes
           target/site/apidocs/resources/x.png                | Bin 394 -> 0 bytes
           .../images/ui-bg_glass_55_fbf9ee_1x400.png         | Bin 335 -> 0 bytes
           .../images/ui-bg_glass_65_dadada_1x400.png         | Bin 262 -> 0 bytes
           .../images/ui-bg_glass_75_dadada_1x400.png         | Bin 262 -> 0 bytes
           .../images/ui-bg_glass_75_e6e6e6_1x400.png         | Bin 262 -> 0 bytes
           .../images/ui-bg_glass_95_fef1ec_1x400.png         | Bin 332 -> 0 bytes
           .../ui-bg_highlight-soft_75_cccccc_1x100.png       | Bin 280 -> 0 bytes
           .../script-dir/images/ui-icons_222222_256x240.png  | Bin 6922 -> 0 bytes
           .../script-dir/images/ui-icons_2e83ff_256x240.png  | Bin 4549 -> 0 bytes
           .../script-dir/images/ui-icons_454545_256x240.png  | Bin 6992 -> 0 bytes
           .../script-dir/images/ui-icons_888888_256x240.png  | Bin 6999 -> 0 bytes
           .../script-dir/images/ui-icons_cd0a0a_256x240.png  | Bin 4549 -> 0 bytes
           target/site/apidocs/script-dir/jquery-3.5.1.min.js |   2 -
           target/site/apidocs/script-dir/jquery-ui.min.css   |   7 -
           target/site/apidocs/script-dir/jquery-ui.min.js    |   6 -
           .../apidocs/script-dir/jquery-ui.structure.min.css |   5 -
           target/site/apidocs/script.js                      | 132 ----
           target/site/apidocs/search.js                      | 354 ---------
           target/site/apidocs/serialized-form.html           |  89 ---
           target/site/apidocs/stylesheet.css                 | 827 ---------------------
           target/site/apidocs/tag-search-index.js            |   1 -
           target/site/apidocs/type-search-index.js           |   1 -
           target/site/jacoco/index.html                      |   2 +-
           target/site/jacoco/jacoco-sessions.html            |   2 +-
           target/site/jacoco/jacoco.csv                      |   2 +-
           target/site/jacoco/jacoco.xml                      |   2 +-
           target/site/jacoco/musichub.util/XMLHandler.html   |   2 +-
           .../site/jacoco/musichub.util/XMLHandler.java.html |  42 +-
           target/site/jacoco/musichub.util/index.html        |   2 +-
           target/site/jacoco/musichub.util/index.source.html |   2 +-
           target/spoteezer-0.1.0.jar                         | Bin 369146 -> 0 bytes
           93 files changed, 82 insertions(+), 7962 deletions(-)
           create mode 100644 files/parse_JUnit.xml
           delete mode 100644 target/javadoc-bundle-options/javadoc-options-javadoc-resources.xml
           delete mode 100644 target/maven-archiver/pom.properties
           delete mode 100644 target/maven-javadoc-plugin-stale-data.txt
           delete mode 100644 target/original-spoteezer-0.1.0.jar
           delete mode 100644 target/site/apidocs/allclasses-index.html
           delete mode 100644 target/site/apidocs/allpackages-index.html
           delete mode 100644 target/site/apidocs/element-list
           delete mode 100644 target/site/apidocs/help-doc.html
           delete mode 100644 target/site/apidocs/index-all.html
           delete mode 100644 target/site/apidocs/index.html
           delete mode 100644 target/site/apidocs/jquery-ui.overrides.css
           delete mode 100644 target/site/apidocs/member-search-index.js
           delete mode 100644 target/site/apidocs/module-search-index.js
           delete mode 100644 target/site/apidocs/musichub/business/Album.html
           delete mode 100644 target/site/apidocs/musichub/business/AudioBook.html
           delete mode 100644 target/site/apidocs/musichub/business/AudioElement.html
           delete mode 100644 target/site/apidocs/musichub/business/Category.html
           delete mode 100644 target/site/apidocs/musichub/business/Genre.html
           delete mode 100644 target/site/apidocs/musichub/business/Language.html
           delete mode 100644 target/site/apidocs/musichub/business/MusicHub.html
           delete mode 100644 target/site/apidocs/musichub/business/NoAlbumFoundException.html
           delete mode 100644 target/site/apidocs/musichub/business/NoElementFoundException.html
           delete mode 100644 target/site/apidocs/musichub/business/NoPlayListFoundException.html
           delete mode 100644 target/site/apidocs/musichub/business/PlayList.html
           delete mode 100644 target/site/apidocs/musichub/business/Song.html
           delete mode 100644 target/site/apidocs/musichub/business/class-use/Album.html
           delete mode 100644 target/site/apidocs/musichub/business/class-use/AudioBook.html
           delete mode 100644 target/site/apidocs/musichub/business/class-use/AudioElement.html
           delete mode 100644 target/site/apidocs/musichub/business/class-use/Category.html
           delete mode 100644 target/site/apidocs/musichub/business/class-use/Genre.html
           delete mode 100644 target/site/apidocs/musichub/business/class-use/Language.html
           delete mode 100644 target/site/apidocs/musichub/business/class-use/MusicHub.html
           delete mode 100644 target/site/apidocs/musichub/business/class-use/NoAlbumFoundException.html
           delete mode 100644 target/site/apidocs/musichub/business/class-use/NoElementFoundException.html
           delete mode 100644 target/site/apidocs/musichub/business/class-use/NoPlayListFoundException.html
           delete mode 100644 target/site/apidocs/musichub/business/class-use/PlayList.html
           delete mode 100644 target/site/apidocs/musichub/business/class-use/Song.html
           delete mode 100644 target/site/apidocs/musichub/business/package-summary.html
           delete mode 100644 target/site/apidocs/musichub/business/package-tree.html
           delete mode 100644 target/site/apidocs/musichub/business/package-use.html
           delete mode 100644 target/site/apidocs/musichub/main/Main.html
           delete mode 100644 target/site/apidocs/musichub/main/class-use/Main.html
           delete mode 100644 target/site/apidocs/musichub/main/package-summary.html
           delete mode 100644 target/site/apidocs/musichub/main/package-tree.html
           delete mode 100644 target/site/apidocs/musichub/main/package-use.html
           delete mode 100644 target/site/apidocs/musichub/util/XMLHandler.html
           delete mode 100644 target/site/apidocs/musichub/util/class-use/XMLHandler.html
           delete mode 100644 target/site/apidocs/musichub/util/package-summary.html
           delete mode 100644 target/site/apidocs/musichub/util/package-tree.html
           delete mode 100644 target/site/apidocs/musichub/util/package-use.html
           delete mode 100644 target/site/apidocs/overview-summary.html
           delete mode 100644 target/site/apidocs/overview-tree.html
           delete mode 100644 target/site/apidocs/package-search-index.js
           delete mode 100644 target/site/apidocs/resources/glass.png
           delete mode 100644 target/site/apidocs/resources/x.png
           delete mode 100644 target/site/apidocs/script-dir/images/ui-bg_glass_55_fbf9ee_1x400.png
           delete mode 100644 target/site/apidocs/script-dir/images/ui-bg_glass_65_dadada_1x400.png
           delete mode 100644 target/site/apidocs/script-dir/images/ui-bg_glass_75_dadada_1x400.png
           delete mode 100644 target/site/apidocs/script-dir/images/ui-bg_glass_75_e6e6e6_1x400.png
           delete mode 100644 target/site/apidocs/script-dir/images/ui-bg_glass_95_fef1ec_1x400.png
           delete mode 100644 target/site/apidocs/script-dir/images/ui-bg_highlight-soft_75_cccccc_1x100.png
           delete mode 100644 target/site/apidocs/script-dir/images/ui-icons_222222_256x240.png
           delete mode 100644 target/site/apidocs/script-dir/images/ui-icons_2e83ff_256x240.png
           delete mode 100644 target/site/apidocs/script-dir/images/ui-icons_454545_256x240.png
           delete mode 100644 target/site/apidocs/script-dir/images/ui-icons_888888_256x240.png
           delete mode 100644 target/site/apidocs/script-dir/images/ui-icons_cd0a0a_256x240.png
           delete mode 100644 target/site/apidocs/script-dir/jquery-3.5.1.min.js
           delete mode 100644 target/site/apidocs/script-dir/jquery-ui.min.css
           delete mode 100644 target/site/apidocs/script-dir/jquery-ui.min.js
           delete mode 100644 target/site/apidocs/script-dir/jquery-ui.structure.min.css
           delete mode 100644 target/site/apidocs/script.js
           delete mode 100644 target/site/apidocs/search.js
           delete mode 100644 target/site/apidocs/serialized-form.html
           delete mode 100644 target/site/apidocs/stylesheet.css
           delete mode 100644 target/site/apidocs/tag-search-index.js
           delete mode 100644 target/site/apidocs/type-search-index.js
           delete mode 100644 target/spoteezer-0.1.0.jar
          
          (limited to 'target/site/apidocs/musichub/business/class-use')
          
          diff --git a/files/parse_JUnit.xml b/files/parse_JUnit.xml
          new file mode 100644
          index 0000000..92f7c75
          --- /dev/null
          +++ b/files/parse_JUnit.xml
          @@ -0,0 +1,4 @@
          +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
          +<parse>
          +
          +</parse>
          \ No newline at end of file
          diff --git a/log/spoteezer.log b/log/spoteezer.log
          index 834e29f..910a4f2 100644
          --- a/log/spoteezer.log
          +++ b/log/spoteezer.log
          @@ -3,4 +3,24 @@
           [2021-06-26 21:45:11.453] WARNING: The music file was not found with the path you've provided.
           [2021-06-26 22:05:28.614] INFO: JUnit test
           [2021-06-26 22:06:26.191] INFO: JUnit test
          -[2021-06-26 22:06:38.453] INFO: JUnit test
          \ No newline at end of file
          +[2021-06-26 22:06:38.453] INFO: JUnit test
          +[2021-06-27 10:23:31.646] INFO: JUnit test
          +[2021-06-27 10:31:25.514] INFO: JUnit test
          +[2021-06-27 10:38:07.141] INFO: JUnit test
          +[2021-06-27 10:42:26.41] INFO: JUnit test
          +[2021-06-27 10:44:04.343] INFO: JUnit test
          +[2021-06-27 10:44:22.383] INFO: JUnit test
          +[2021-06-27 10:50:24.719] INFO: JUnit test
          +[2021-06-27 10:52:37.112] INFO: JUnit test
          +[2021-06-27 10:52:59.042] INFO: JUnit test
          +[2021-06-27 10:57:26.087] INFO: JUnit test
          +[2021-06-27 10:58:04.601] INFO: JUnit test
          +[2021-06-27 11:03:08.428] INFO: JUnit test
          +[2021-06-27 11:05:43.601] INFO: JUnit test
          +[2021-06-27 11:06:15.442] INFO: JUnit test
          +[2021-06-27 11:06:35.753] INFO: JUnit test
          +[2021-06-27 11:08:19.669] INFO: JUnit test
          +[2021-06-27 11:09:37.095] INFO: JUnit test
          +[2021-06-27 11:09:46.982] INFO: JUnit test
          +[2021-06-27 11:13:46.639] INFO: JUnit test
          +[2021-06-27 11:15:45.379] INFO: JUnit test
          \ No newline at end of file
          diff --git a/src/test/java/musichub/util/LogHandlerTest.java b/src/test/java/musichub/util/LogHandlerTest.java
          index 17b47f6..3965520 100644
          --- a/src/test/java/musichub/util/LogHandlerTest.java
          +++ b/src/test/java/musichub/util/LogHandlerTest.java
          @@ -11,6 +11,16 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
           import static org.junit.jupiter.api.Assertions.assertTrue;
           
           public class LogHandlerTest {
          +    @Test
          +    void testLogHandlerClass() {
          +        try {
          +            LogHandler logHandlerClass = new LogHandler();
          +        } catch (Error e) {
          +            assertTrue(e instanceof AssertionError);
          +            assertEquals("You just can't instantiate this class.", e.getMessage());
          +        }
          +    }
          +
               @Test
               void testWrite() {
                   try {
          @@ -28,14 +38,4 @@ public class LogHandlerTest {
                       e.printStackTrace();
                   }
               }
          -
          -    @Test
          -    void testLogHandlerClass() {
          -        try {
          -            LogHandler logHandlerClass = new LogHandler();
          -        } catch (Error ex) {
          -            assertTrue(ex instanceof AssertionError);
          -            assertEquals("You just can't instantiate this class.", ex.getMessage());
          -        }
          -    }
           }
          diff --git a/src/test/java/musichub/util/PathValidationTest.java b/src/test/java/musichub/util/PathValidationTest.java
          index 4c7a3d6..b0e0c38 100644
          --- a/src/test/java/musichub/util/PathValidationTest.java
          +++ b/src/test/java/musichub/util/PathValidationTest.java
          @@ -7,20 +7,20 @@ import static musichub.util.PathValidation.isPathValid;
           import static org.junit.jupiter.api.Assertions.*;
           
           public class PathValidationTest {
          -    @Test
          -    void testIsPathValid() {
          -        assertTrue(isPathValid("Song/Side_To_Side.wav")); //the right path
          -        assertFalse(isPathValid("wrong_path/Side_To_Side.wav")); //wrong path
          -        assertFalse(isPathValid("Song/Side_To_Side.mp3")); //wrong extension
          -    }
          -
               @Test
               void testPathValidationClass() {
                   try {
                       PathValidation pathValidationClass = new PathValidation();
          -        } catch (Error ex) {
          -            assertTrue(ex instanceof AssertionError);
          -            assertEquals("You just can't instantiate this class.", ex.getMessage());
          +        } catch (Error e) {
          +            assertTrue(e instanceof AssertionError);
          +            assertEquals("You just can't instantiate this class.", e.getMessage());
                   }
               }
          +
          +    @Test
          +    void testIsPathValid() {
          +        assertTrue(isPathValid("Song/Side_To_Side.wav")); //the right path
          +        assertFalse(isPathValid("wrong_path/Side_To_Side.wav")); //wrong path
          +        assertFalse(isPathValid("Song/Side_To_Side.mp3")); //wrong extension
          +    }
           }
          diff --git a/src/test/java/musichub/util/XMLHandlerTest.java b/src/test/java/musichub/util/XMLHandlerTest.java
          index 1be2258..7b5a791 100644
          --- a/src/test/java/musichub/util/XMLHandlerTest.java
          +++ b/src/test/java/musichub/util/XMLHandlerTest.java
          @@ -10,11 +10,6 @@ public class XMLHandlerTest {
               final String DIR = System.getProperty("user.dir");
               final String JUNIT_FILE_PATH = DIR + "/files/JUnit.xml";
           
          -/*    @Test
          -    void testXMLHandlerClass() {
          -            XMLHandler xmlHandler = new XMLHandler();
          -    }*/
          -
               @Test
               void testCreateXML() {
                   XMLHandler xmlHandler = new XMLHandler(); //XML class
          @@ -24,7 +19,12 @@ public class XMLHandlerTest {
           
               @Test
               void testParseXMLFile() {
          +        final String PARSE_DIR = System.getProperty("user.dir");
          +        final String PARSE_FILE_PATH = PARSE_DIR + "/files/parse_JUnit.xml";
                   XMLHandler xmlHandler = new XMLHandler();
          -        NodeList albumNodes = xmlHandler.parseXMLFile(JUNIT_FILE_PATH);
          +        //wrong content of file resulting in an exception, will print it during test but it's normal
          +        NodeList junitNodes = xmlHandler.parseXMLFile(JUNIT_FILE_PATH);
          +        //right content of file
          +        NodeList parseNodes = xmlHandler.parseXMLFile(PARSE_FILE_PATH);
               }
          -}
          +}
          \ No newline at end of file
          diff --git a/target/jacoco.exec b/target/jacoco.exec
          index 5deaa95..51b090d 100644
          Binary files a/target/jacoco.exec and b/target/jacoco.exec differ
          diff --git a/target/javadoc-bundle-options/javadoc-options-javadoc-resources.xml b/target/javadoc-bundle-options/javadoc-options-javadoc-resources.xml
          deleted file mode 100644
          index 8b89c97..0000000
          --- a/target/javadoc-bundle-options/javadoc-options-javadoc-resources.xml
          +++ /dev/null
          @@ -1,10 +0,0 @@
          -<?xml version="1.0" encoding="UTF-8"?>
          -<javadocOptions>
          -  <docletArtifacts>
          -    <docletArtifact />
          -  </docletArtifacts>
          -  <tagletArtifacts>
          -    <tagletArtifact />
          -  </tagletArtifacts>
          -  <javadocResourcesDirectory>src/main/javadoc</javadocResourcesDirectory>
          -</javadocOptions>
          diff --git a/target/maven-archiver/pom.properties b/target/maven-archiver/pom.properties
          deleted file mode 100644
          index 9bf0389..0000000
          --- a/target/maven-archiver/pom.properties
          +++ /dev/null
          @@ -1,5 +0,0 @@
          -#Generated by Maven
          -#Sat Jun 26 22:06:26 CEST 2021
          -groupId=esiea.softwareengineering
          -artifactId=spoteezer
          -version=0.1.0
          diff --git a/target/maven-javadoc-plugin-stale-data.txt b/target/maven-javadoc-plugin-stale-data.txt
          deleted file mode 100644
          index e5ff7a2..0000000
          --- a/target/maven-javadoc-plugin-stale-data.txt
          +++ /dev/null
          @@ -1,66 +0,0 @@
          -@options
          -@argfile
          --classpath
          -'C:/Users/SoftA/.m2/repository/org/junit/jupiter/junit-jupiter-api/5.0.2/junit-jupiter-api-5.0.2.jar;C:/Users/SoftA/.m2/repository/org/opentest4j/opentest4j/1.0.0/opentest4j-1.0.0.jar;C:/Users/SoftA/.m2/repository/org/junit/platform/junit-platform-commons/1.0.2/junit-platform-commons-1.0.2.jar;C:/Users/SoftA/.m2/repository/org/junit/jupiter/junit-jupiter-engine/5.0.2/junit-jupiter-engine-5.0.2.jar;C:/Users/SoftA/.m2/repository/org/junit/platform/junit-platform-engine/1.0.2/junit-platform-engine-1.0.2.jar'
          --encoding
          -'Cp1252'
          --protected
          ---release
          -16
          --sourcepath
          -'C:/Users/SoftA/Documents/spoteezer/src/main/java'
          --author
          --bottom
          -'Copyright &#169; 2021. All rights reserved.'
          --charset
          -'UTF-8'
          --d
          -'C:/Users/SoftA/Documents/spoteezer/target/site/apidocs'
          --docencoding
          -'UTF-8'
          --doctitle
          -'spoteezer 0.1.0 API'
          --use
          --version
          --windowtitle
          -'spoteezer 0.1.0 API'
          -'C:/Users/SoftA/Documents/spoteezer/src/main/java/musichub/business/Album.java'
          -'C:/Users/SoftA/Documents/spoteezer/src/main/java/musichub/business/AudioBook.java'
          -'C:/Users/SoftA/Documents/spoteezer/src/main/java/musichub/business/AudioElement.java'
          -'C:/Users/SoftA/Documents/spoteezer/src/main/java/musichub/business/Category.java'
          -'C:/Users/SoftA/Documents/spoteezer/src/main/java/musichub/business/Genre.java'
          -'C:/Users/SoftA/Documents/spoteezer/src/main/java/musichub/business/Language.java'
          -'C:/Users/SoftA/Documents/spoteezer/src/main/java/musichub/business/MusicHub.java'
          -'C:/Users/SoftA/Documents/spoteezer/src/main/java/musichub/business/NoAlbumFoundException.java'
          -'C:/Users/SoftA/Documents/spoteezer/src/main/java/musichub/business/NoElementFoundException.java'
          -'C:/Users/SoftA/Documents/spoteezer/src/main/java/musichub/business/NoPlayListFoundException.java'
          -'C:/Users/SoftA/Documents/spoteezer/src/main/java/musichub/business/PlayList.java'
          -'C:/Users/SoftA/Documents/spoteezer/src/main/java/musichub/business/Song.java'
          -'C:/Users/SoftA/Documents/spoteezer/src/main/java/musichub/main/Main.java'
          -'C:/Users/SoftA/Documents/spoteezer/src/main/java/musichub/util/LogHandler.java'
          -'C:/Users/SoftA/Documents/spoteezer/src/main/java/musichub/util/PathValidation.java'
          -'C:/Users/SoftA/Documents/spoteezer/src/main/java/musichub/util/XMLHandler.java'
          -C:\Users\SoftA\.m2\repository\org\junit\jupiter\junit-jupiter-api\5.0.2\junit-jupiter-api-5.0.2.jar = 1624015816799
          -C:\Users\SoftA\.m2\repository\org\opentest4j\opentest4j\1.0.0\opentest4j-1.0.0.jar = 1624015816785
          -C:\Users\SoftA\.m2\repository\org\junit\platform\junit-platform-commons\1.0.2\junit-platform-commons-1.0.2.jar = 1624015816770
          -C:\Users\SoftA\.m2\repository\org\junit\jupiter\junit-jupiter-engine\5.0.2\junit-jupiter-engine-5.0.2.jar = 1624015816790
          -C:\Users\SoftA\.m2\repository\org\junit\platform\junit-platform-engine\1.0.2\junit-platform-engine-1.0.2.jar = 1624015816783
          -C:\Users\SoftA\Documents\spoteezer\src\main\java = 1624708123937
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\allclasses-index.html = 1624737994231
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\allpackages-index.html = 1624737994233
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\element-list = 1624737994134
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\help-doc.html = 1624737994257
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\index-all.html = 1624737994253
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\index.html = 1624737994214
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\jquery-ui.overrides.css = 1624737994280
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\member-search-index.js = 1624737994238
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\module-search-index.js = 1624737994234
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\overview-summary.html = 1624737994255
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\overview-tree.html = 1624737994211
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\package-search-index.js = 1624737994235
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\script.js = 1624737994260
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\search.js = 1624737994263
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\serialized-form.html = 1624737994156
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\stylesheet.css = 1624737994259
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\tag-search-index.js = 1624737994239
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\type-search-index.js = 1624737994236
          \ No newline at end of file
          diff --git a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
          index 13c2c99..5941d84 100644
          --- a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
          +++ b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
          @@ -1,2 +1,3 @@
          +musichub\util\XMLHandlerTest.class
           musichub\util\PathValidationTest.class
           musichub\util\LogHandlerTest.class
          diff --git a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
          index 1b9eea3..8cbb196 100644
          --- a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
          +++ b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
          @@ -1,2 +1,3 @@
          +C:\Users\SoftA\Documents\spoteezer\src\test\java\musichub\util\XMLHandlerTest.java
           C:\Users\SoftA\Documents\spoteezer\src\test\java\musichub\util\LogHandlerTest.java
           C:\Users\SoftA\Documents\spoteezer\src\test\java\musichub\util\PathValidationTest.java
          diff --git a/target/original-spoteezer-0.1.0.jar b/target/original-spoteezer-0.1.0.jar
          deleted file mode 100644
          index e14293d..0000000
          Binary files a/target/original-spoteezer-0.1.0.jar and /dev/null differ
          diff --git a/target/site/apidocs/allclasses-index.html b/target/site/apidocs/allclasses-index.html
          deleted file mode 100644
          index e4d9f65..0000000
          --- a/target/site/apidocs/allclasses-index.html
          +++ /dev/null
          @@ -1,114 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
          -<title>All Classes (spoteezer 0.1.0 API)</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="class index">
          -<meta name="generator" content="javadoc/AllClassesIndexWriter">
          -<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="jquery-ui.overrides.css" title="Style">
          -<script type="text/javascript" src="script.js"></script>
          -<script type="text/javascript" src="script-dir/jquery-3.5.1.min.js"></script>
          -<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
          -</head>
          -<body class="all-classes-index-page">
          -<script type="text/javascript">var evenRowColor = "even-row-color";
          -var oddRowColor = "odd-row-color";
          -var tableTab = "table-tab";
          -var activeTableTab = "active-table-tab";
          -var pathtoroot = "./";
          -loadScripts(document, 'script');</script>
          -<noscript>
          -<div>JavaScript is disabled on your browser.</div>
          -</noscript>
          -<div class="flex-box">
          -<header role="banner" class="flex-header">
          -<nav role="navigation">
          -<!-- ========= START OF TOP NAVBAR ======= -->
          -<div class="top-nav" id="navbar.top">
          -<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          -<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          -<li><a href="index.html">Overview</a></li>
          -<li>Package</li>
          -<li>Class</li>
          -<li>Use</li>
          -<li><a href="overview-tree.html">Tree</a></li>
          -<li><a href="index-all.html">Index</a></li>
          -<li><a href="help-doc.html">Help</a></li>
          -</ul>
          -</div>
          -<div class="sub-nav">
          -<div class="nav-list-search"><label for="search">SEARCH:</label>
          -<input type="text" id="search" value="search" disabled="disabled">
          -<input type="reset" id="reset" value="reset" disabled="disabled">
          -</div>
          -</div>
          -<!-- ========= END OF TOP NAVBAR ========= -->
          -<span class="skip-nav" id="skip.navbar.top">
          -<!--   -->
          -</span></nav>
          -</header>
          -<div class="flex-content">
          -<main role="main">
          -<div class="header">
          -<h1 title="All&amp;nbsp;Classes" class="title">All&nbsp;Classes</h1>
          -</div>
          -<div id="all-classes-table">
          -<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="all-classes-table-tab0" role="tab" aria-selected="true" aria-controls="all-classes-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('all-classes-table', 'all-classes-table', 2)" class="active-table-tab">All Classes</button><button id="all-classes-table-tab2" role="tab" aria-selected="false" aria-controls="all-classes-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('all-classes-table', 'all-classes-table-tab2', 2)" class="table-tab">Class Summary</button><button id="all-classes-table-tab3" role="tab" aria-selected="false" aria-controls="all-classes-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('all-classes-table', 'all-classes-table-tab3', 2)" class="table-tab">Enum Class Summary</button><button id="all-classes-table-tab4" role="tab" aria-selected="false" aria-controls="all-classes-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('all-classes-table', 'all-classes-table-tab4', 2)" class="table-tab">Exception Summary</button></div>
          -<div id="all-classes-table.tabpanel" role="tabpanel">
          -<div class="summary-table two-column-summary" aria-labelledby="all-classes-table-tab0">
          -<div class="table-header col-first">Class</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color all-classes-table-tab2 all-classes-table"><a href="musichub/business/Album.html" title="class in musichub.business">Album</a></div>
          -<div class="col-last even-row-color all-classes-table-tab2 all-classes-table">&nbsp;</div>
          -<div class="col-first odd-row-color all-classes-table-tab2 all-classes-table"><a href="musichub/business/AudioBook.html" title="class in musichub.business">AudioBook</a></div>
          -<div class="col-last odd-row-color all-classes-table-tab2 all-classes-table">&nbsp;</div>
          -<div class="col-first even-row-color all-classes-table-tab2 all-classes-table"><a href="musichub/business/AudioElement.html" title="class in musichub.business">AudioElement</a></div>
          -<div class="col-last even-row-color all-classes-table-tab2 all-classes-table">&nbsp;</div>
          -<div class="col-first odd-row-color all-classes-table all-classes-table-tab3"><a href="musichub/business/Category.html" title="enum class in musichub.business">Category</a></div>
          -<div class="col-last odd-row-color all-classes-table all-classes-table-tab3">&nbsp;</div>
          -<div class="col-first even-row-color all-classes-table all-classes-table-tab3"><a href="musichub/business/Genre.html" title="enum class in musichub.business">Genre</a></div>
          -<div class="col-last even-row-color all-classes-table all-classes-table-tab3">&nbsp;</div>
          -<div class="col-first odd-row-color all-classes-table all-classes-table-tab3"><a href="musichub/business/Language.html" title="enum class in musichub.business">Language</a></div>
          -<div class="col-last odd-row-color all-classes-table all-classes-table-tab3">&nbsp;</div>
          -<div class="col-first even-row-color all-classes-table-tab2 all-classes-table"><a href="musichub/util/LogHandler.html" title="class in musichub.util">LogHandler</a></div>
          -<div class="col-last even-row-color all-classes-table-tab2 all-classes-table">
          -<div class="block">Class offering a log writing method.</div>
          -</div>
          -<div class="col-first odd-row-color all-classes-table-tab2 all-classes-table"><a href="musichub/main/Main.html" title="class in musichub.main">Main</a></div>
          -<div class="col-last odd-row-color all-classes-table-tab2 all-classes-table">&nbsp;</div>
          -<div class="col-first even-row-color all-classes-table-tab2 all-classes-table"><a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></div>
          -<div class="col-last even-row-color all-classes-table-tab2 all-classes-table">&nbsp;</div>
          -<div class="col-first odd-row-color all-classes-table all-classes-table-tab4"><a href="musichub/business/NoAlbumFoundException.html" title="class in musichub.business">NoAlbumFoundException</a></div>
          -<div class="col-last odd-row-color all-classes-table all-classes-table-tab4">&nbsp;</div>
          -<div class="col-first even-row-color all-classes-table all-classes-table-tab4"><a href="musichub/business/NoElementFoundException.html" title="class in musichub.business">NoElementFoundException</a></div>
          -<div class="col-last even-row-color all-classes-table all-classes-table-tab4">&nbsp;</div>
          -<div class="col-first odd-row-color all-classes-table all-classes-table-tab4"><a href="musichub/business/NoPlayListFoundException.html" title="class in musichub.business">NoPlayListFoundException</a></div>
          -<div class="col-last odd-row-color all-classes-table all-classes-table-tab4">&nbsp;</div>
          -<div class="col-first even-row-color all-classes-table-tab2 all-classes-table"><a href="musichub/util/PathValidation.html" title="class in musichub.util">PathValidation</a></div>
          -<div class="col-last even-row-color all-classes-table-tab2 all-classes-table">
          -<div class="block">Class offering a path validation method.</div>
          -</div>
          -<div class="col-first odd-row-color all-classes-table-tab2 all-classes-table"><a href="musichub/business/PlayList.html" title="class in musichub.business">PlayList</a></div>
          -<div class="col-last odd-row-color all-classes-table-tab2 all-classes-table">&nbsp;</div>
          -<div class="col-first even-row-color all-classes-table-tab2 all-classes-table"><a href="musichub/business/Song.html" title="class in musichub.business">Song</a></div>
          -<div class="col-last even-row-color all-classes-table-tab2 all-classes-table">&nbsp;</div>
          -<div class="col-first odd-row-color all-classes-table-tab2 all-classes-table"><a href="musichub/util/XMLHandler.html" title="class in musichub.util">XMLHandler</a></div>
          -<div class="col-last odd-row-color all-classes-table-tab2 all-classes-table">&nbsp;</div>
          -</div>
          -</div>
          -</div>
          -</main>
          -<footer role="contentinfo">
          -<hr>
          -<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          -</footer>
          -</div>
          -</div>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/allpackages-index.html b/target/site/apidocs/allpackages-index.html
          deleted file mode 100644
          index 1670da5..0000000
          --- a/target/site/apidocs/allpackages-index.html
          +++ /dev/null
          @@ -1,76 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
          -<title>All Packages (spoteezer 0.1.0 API)</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="package index">
          -<meta name="generator" content="javadoc/AllPackagesIndexWriter">
          -<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="jquery-ui.overrides.css" title="Style">
          -<script type="text/javascript" src="script.js"></script>
          -<script type="text/javascript" src="script-dir/jquery-3.5.1.min.js"></script>
          -<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
          -</head>
          -<body class="all-packages-index-page">
          -<script type="text/javascript">var pathtoroot = "./";
          -loadScripts(document, 'script');</script>
          -<noscript>
          -<div>JavaScript is disabled on your browser.</div>
          -</noscript>
          -<div class="flex-box">
          -<header role="banner" class="flex-header">
          -<nav role="navigation">
          -<!-- ========= START OF TOP NAVBAR ======= -->
          -<div class="top-nav" id="navbar.top">
          -<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          -<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          -<li><a href="index.html">Overview</a></li>
          -<li>Package</li>
          -<li>Class</li>
          -<li>Use</li>
          -<li><a href="overview-tree.html">Tree</a></li>
          -<li><a href="index-all.html">Index</a></li>
          -<li><a href="help-doc.html">Help</a></li>
          -</ul>
          -</div>
          -<div class="sub-nav">
          -<div class="nav-list-search"><label for="search">SEARCH:</label>
          -<input type="text" id="search" value="search" disabled="disabled">
          -<input type="reset" id="reset" value="reset" disabled="disabled">
          -</div>
          -</div>
          -<!-- ========= END OF TOP NAVBAR ========= -->
          -<span class="skip-nav" id="skip.navbar.top">
          -<!--   -->
          -</span></nav>
          -</header>
          -<div class="flex-content">
          -<main role="main">
          -<div class="header">
          -<h1 title="All&amp;nbsp;Packages" class="title">All&nbsp;Packages</h1>
          -</div>
          -<div class="caption"><span>Package Summary</span></div>
          -<div class="summary-table two-column-summary">
          -<div class="table-header col-first">Package</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color"><a href="musichub/business/package-summary.html">musichub.business</a></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -<div class="col-first odd-row-color"><a href="musichub/main/package-summary.html">musichub.main</a></div>
          -<div class="col-last odd-row-color">&nbsp;</div>
          -<div class="col-first even-row-color"><a href="musichub/util/package-summary.html">musichub.util</a></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -</div>
          -</main>
          -<footer role="contentinfo">
          -<hr>
          -<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          -</footer>
          -</div>
          -</div>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/element-list b/target/site/apidocs/element-list
          deleted file mode 100644
          index 87e8cdc..0000000
          --- a/target/site/apidocs/element-list
          +++ /dev/null
          @@ -1,3 +0,0 @@
          -musichub.business
          -musichub.main
          -musichub.util
          diff --git a/target/site/apidocs/help-doc.html b/target/site/apidocs/help-doc.html
          deleted file mode 100644
          index 4d85c2b..0000000
          --- a/target/site/apidocs/help-doc.html
          +++ /dev/null
          @@ -1,162 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
          -<title>API Help (spoteezer 0.1.0 API)</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="help">
          -<meta name="generator" content="javadoc/HelpWriter">
          -<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="jquery-ui.overrides.css" title="Style">
          -<script type="text/javascript" src="script.js"></script>
          -<script type="text/javascript" src="script-dir/jquery-3.5.1.min.js"></script>
          -<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
          -</head>
          -<body class="help-page">
          -<script type="text/javascript">var pathtoroot = "./";
          -loadScripts(document, 'script');</script>
          -<noscript>
          -<div>JavaScript is disabled on your browser.</div>
          -</noscript>
          -<div class="flex-box">
          -<header role="banner" class="flex-header">
          -<nav role="navigation">
          -<!-- ========= START OF TOP NAVBAR ======= -->
          -<div class="top-nav" id="navbar.top">
          -<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          -<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          -<li><a href="index.html">Overview</a></li>
          -<li>Package</li>
          -<li>Class</li>
          -<li>Use</li>
          -<li><a href="overview-tree.html">Tree</a></li>
          -<li><a href="index-all.html">Index</a></li>
          -<li class="nav-bar-cell1-rev">Help</li>
          -</ul>
          -</div>
          -<div class="sub-nav">
          -<div class="nav-list-search"><label for="search">SEARCH:</label>
          -<input type="text" id="search" value="search" disabled="disabled">
          -<input type="reset" id="reset" value="reset" disabled="disabled">
          -</div>
          -</div>
          -<!-- ========= END OF TOP NAVBAR ========= -->
          -<span class="skip-nav" id="skip.navbar.top">
          -<!--   -->
          -</span></nav>
          -</header>
          -<div class="flex-content">
          -<main role="main">
          -<div class="header">
          -<h1 class="title">How This API Document Is Organized</h1>
          -<div class="sub-title">This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.</div>
          -</div>
          -<section class="help-section">
          -<h2>Overview</h2>
          -<p>The <a href="index.html">Overview</a> page is the front page of this API document and provides a list of all packages with a summary for each.  This page can also contain an overall description of the set of packages.</p>
          -</section>
          -<section class="help-section">
          -<h2>Package</h2>
          -<p>Each package has a page that contains a list of its classes and interfaces, with a summary for each. These pages may contain six categories:</p>
          -<ul class="help-section-list">
          -<li>Interfaces</li>
          -<li>Classes</li>
          -<li>Enum Classes</li>
          -<li>Exceptions</li>
          -<li>Errors</li>
          -<li>Annotation Interfaces</li>
          -</ul>
          -</section>
          -<section class="help-section">
          -<h2>Class or Interface</h2>
          -<p>Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:</p>
          -<ul class="help-section-list">
          -<li>Class Inheritance Diagram</li>
          -<li>Direct Subclasses</li>
          -<li>All Known Subinterfaces</li>
          -<li>All Known Implementing Classes</li>
          -<li>Class or Interface Declaration</li>
          -<li>Class or Interface Description</li>
          -</ul>
          -<br>
          -<ul class="help-section-list">
          -<li>Nested Class Summary</li>
          -<li>Field Summary</li>
          -<li>Property Summary</li>
          -<li>Constructor Summary</li>
          -<li>Method Summary</li>
          -</ul>
          -<br>
          -<ul class="help-section-list">
          -<li>Field Details</li>
          -<li>Property Details</li>
          -<li>Constructor Details</li>
          -<li>Method Details</li>
          -</ul>
          -<p>The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.</p>
          -</section>
          -<section class="help-section">
          -<h2>Annotation Interface</h2>
          -<p>Each annotation interface has its own separate page with the following sections:</p>
          -<ul class="help-section-list">
          -<li>Annotation Interface Declaration</li>
          -<li>Annotation Interface Description</li>
          -<li>Required Element Summary</li>
          -<li>Optional Element Summary</li>
          -<li>Element Details</li>
          -</ul>
          -</section>
          -<section class="help-section">
          -<h2>Enum Class</h2>
          -<p>Each enum class has its own separate page with the following sections:</p>
          -<ul class="help-section-list">
          -<li>Enum Declaration</li>
          -<li>Enum Description</li>
          -<li>Enum Constant Summary</li>
          -<li>Enum Constant Details</li>
          -</ul>
          -</section>
          -<section class="help-section">
          -<h2>Use</h2>
          -<p>Each documented package, class and interface has its own Use page.  This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its "Use" page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A.  You can access this page by first going to the package, class or interface, then clicking on the "Use" link in the navigation bar.</p>
          -</section>
          -<section class="help-section">
          -<h2>Tree (Class Hierarchy)</h2>
          -<p>There is a <a href="overview-tree.html">Class Hierarchy</a> page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. Classes are organized by inheritance structure starting with <code>java.lang.Object</code>. Interfaces do not inherit from <code>java.lang.Object</code>.</p>
          -<ul class="help-section-list">
          -<li>When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.</li>
          -<li>When viewing a particular package, class or interface page, clicking on "Tree" displays the hierarchy for only that package.</li>
          -</ul>
          -</section>
          -<section class="help-section">
          -<h2>Index</h2>
          -<p>The <a href="index-all.html">Index</a> contains an alphabetic index of all classes, interfaces, constructors, methods, and fields, as well as lists of all packages and all classes.</p>
          -</section>
          -<section class="help-section">
          -<h2>Serialized Form</h2>
          -<p>Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to those who implement rather than use the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See Also" section of the class description.</p>
          -</section>
          -<section class="help-section">
          -<h2>Search</h2>
          -<p>You can search for definitions of modules, packages, types, fields, methods, system properties and other terms defined in the API, using some or all of the name, optionally using "camel-case" abbreviations. For example:</p>
          -<ul class="help-section-list">
          -<li><code>j.l.obj</code> will match "java.lang.Object"</li>
          -<li><code>InpStr</code> will match "java.io.InputStream"</li>
          -<li><code>HM.cK</code> will match "java.util.HashMap.containsKey(Object)"</li>
          -</ul>
          -<p>Refer to <a href="https://docs.oracle.com/en/java/javase/16/docs/specs/javadoc/javadoc-search-spec.html">the Javadoc Search Specification</a> for a full description of search features.</p>
          -</section>
          -<hr>
          -<span class="help-footnote">This help file applies to API documentation generated by the standard doclet.</span></main>
          -<footer role="contentinfo">
          -<hr>
          -<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          -</footer>
          -</div>
          -</div>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/index-all.html b/target/site/apidocs/index-all.html
          deleted file mode 100644
          index 0df0f51..0000000
          --- a/target/site/apidocs/index-all.html
          +++ /dev/null
          @@ -1,410 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
          -<title>Index (spoteezer 0.1.0 API)</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="index">
          -<meta name="generator" content="javadoc/IndexWriter">
          -<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="jquery-ui.overrides.css" title="Style">
          -<script type="text/javascript" src="script.js"></script>
          -<script type="text/javascript" src="script-dir/jquery-3.5.1.min.js"></script>
          -<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
          -</head>
          -<body class="index-page">
          -<script type="text/javascript">var pathtoroot = "./";
          -loadScripts(document, 'script');</script>
          -<noscript>
          -<div>JavaScript is disabled on your browser.</div>
          -</noscript>
          -<div class="flex-box">
          -<header role="banner" class="flex-header">
          -<nav role="navigation">
          -<!-- ========= START OF TOP NAVBAR ======= -->
          -<div class="top-nav" id="navbar.top">
          -<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          -<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          -<li><a href="index.html">Overview</a></li>
          -<li>Package</li>
          -<li>Class</li>
          -<li>Use</li>
          -<li><a href="overview-tree.html">Tree</a></li>
          -<li class="nav-bar-cell1-rev">Index</li>
          -<li><a href="help-doc.html">Help</a></li>
          -</ul>
          -</div>
          -<div class="sub-nav">
          -<div class="nav-list-search"><label for="search">SEARCH:</label>
          -<input type="text" id="search" value="search" disabled="disabled">
          -<input type="reset" id="reset" value="reset" disabled="disabled">
          -</div>
          -</div>
          -<!-- ========= END OF TOP NAVBAR ========= -->
          -<span class="skip-nav" id="skip.navbar.top">
          -<!--   -->
          -</span></nav>
          -</header>
          -<div class="flex-content">
          -<main role="main">
          -<div class="header">
          -<h1>Index</h1>
          -</div>
          -<a href="#I:A">A</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:D">D</a>&nbsp;<a href="#I:E">E</a>&nbsp;<a href="#I:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:H">H</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:J">J</a>&nbsp;<a href="#I:L">L</a>&nbsp;<a href="#I:M">M</a>&nbsp;<a href="#I:N">N</a>&nbsp;<a href="#I:P">P</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:U">U</a>&nbsp;<a href="#I:V">V</a>&nbsp;<a href="#I:W">W</a>&nbsp;<a href="#I:X">X</a>&nbsp;<a href="#I:Y">Y</a>&nbsp;<br><a href="allclasses-index.html">All&nbsp;Classes</a><span class="vertical-separator">|</span><a href="allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="serialized-form.html">Serialized&nbsp;Form</a>
          -<h2 class="title" id="I:A">A</h2>
          -<dl class="index">
          -<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#addAlbum(musichub.business.Album)">addAlbum(Album)</a></span> - Method in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/PlayList.html#addElement(java.util.UUID)">addElement(UUID)</a></span> - Method in class musichub.business.<a href="musichub/business/PlayList.html" title="class in musichub.business">PlayList</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#addElement(musichub.business.AudioElement)">addElement(AudioElement)</a></span> - Method in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#addElementToAlbum(java.lang.String,java.lang.String)">addElementToAlbum(String, String)</a></span> - Method in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#addElementToPlayList(java.lang.String,java.lang.String)">addElementToPlayList(String, String)</a></span> - Method in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#addPlaylist(musichub.business.PlayList)">addPlaylist(PlayList)</a></span> - Method in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/Album.html#addSong(java.util.UUID)">addSong(UUID)</a></span> - Method in class musichub.business.<a href="musichub/business/Album.html" title="class in musichub.business">Album</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><a href="musichub/business/Album.html" title="class in musichub.business"><span class="type-name-link">Album</span></a> - Class in <a href="musichub/business/package-summary.html">musichub.business</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/Album.html#%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String)">Album(String, String, int, String)</a></span> - Constructor for class musichub.business.<a href="musichub/business/Album.html" title="class in musichub.business">Album</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/Album.html#%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.util.ArrayList)">Album(String, String, int, String, String, ArrayList&lt;UUID&gt;)</a></span> - Constructor for class musichub.business.<a href="musichub/business/Album.html" title="class in musichub.business">Album</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/Album.html#%3Cinit%3E(org.w3c.dom.Element)">Album(Element)</a></span> - Constructor for class musichub.business.<a href="musichub/business/Album.html" title="class in musichub.business">Album</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#albums()">albums()</a></span> - Method in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#ALBUMS_FILE_PATH">ALBUMS_FILE_PATH</a></span> - Static variable in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/AudioElement.html#artist">artist</a></span> - Variable in class musichub.business.<a href="musichub/business/AudioElement.html" title="class in musichub.business">AudioElement</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><a href="musichub/business/AudioBook.html" title="class in musichub.business"><span class="type-name-link">AudioBook</span></a> - Class in <a href="musichub/business/package-summary.html">musichub.business</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/AudioBook.html#%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String)">AudioBook(String, String, int, String, String, String)</a></span> - Constructor for class musichub.business.<a href="musichub/business/AudioBook.html" title="class in musichub.business">AudioBook</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/AudioBook.html#%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String)">AudioBook(String, String, int, String, String, String, String)</a></span> - Constructor for class musichub.business.<a href="musichub/business/AudioBook.html" title="class in musichub.business">AudioBook</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/AudioBook.html#%3Cinit%3E(org.w3c.dom.Element)">AudioBook(Element)</a></span> - Constructor for class musichub.business.<a href="musichub/business/AudioBook.html" title="class in musichub.business">AudioBook</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><a href="musichub/business/AudioElement.html" title="class in musichub.business"><span class="type-name-link">AudioElement</span></a> - Class in <a href="musichub/business/package-summary.html">musichub.business</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/AudioElement.html#%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String)">AudioElement(String, String, int, String)</a></span> - Constructor for class musichub.business.<a href="musichub/business/AudioElement.html" title="class in musichub.business">AudioElement</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/AudioElement.html#%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String)">AudioElement(String, String, int, String, String)</a></span> - Constructor for class musichub.business.<a href="musichub/business/AudioElement.html" title="class in musichub.business">AudioElement</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/AudioElement.html#%3Cinit%3E(org.w3c.dom.Element)">AudioElement(Element)</a></span> - Constructor for class musichub.business.<a href="musichub/business/AudioElement.html" title="class in musichub.business">AudioElement</a></dt>
          -<dd>&nbsp;</dd>
          -</dl>
          -<h2 class="title" id="I:C">C</h2>
          -<dl class="index">
          -<dt><a href="musichub/business/Category.html" title="enum class in musichub.business"><span class="type-name-link">Category</span></a> - Enum Class in <a href="musichub/business/package-summary.html">musichub.business</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/Genre.html#CLASSIC">CLASSIC</a></span> - Enum constant in enum class musichub.business.<a href="musichub/business/Genre.html" title="enum class in musichub.business">Genre</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/AudioElement.html#content">content</a></span> - Variable in class musichub.business.<a href="musichub/business/AudioElement.html" title="class in musichub.business">AudioElement</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/util/XMLHandler.html#createXMLDocument()">createXMLDocument()</a></span> - Method in class musichub.util.<a href="musichub/util/XMLHandler.html" title="class in musichub.util">XMLHandler</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/Album.html#createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)">createXMLElement(Document, Element)</a></span> - Method in class musichub.business.<a href="musichub/business/Album.html" title="class in musichub.business">Album</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/AudioBook.html#createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)">createXMLElement(Document, Element)</a></span> - Method in class musichub.business.<a href="musichub/business/AudioBook.html" title="class in musichub.business">AudioBook</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/AudioElement.html#createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)">createXMLElement(Document, Element)</a></span> - Method in class musichub.business.<a href="musichub/business/AudioElement.html" title="class in musichub.business">AudioElement</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/PlayList.html#createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)">createXMLElement(Document, Element)</a></span> - Method in class musichub.business.<a href="musichub/business/PlayList.html" title="class in musichub.business">PlayList</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/Song.html#createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)">createXMLElement(Document, Element)</a></span> - Method in class musichub.business.<a href="musichub/business/Song.html" title="class in musichub.business">Song</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/util/XMLHandler.html#createXMLFile(org.w3c.dom.Document,java.lang.String)">createXMLFile(Document, String)</a></span> - Method in class musichub.util.<a href="musichub/util/XMLHandler.html" title="class in musichub.util">XMLHandler</a></dt>
          -<dd>&nbsp;</dd>
          -</dl>
          -<h2 class="title" id="I:D">D</h2>
          -<dl class="index">
          -<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#deletePlayList(java.lang.String)">deletePlayList(String)</a></span> - Method in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#DIR">DIR</a></span> - Static variable in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/Category.html#DOCUMENTARY">DOCUMENTARY</a></span> - Enum constant in enum class musichub.business.<a href="musichub/business/Category.html" title="enum class in musichub.business">Category</a></dt>
          -<dd>&nbsp;</dd>
          -</dl>
          -<h2 class="title" id="I:E">E</h2>
          -<dl class="index">
          -<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#elements()">elements()</a></span> - Method in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#ELEMENTS_FILE_PATH">ELEMENTS_FILE_PATH</a></span> - Static variable in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/Language.html#ENGLISH">ENGLISH</a></span> - Enum constant in enum class musichub.business.<a href="musichub/business/Language.html" title="enum class in musichub.business">Language</a></dt>
          -<dd>&nbsp;</dd>
          -</dl>
          -<h2 class="title" id="I:F">F</h2>
          -<dl class="index">
          -<dt><span class="member-name-link"><a href="musichub/business/Language.html#FRENCH">FRENCH</a></span> - Enum constant in enum class musichub.business.<a href="musichub/business/Language.html" title="enum class in musichub.business">Language</a></dt>
          -<dd>&nbsp;</dd>
          -</dl>
          -<h2 class="title" id="I:G">G</h2>
          -<dl class="index">
          -<dt><a href="musichub/business/Genre.html" title="enum class in musichub.business"><span class="type-name-link">Genre</span></a> - Enum Class in <a href="musichub/business/package-summary.html">musichub.business</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/Language.html#GERMAN">GERMAN</a></span> - Enum constant in enum class musichub.business.<a href="musichub/business/Language.html" title="enum class in musichub.business">Language</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#getAlbumSongs(java.lang.String)">getAlbumSongs(String)</a></span> - Method in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#getAlbumSongsSortedByGenre(java.lang.String)">getAlbumSongsSortedByGenre(String)</a></span> - Method in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#getAlbumsTitlesSortedByDate()">getAlbumsTitlesSortedByDate()</a></span> - Method in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/AudioElement.html#getArtist()">getArtist()</a></span> - Method in class musichub.business.<a href="musichub/business/AudioElement.html" title="class in musichub.business">AudioElement</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#getAudiobooksTitlesSortedByAuthor()">getAudiobooksTitlesSortedByAuthor()</a></span> - Method in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#getAudioElement(java.util.List,java.lang.String)">getAudioElement(List&lt;AudioElement&gt;, String)</a></span> - Method in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/AudioBook.html#getCategory()">getCategory()</a></span> - Method in class musichub.business.<a href="musichub/business/AudioBook.html" title="class in musichub.business">AudioBook</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/Category.html#getCategory()">getCategory()</a></span> - Method in enum class musichub.business.<a href="musichub/business/Category.html" title="enum class in musichub.business">Category</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/Album.html#getDate()">getDate()</a></span> - Method in class musichub.business.<a href="musichub/business/Album.html" title="class in musichub.business">Album</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/PlayList.html#getElements()">getElements()</a></span> - Method in class musichub.business.<a href="musichub/business/PlayList.html" title="class in musichub.business">PlayList</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/Genre.html#getGenre()">getGenre()</a></span> - Method in enum class musichub.business.<a href="musichub/business/Genre.html" title="enum class in musichub.business">Genre</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/Song.html#getGenre()">getGenre()</a></span> - Method in class musichub.business.<a href="musichub/business/Song.html" title="class in musichub.business">Song</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/AudioBook.html#getLanguage()">getLanguage()</a></span> - Method in class musichub.business.<a href="musichub/business/AudioBook.html" title="class in musichub.business">AudioBook</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/Language.html#getLanguage()">getLanguage()</a></span> - Method in enum class musichub.business.<a href="musichub/business/Language.html" title="enum class in musichub.business">Language</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/Album.html#getSongs()">getSongs()</a></span> - Method in class musichub.business.<a href="musichub/business/Album.html" title="class in musichub.business">Album</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/Album.html#getSongsRandomly()">getSongsRandomly()</a></span> - Method in class musichub.business.<a href="musichub/business/Album.html" title="class in musichub.business">Album</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/Album.html#getTitle()">getTitle()</a></span> - Method in class musichub.business.<a href="musichub/business/Album.html" title="class in musichub.business">Album</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/AudioElement.html#getTitle()">getTitle()</a></span> - Method in class musichub.business.<a href="musichub/business/AudioElement.html" title="class in musichub.business">AudioElement</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/PlayList.html#getTitle()">getTitle()</a></span> - Method in class musichub.business.<a href="musichub/business/PlayList.html" title="class in musichub.business">PlayList</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/AudioElement.html#getUUID()">getUUID()</a></span> - Method in class musichub.business.<a href="musichub/business/AudioElement.html" title="class in musichub.business">AudioElement</a></dt>
          -<dd>&nbsp;</dd>
          -</dl>
          -<h2 class="title" id="I:H">H</h2>
          -<dl class="index">
          -<dt><span class="member-name-link"><a href="musichub/business/Genre.html#HIPHOP">HIPHOP</a></span> - Enum constant in enum class musichub.business.<a href="musichub/business/Genre.html" title="enum class in musichub.business">Genre</a></dt>
          -<dd>&nbsp;</dd>
          -</dl>
          -<h2 class="title" id="I:I">I</h2>
          -<dl class="index">
          -<dt><span class="member-name-link"><a href="musichub/util/PathValidation.html#isPathValid(java.lang.String)">isPathValid(String)</a></span> - Static method in class musichub.util.<a href="musichub/util/PathValidation.html" title="class in musichub.util">PathValidation</a></dt>
          -<dd>
          -<div class="block">Method that checks the validity of a given path</div>
          -</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/Language.html#ITALIAN">ITALIAN</a></span> - Enum constant in enum class musichub.business.<a href="musichub/business/Language.html" title="enum class in musichub.business">Language</a></dt>
          -<dd>&nbsp;</dd>
          -</dl>
          -<h2 class="title" id="I:J">J</h2>
          -<dl class="index">
          -<dt><span class="member-name-link"><a href="musichub/business/Genre.html#JAZZ">JAZZ</a></span> - Enum constant in enum class musichub.business.<a href="musichub/business/Genre.html" title="enum class in musichub.business">Genre</a></dt>
          -<dd>&nbsp;</dd>
          -</dl>
          -<h2 class="title" id="I:L">L</h2>
          -<dl class="index">
          -<dt><a href="musichub/business/Language.html" title="enum class in musichub.business"><span class="type-name-link">Language</span></a> - Enum Class in <a href="musichub/business/package-summary.html">musichub.business</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/AudioElement.html#lengthInSeconds">lengthInSeconds</a></span> - Variable in class musichub.business.<a href="musichub/business/AudioElement.html" title="class in musichub.business">AudioElement</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><a href="musichub/util/LogHandler.html" title="class in musichub.util"><span class="type-name-link">LogHandler</span></a> - Class in <a href="musichub/util/package-summary.html">musichub.util</a></dt>
          -<dd>
          -<div class="block">Class offering a log writing method.</div>
          -</dd>
          -<dt><span class="member-name-link"><a href="musichub/util/LogHandler.html#%3Cinit%3E()">LogHandler()</a></span> - Constructor for class musichub.util.<a href="musichub/util/LogHandler.html" title="class in musichub.util">LogHandler</a></dt>
          -<dd>
          -<div class="block">Method that just throws an AssertionError if the class is called</div>
          -</dd>
          -</dl>
          -<h2 class="title" id="I:M">M</h2>
          -<dl class="index">
          -<dt><span class="member-name-link"><a href="musichub/main/Main.html#main(java.lang.String%5B%5D)">main(String[])</a></span> - Static method in class musichub.main.<a href="musichub/main/Main.html" title="class in musichub.main">Main</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><a href="musichub/main/Main.html" title="class in musichub.main"><span class="type-name-link">Main</span></a> - Class in <a href="musichub/main/package-summary.html">musichub.main</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/main/Main.html#%3Cinit%3E()">Main()</a></span> - Constructor for class musichub.main.<a href="musichub/main/Main.html" title="class in musichub.main">Main</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/AudioElement.html#manageAudioElement()">manageAudioElement()</a></span> - Method in class musichub.business.<a href="musichub/business/AudioElement.html" title="class in musichub.business">AudioElement</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><a href="musichub/business/MusicHub.html" title="class in musichub.business"><span class="type-name-link">MusicHub</span></a> - Class in <a href="musichub/business/package-summary.html">musichub.business</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#%3Cinit%3E()">MusicHub()</a></span> - Constructor for class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><a href="musichub/business/package-summary.html">musichub.business</a> - package musichub.business</dt>
          -<dd>&nbsp;</dd>
          -<dt><a href="musichub/main/package-summary.html">musichub.main</a> - package musichub.main</dt>
          -<dd>&nbsp;</dd>
          -<dt><a href="musichub/util/package-summary.html">musichub.util</a> - package musichub.util</dt>
          -<dd>&nbsp;</dd>
          -</dl>
          -<h2 class="title" id="I:N">N</h2>
          -<dl class="index">
          -<dt><a href="musichub/business/NoAlbumFoundException.html" title="class in musichub.business"><span class="type-name-link">NoAlbumFoundException</span></a> - Exception in <a href="musichub/business/package-summary.html">musichub.business</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/NoAlbumFoundException.html#%3Cinit%3E(java.lang.String)">NoAlbumFoundException(String)</a></span> - Constructor for exception musichub.business.<a href="musichub/business/NoAlbumFoundException.html" title="class in musichub.business">NoAlbumFoundException</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><a href="musichub/business/NoElementFoundException.html" title="class in musichub.business"><span class="type-name-link">NoElementFoundException</span></a> - Exception in <a href="musichub/business/package-summary.html">musichub.business</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/NoElementFoundException.html#%3Cinit%3E(java.lang.String)">NoElementFoundException(String)</a></span> - Constructor for exception musichub.business.<a href="musichub/business/NoElementFoundException.html" title="class in musichub.business">NoElementFoundException</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><a href="musichub/business/NoPlayListFoundException.html" title="class in musichub.business"><span class="type-name-link">NoPlayListFoundException</span></a> - Exception in <a href="musichub/business/package-summary.html">musichub.business</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/NoPlayListFoundException.html#%3Cinit%3E(java.lang.String)">NoPlayListFoundException(String)</a></span> - Constructor for exception musichub.business.<a href="musichub/business/NoPlayListFoundException.html" title="class in musichub.business">NoPlayListFoundException</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/Category.html#NOVEL">NOVEL</a></span> - Enum constant in enum class musichub.business.<a href="musichub/business/Category.html" title="enum class in musichub.business">Category</a></dt>
          -<dd>&nbsp;</dd>
          -</dl>
          -<h2 class="title" id="I:P">P</h2>
          -<dl class="index">
          -<dt><span class="member-name-link"><a href="musichub/util/XMLHandler.html#parseXMLFile(java.lang.String)">parseXMLFile(String)</a></span> - Method in class musichub.util.<a href="musichub/util/XMLHandler.html" title="class in musichub.util">XMLHandler</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><a href="musichub/util/PathValidation.html" title="class in musichub.util"><span class="type-name-link">PathValidation</span></a> - Class in <a href="musichub/util/package-summary.html">musichub.util</a></dt>
          -<dd>
          -<div class="block">Class offering a path validation method.</div>
          -</dd>
          -<dt><span class="member-name-link"><a href="musichub/util/PathValidation.html#%3Cinit%3E()">PathValidation()</a></span> - Constructor for class musichub.util.<a href="musichub/util/PathValidation.html" title="class in musichub.util">PathValidation</a></dt>
          -<dd>
          -<div class="block">Method that just throws an AssertionError if the class is called</div>
          -</dd>
          -<dt><a href="musichub/business/PlayList.html" title="class in musichub.business"><span class="type-name-link">PlayList</span></a> - Class in <a href="musichub/business/package-summary.html">musichub.business</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/PlayList.html#%3Cinit%3E(java.lang.String)">PlayList(String)</a></span> - Constructor for class musichub.business.<a href="musichub/business/PlayList.html" title="class in musichub.business">PlayList</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/PlayList.html#%3Cinit%3E(java.lang.String,java.lang.String,java.util.ArrayList)">PlayList(String, String, ArrayList&lt;UUID&gt;)</a></span> - Constructor for class musichub.business.<a href="musichub/business/PlayList.html" title="class in musichub.business">PlayList</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/PlayList.html#%3Cinit%3E(org.w3c.dom.Element)">PlayList(Element)</a></span> - Constructor for class musichub.business.<a href="musichub/business/PlayList.html" title="class in musichub.business">PlayList</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#playlists()">playlists()</a></span> - Method in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#PLAYLISTS_FILE_PATH">PLAYLISTS_FILE_PATH</a></span> - Static variable in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/Genre.html#POP">POP</a></span> - Enum constant in enum class musichub.business.<a href="musichub/business/Genre.html" title="enum class in musichub.business">Genre</a></dt>
          -<dd>&nbsp;</dd>
          -</dl>
          -<h2 class="title" id="I:R">R</h2>
          -<dl class="index">
          -<dt><span class="member-name-link"><a href="musichub/business/Genre.html#RAP">RAP</a></span> - Enum constant in enum class musichub.business.<a href="musichub/business/Genre.html" title="enum class in musichub.business">Genre</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/util/LogHandler.html#read()">read()</a></span> - Static method in class musichub.util.<a href="musichub/util/LogHandler.html" title="class in musichub.util">LogHandler</a></dt>
          -<dd>
          -<div class="block">Method that prints the content of spoteezer.log</div>
          -</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/Genre.html#ROCK">ROCK</a></span> - Enum constant in enum class musichub.business.<a href="musichub/business/Genre.html" title="enum class in musichub.business">Genre</a></dt>
          -<dd>&nbsp;</dd>
          -</dl>
          -<h2 class="title" id="I:S">S</h2>
          -<dl class="index">
          -<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#saveAlbums()">saveAlbums()</a></span> - Method in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#saveElements()">saveElements()</a></span> - Method in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#savePlayLists()">savePlayLists()</a></span> - Method in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/AudioBook.html#setCategory(java.lang.String)">setCategory(String)</a></span> - Method in class musichub.business.<a href="musichub/business/AudioBook.html" title="class in musichub.business">AudioBook</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/Song.html#setGenre(java.lang.String)">setGenre(String)</a></span> - Method in class musichub.business.<a href="musichub/business/Song.html" title="class in musichub.business">Song</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/AudioBook.html#setLanguage(java.lang.String)">setLanguage(String)</a></span> - Method in class musichub.business.<a href="musichub/business/AudioBook.html" title="class in musichub.business">AudioBook</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><a href="musichub/business/Song.html" title="class in musichub.business"><span class="type-name-link">Song</span></a> - Class in <a href="musichub/business/package-summary.html">musichub.business</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/Song.html#%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String)">Song(String, String, int, String, String)</a></span> - Constructor for class musichub.business.<a href="musichub/business/Song.html" title="class in musichub.business">Song</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/Song.html#%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String)">Song(String, String, int, String, String, String)</a></span> - Constructor for class musichub.business.<a href="musichub/business/Song.html" title="class in musichub.business">Song</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/Song.html#%3Cinit%3E(org.w3c.dom.Element)">Song(Element)</a></span> - Constructor for class musichub.business.<a href="musichub/business/Song.html" title="class in musichub.business">Song</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/Language.html#SPANISH">SPANISH</a></span> - Enum constant in enum class musichub.business.<a href="musichub/business/Language.html" title="enum class in musichub.business">Language</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/Category.html#SPEECH">SPEECH</a></span> - Enum constant in enum class musichub.business.<a href="musichub/business/Category.html" title="enum class in musichub.business">Category</a></dt>
          -<dd>&nbsp;</dd>
          -</dl>
          -<h2 class="title" id="I:T">T</h2>
          -<dl class="index">
          -<dt><span class="member-name-link"><a href="musichub/business/Category.html#THEATER">THEATER</a></span> - Enum constant in enum class musichub.business.<a href="musichub/business/Category.html" title="enum class in musichub.business">Category</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/AudioElement.html#title">title</a></span> - Variable in class musichub.business.<a href="musichub/business/AudioElement.html" title="class in musichub.business">AudioElement</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/AudioBook.html#toString()">toString()</a></span> - Method in class musichub.business.<a href="musichub/business/AudioBook.html" title="class in musichub.business">AudioBook</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/AudioElement.html#toString()">toString()</a></span> - Method in class musichub.business.<a href="musichub/business/AudioElement.html" title="class in musichub.business">AudioElement</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/Song.html#toString()">toString()</a></span> - Method in class musichub.business.<a href="musichub/business/Song.html" title="class in musichub.business">Song</a></dt>
          -<dd>&nbsp;</dd>
          -</dl>
          -<h2 class="title" id="I:U">U</h2>
          -<dl class="index">
          -<dt><span class="member-name-link"><a href="musichub/business/AudioElement.html#uuid">uuid</a></span> - Variable in class musichub.business.<a href="musichub/business/AudioElement.html" title="class in musichub.business">AudioElement</a></dt>
          -<dd>&nbsp;</dd>
          -</dl>
          -<h2 class="title" id="I:V">V</h2>
          -<dl class="index">
          -<dt><span class="member-name-link"><a href="musichub/business/Category.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum class musichub.business.<a href="musichub/business/Category.html" title="enum class in musichub.business">Category</a></dt>
          -<dd>
          -<div class="block">Returns the enum constant of this class with the specified name.</div>
          -</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/Genre.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum class musichub.business.<a href="musichub/business/Genre.html" title="enum class in musichub.business">Genre</a></dt>
          -<dd>
          -<div class="block">Returns the enum constant of this class with the specified name.</div>
          -</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/Language.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum class musichub.business.<a href="musichub/business/Language.html" title="enum class in musichub.business">Language</a></dt>
          -<dd>
          -<div class="block">Returns the enum constant of this class with the specified name.</div>
          -</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/Category.html#values()">values()</a></span> - Static method in enum class musichub.business.<a href="musichub/business/Category.html" title="enum class in musichub.business">Category</a></dt>
          -<dd>
          -<div class="block">Returns an array containing the constants of this enum class, in
          -the order they are declared.</div>
          -</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/Genre.html#values()">values()</a></span> - Static method in enum class musichub.business.<a href="musichub/business/Genre.html" title="enum class in musichub.business">Genre</a></dt>
          -<dd>
          -<div class="block">Returns an array containing the constants of this enum class, in
          -the order they are declared.</div>
          -</dd>
          -<dt><span class="member-name-link"><a href="musichub/business/Language.html#values()">values()</a></span> - Static method in enum class musichub.business.<a href="musichub/business/Language.html" title="enum class in musichub.business">Language</a></dt>
          -<dd>
          -<div class="block">Returns an array containing the constants of this enum class, in
          -the order they are declared.</div>
          -</dd>
          -</dl>
          -<h2 class="title" id="I:W">W</h2>
          -<dl class="index">
          -<dt><span class="member-name-link"><a href="musichub/util/LogHandler.html#write(java.lang.String,java.lang.String)">write(String, String)</a></span> - Static method in class musichub.util.<a href="musichub/util/LogHandler.html" title="class in musichub.util">LogHandler</a></dt>
          -<dd>
          -<div class="block">Method that writes a log message to spoteezer.log</div>
          -</dd>
          -</dl>
          -<h2 class="title" id="I:X">X</h2>
          -<dl class="index">
          -<dt><a href="musichub/util/XMLHandler.html" title="class in musichub.util"><span class="type-name-link">XMLHandler</span></a> - Class in <a href="musichub/util/package-summary.html">musichub.util</a></dt>
          -<dd>&nbsp;</dd>
          -<dt><span class="member-name-link"><a href="musichub/util/XMLHandler.html#%3Cinit%3E()">XMLHandler()</a></span> - Constructor for class musichub.util.<a href="musichub/util/XMLHandler.html" title="class in musichub.util">XMLHandler</a></dt>
          -<dd>&nbsp;</dd>
          -</dl>
          -<h2 class="title" id="I:Y">Y</h2>
          -<dl class="index">
          -<dt><span class="member-name-link"><a href="musichub/business/Category.html#YOUTH">YOUTH</a></span> - Enum constant in enum class musichub.business.<a href="musichub/business/Category.html" title="enum class in musichub.business">Category</a></dt>
          -<dd>&nbsp;</dd>
          -</dl>
          -<a href="#I:A">A</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:D">D</a>&nbsp;<a href="#I:E">E</a>&nbsp;<a href="#I:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:H">H</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:J">J</a>&nbsp;<a href="#I:L">L</a>&nbsp;<a href="#I:M">M</a>&nbsp;<a href="#I:N">N</a>&nbsp;<a href="#I:P">P</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:U">U</a>&nbsp;<a href="#I:V">V</a>&nbsp;<a href="#I:W">W</a>&nbsp;<a href="#I:X">X</a>&nbsp;<a href="#I:Y">Y</a>&nbsp;<br><a href="allclasses-index.html">All&nbsp;Classes</a><span class="vertical-separator">|</span><a href="allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="serialized-form.html">Serialized&nbsp;Form</a></main>
          -<footer role="contentinfo">
          -<hr>
          -<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          -</footer>
          -</div>
          -</div>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/index.html b/target/site/apidocs/index.html
          deleted file mode 100644
          index e5010d9..0000000
          --- a/target/site/apidocs/index.html
          +++ /dev/null
          @@ -1,78 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
          -<title>Overview (spoteezer 0.1.0 API)</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="package index">
          -<meta name="generator" content="javadoc/PackageIndexWriter">
          -<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="jquery-ui.overrides.css" title="Style">
          -<script type="text/javascript" src="script.js"></script>
          -<script type="text/javascript" src="script-dir/jquery-3.5.1.min.js"></script>
          -<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
          -</head>
          -<body class="package-index-page">
          -<script type="text/javascript">var pathtoroot = "./";
          -loadScripts(document, 'script');</script>
          -<noscript>
          -<div>JavaScript is disabled on your browser.</div>
          -</noscript>
          -<div class="flex-box">
          -<header role="banner" class="flex-header">
          -<nav role="navigation">
          -<!-- ========= START OF TOP NAVBAR ======= -->
          -<div class="top-nav" id="navbar.top">
          -<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          -<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          -<li class="nav-bar-cell1-rev">Overview</li>
          -<li>Package</li>
          -<li>Class</li>
          -<li>Use</li>
          -<li><a href="overview-tree.html">Tree</a></li>
          -<li><a href="index-all.html">Index</a></li>
          -<li><a href="help-doc.html">Help</a></li>
          -</ul>
          -</div>
          -<div class="sub-nav">
          -<div class="nav-list-search"><label for="search">SEARCH:</label>
          -<input type="text" id="search" value="search" disabled="disabled">
          -<input type="reset" id="reset" value="reset" disabled="disabled">
          -</div>
          -</div>
          -<!-- ========= END OF TOP NAVBAR ========= -->
          -<span class="skip-nav" id="skip.navbar.top">
          -<!--   -->
          -</span></nav>
          -</header>
          -<div class="flex-content">
          -<main role="main">
          -<div class="header">
          -<h1 class="title">spoteezer 0.1.0 API</h1>
          -</div>
          -<div id="all-packages-table">
          -<div class="caption"><span>Packages</span></div>
          -<div class="summary-table two-column-summary">
          -<div class="table-header col-first">Package</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color all-packages-table-tab1 all-packages-table"><a href="musichub/business/package-summary.html">musichub.business</a></div>
          -<div class="col-last even-row-color all-packages-table-tab1 all-packages-table">&nbsp;</div>
          -<div class="col-first odd-row-color all-packages-table-tab1 all-packages-table"><a href="musichub/main/package-summary.html">musichub.main</a></div>
          -<div class="col-last odd-row-color all-packages-table-tab1 all-packages-table">&nbsp;</div>
          -<div class="col-first even-row-color all-packages-table-tab1 all-packages-table"><a href="musichub/util/package-summary.html">musichub.util</a></div>
          -<div class="col-last even-row-color all-packages-table-tab1 all-packages-table">&nbsp;</div>
          -</div>
          -</div>
          -</main>
          -<footer role="contentinfo">
          -<hr>
          -<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          -</footer>
          -</div>
          -</div>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/jquery-ui.overrides.css b/target/site/apidocs/jquery-ui.overrides.css
          deleted file mode 100644
          index f89acb6..0000000
          --- a/target/site/apidocs/jquery-ui.overrides.css
          +++ /dev/null
          @@ -1,34 +0,0 @@
          -/*
          - * Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved.
          - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
          - *
          - * This code is free software; you can redistribute it and/or modify it
          - * under the terms of the GNU General Public License version 2 only, as
          - * published by the Free Software Foundation.  Oracle designates this
          - * particular file as subject to the "Classpath" exception as provided
          - * by Oracle in the LICENSE file that accompanied this code.
          - *
          - * This code is distributed in the hope that it will be useful, but WITHOUT
          - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
          - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
          - * version 2 for more details (a copy is included in the LICENSE file that
          - * accompanied this code).
          - *
          - * You should have received a copy of the GNU General Public License version
          - * 2 along with this work; if not, write to the Free Software Foundation,
          - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
          - *
          - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
          - * or visit www.oracle.com if you need additional information or have any
          - * questions.
          - */
          -
          -.ui-state-active,
          -.ui-widget-content .ui-state-active,
          -.ui-widget-header .ui-state-active,
          -a.ui-button:active,
          -.ui-button:active,
          -.ui-button.ui-state-active:hover {
          -    /* Overrides the color of selection used in jQuery UI */
          -    background: #F8981D;
          -}
          diff --git a/target/site/apidocs/member-search-index.js b/target/site/apidocs/member-search-index.js
          deleted file mode 100644
          index f583be9..0000000
          --- a/target/site/apidocs/member-search-index.js
          +++ /dev/null
          @@ -1 +0,0 @@
          -memberSearchIndex = [{"p":"musichub.business","c":"MusicHub","l":"addAlbum(Album)","u":"addAlbum(musichub.business.Album)"},{"p":"musichub.business","c":"MusicHub","l":"addElement(AudioElement)","u":"addElement(musichub.business.AudioElement)"},{"p":"musichub.business","c":"PlayList","l":"addElement(UUID)","u":"addElement(java.util.UUID)"},{"p":"musichub.business","c":"MusicHub","l":"addElementToAlbum(String, String)","u":"addElementToAlbum(java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"addElementToPlayList(String, String)","u":"addElementToPlayList(java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"addPlaylist(PlayList)","u":"addPlaylist(musichub.business.PlayList)"},{"p":"musichub.business","c":"Album","l":"addSong(UUID)","u":"addSong(java.util.UUID)"},{"p":"musichub.business","c":"Album","l":"Album(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"Album","l":"Album(String, String, int, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String)"},{"p":"musichub.business","c":"Album","l":"Album(String, String, int, String, String, ArrayList<UUID>)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.util.ArrayList)"},{"p":"musichub.business","c":"MusicHub","l":"ALBUMS_FILE_PATH"},{"p":"musichub.business","c":"MusicHub","l":"albums()"},{"p":"musichub.business","c":"AudioElement","l":"artist"},{"p":"musichub.business","c":"AudioBook","l":"AudioBook(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioBook","l":"AudioBook(String, String, int, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"AudioBook","l":"AudioBook(String, String, int, String, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"AudioElement","l":"AudioElement(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioElement","l":"AudioElement(String, String, int, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String)"},{"p":"musichub.business","c":"AudioElement","l":"AudioElement(String, String, int, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"Genre","l":"CLASSIC"},{"p":"musichub.business","c":"AudioElement","l":"content"},{"p":"musichub.util","c":"XMLHandler","l":"createXMLDocument()"},{"p":"musichub.business","c":"Album","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioBook","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioElement","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"PlayList","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"Song","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.util","c":"XMLHandler","l":"createXMLFile(Document, String)","u":"createXMLFile(org.w3c.dom.Document,java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"deletePlayList(String)","u":"deletePlayList(java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"DIR"},{"p":"musichub.business","c":"Category","l":"DOCUMENTARY"},{"p":"musichub.business","c":"MusicHub","l":"ELEMENTS_FILE_PATH"},{"p":"musichub.business","c":"MusicHub","l":"elements()"},{"p":"musichub.business","c":"Language","l":"ENGLISH"},{"p":"musichub.business","c":"Language","l":"FRENCH"},{"p":"musichub.business","c":"Language","l":"GERMAN"},{"p":"musichub.business","c":"MusicHub","l":"getAlbumSongs(String)","u":"getAlbumSongs(java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"getAlbumSongsSortedByGenre(String)","u":"getAlbumSongsSortedByGenre(java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"getAlbumsTitlesSortedByDate()"},{"p":"musichub.business","c":"AudioElement","l":"getArtist()"},{"p":"musichub.business","c":"MusicHub","l":"getAudiobooksTitlesSortedByAuthor()"},{"p":"musichub.business","c":"MusicHub","l":"getAudioElement(List<AudioElement>, String)","u":"getAudioElement(java.util.List,java.lang.String)"},{"p":"musichub.business","c":"AudioBook","l":"getCategory()"},{"p":"musichub.business","c":"Category","l":"getCategory()"},{"p":"musichub.business","c":"Album","l":"getDate()"},{"p":"musichub.business","c":"PlayList","l":"getElements()"},{"p":"musichub.business","c":"Genre","l":"getGenre()"},{"p":"musichub.business","c":"Song","l":"getGenre()"},{"p":"musichub.business","c":"AudioBook","l":"getLanguage()"},{"p":"musichub.business","c":"Language","l":"getLanguage()"},{"p":"musichub.business","c":"Album","l":"getSongs()"},{"p":"musichub.business","c":"Album","l":"getSongsRandomly()"},{"p":"musichub.business","c":"Album","l":"getTitle()"},{"p":"musichub.business","c":"AudioElement","l":"getTitle()"},{"p":"musichub.business","c":"PlayList","l":"getTitle()"},{"p":"musichub.business","c":"AudioElement","l":"getUUID()"},{"p":"musichub.business","c":"Genre","l":"HIPHOP"},{"p":"musichub.util","c":"PathValidation","l":"isPathValid(String)","u":"isPathValid(java.lang.String)"},{"p":"musichub.business","c":"Language","l":"ITALIAN"},{"p":"musichub.business","c":"Genre","l":"JAZZ"},{"p":"musichub.business","c":"AudioElement","l":"lengthInSeconds"},{"p":"musichub.util","c":"LogHandler","l":"LogHandler()","u":"%3Cinit%3E()"},{"p":"musichub.main","c":"Main","l":"Main()","u":"%3Cinit%3E()"},{"p":"musichub.main","c":"Main","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"musichub.business","c":"AudioElement","l":"manageAudioElement()"},{"p":"musichub.business","c":"MusicHub","l":"MusicHub()","u":"%3Cinit%3E()"},{"p":"musichub.business","c":"NoAlbumFoundException","l":"NoAlbumFoundException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"NoElementFoundException","l":"NoElementFoundException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"NoPlayListFoundException","l":"NoPlayListFoundException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"Category","l":"NOVEL"},{"p":"musichub.util","c":"XMLHandler","l":"parseXMLFile(String)","u":"parseXMLFile(java.lang.String)"},{"p":"musichub.util","c":"PathValidation","l":"PathValidation()","u":"%3Cinit%3E()"},{"p":"musichub.business","c":"PlayList","l":"PlayList(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"PlayList","l":"PlayList(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"PlayList","l":"PlayList(String, String, ArrayList<UUID>)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.util.ArrayList)"},{"p":"musichub.business","c":"MusicHub","l":"PLAYLISTS_FILE_PATH"},{"p":"musichub.business","c":"MusicHub","l":"playlists()"},{"p":"musichub.business","c":"Genre","l":"POP"},{"p":"musichub.business","c":"Genre","l":"RAP"},{"p":"musichub.util","c":"LogHandler","l":"read()"},{"p":"musichub.business","c":"Genre","l":"ROCK"},{"p":"musichub.business","c":"MusicHub","l":"saveAlbums()"},{"p":"musichub.business","c":"MusicHub","l":"saveElements()"},{"p":"musichub.business","c":"MusicHub","l":"savePlayLists()"},{"p":"musichub.business","c":"AudioBook","l":"setCategory(String)","u":"setCategory(java.lang.String)"},{"p":"musichub.business","c":"Song","l":"setGenre(String)","u":"setGenre(java.lang.String)"},{"p":"musichub.business","c":"AudioBook","l":"setLanguage(String)","u":"setLanguage(java.lang.String)"},{"p":"musichub.business","c":"Song","l":"Song(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"Song","l":"Song(String, String, int, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"Song","l":"Song(String, String, int, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"Language","l":"SPANISH"},{"p":"musichub.business","c":"Category","l":"SPEECH"},{"p":"musichub.business","c":"Category","l":"THEATER"},{"p":"musichub.business","c":"AudioElement","l":"title"},{"p":"musichub.business","c":"AudioBook","l":"toString()"},{"p":"musichub.business","c":"AudioElement","l":"toString()"},{"p":"musichub.business","c":"Song","l":"toString()"},{"p":"musichub.business","c":"AudioElement","l":"uuid"},{"p":"musichub.business","c":"Category","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"musichub.business","c":"Genre","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"musichub.business","c":"Language","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"musichub.business","c":"Category","l":"values()"},{"p":"musichub.business","c":"Genre","l":"values()"},{"p":"musichub.business","c":"Language","l":"values()"},{"p":"musichub.util","c":"LogHandler","l":"write(String, String)","u":"write(java.lang.String,java.lang.String)"},{"p":"musichub.util","c":"XMLHandler","l":"XMLHandler()","u":"%3Cinit%3E()"},{"p":"musichub.business","c":"Category","l":"YOUTH"}];updateSearchResults();
          \ No newline at end of file
          diff --git a/target/site/apidocs/module-search-index.js b/target/site/apidocs/module-search-index.js
          deleted file mode 100644
          index 0d59754..0000000
          --- a/target/site/apidocs/module-search-index.js
          +++ /dev/null
          @@ -1 +0,0 @@
          -moduleSearchIndex = [];updateSearchResults();
          \ No newline at end of file
          diff --git a/target/site/apidocs/musichub/business/Album.html b/target/site/apidocs/musichub/business/Album.html
          deleted file mode 100644
          index fd0beaa..0000000
          --- a/target/site/apidocs/musichub/business/Album.html
          +++ /dev/null
          @@ -1,250 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
          -<title>Album (spoteezer 0.1.0 API)</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="declaration: package: musichub.business, class: Album">
          -<meta name="generator" content="javadoc/ClassWriterImpl">
          -<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          -<script type="text/javascript" src="../../script.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          -</head>
          -<body class="class-declaration-page">
          -<script type="text/javascript">var evenRowColor = "even-row-color";
          -var oddRowColor = "odd-row-color";
          -var tableTab = "table-tab";
          -var activeTableTab = "active-table-tab";
          -var pathtoroot = "../../";
          -loadScripts(document, 'script');</script>
          -<noscript>
          -<div>JavaScript is disabled on your browser.</div>
          -</noscript>
          -<div class="flex-box">
          -<header role="banner" class="flex-header">
          -<nav role="navigation">
          -<!-- ========= START OF TOP NAVBAR ======= -->
          -<div class="top-nav" id="navbar.top">
          -<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          -<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          -<li><a href="../../index.html">Overview</a></li>
          -<li><a href="package-summary.html">Package</a></li>
          -<li class="nav-bar-cell1-rev">Class</li>
          -<li><a href="class-use/Album.html">Use</a></li>
          -<li><a href="package-tree.html">Tree</a></li>
          -<li><a href="../../index-all.html">Index</a></li>
          -<li><a href="../../help-doc.html">Help</a></li>
          -</ul>
          -</div>
          -<div class="sub-nav">
          -<div>
          -<ul class="sub-nav-list">
          -<li>Summary:&nbsp;</li>
          -<li>Nested&nbsp;|&nbsp;</li>
          -<li>Field&nbsp;|&nbsp;</li>
          -<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
          -<li><a href="#method.summary">Method</a></li>
          -</ul>
          -<ul class="sub-nav-list">
          -<li>Detail:&nbsp;</li>
          -<li>Field&nbsp;|&nbsp;</li>
          -<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
          -<li><a href="#method.detail">Method</a></li>
          -</ul>
          -</div>
          -<div class="nav-list-search"><label for="search">SEARCH:</label>
          -<input type="text" id="search" value="search" disabled="disabled">
          -<input type="reset" id="reset" value="reset" disabled="disabled">
          -</div>
          -</div>
          -<!-- ========= END OF TOP NAVBAR ========= -->
          -<span class="skip-nav" id="skip.navbar.top">
          -<!--   -->
          -</span></nav>
          -</header>
          -<div class="flex-content">
          -<main role="main">
          -<!-- ======== START OF CLASS DATA ======== -->
          -<div class="header">
          -<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">musichub.business</a></div>
          -<h1 title="Class Album" class="title">Class Album</h1>
          -</div>
          -<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
          -<div class="inheritance">musichub.business.Album</div>
          -</div>
          -<section class="description">
          -<hr>
          -<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">Album</span>
          -<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
          -</section>
          -<section class="summary">
          -<ul class="summary-list">
          -<!-- ======== CONSTRUCTOR SUMMARY ======== -->
          -<li>
          -<section class="constructor-summary" id="constructor.summary">
          -<h2>Constructor Summary</h2>
          -<div class="caption"><span>Constructors</span></div>
          -<div class="summary-table two-column-summary">
          -<div class="table-header col-first">Constructor</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-constructor-name even-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String)">Album</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;title,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;artist,
          - int&nbsp;lengthInSeconds,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;date)</code></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -<div class="col-constructor-name odd-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.util.ArrayList)">Album</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;title,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;artist,
          - int&nbsp;lengthInSeconds,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;id,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;date,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/UUID.html" title="class or interface in java.util" class="external-link">UUID</a>&gt;&nbsp;songsUIDs)</code></div>
          -<div class="col-last odd-row-color">&nbsp;</div>
          -<div class="col-constructor-name even-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E(org.w3c.dom.Element)">Album</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom" class="external-link">Element</a>&nbsp;xmlElement)</code></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -</div>
          -</section>
          -</li>
          -<!-- ========== METHOD SUMMARY =========== -->
          -<li>
          -<section class="method-summary" id="method.summary">
          -<h2>Method Summary</h2>
          -<div id="method-summary-table">
          -<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
          -<div id="method-summary-table.tabpanel" role="tabpanel">
          -<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
          -<div class="table-header col-first">Modifier and Type</div>
          -<div class="table-header col-second">Method</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
          -<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#addSong(java.util.UUID)">addSong</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/UUID.html" title="class or interface in java.util" class="external-link">UUID</a>&nbsp;song)</code></div>
          -<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
          -<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)">createXMLElement</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom" class="external-link">Document</a>&nbsp;document,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom" class="external-link">Element</a>&nbsp;parentElement)</code></div>
          -<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Date.html" title="class or interface in java.util" class="external-link">Date</a></code></div>
          -<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getDate()">getDate</a></span>()</code></div>
          -<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/UUID.html" title="class or interface in java.util" class="external-link">UUID</a>&gt;</code></div>
          -<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getSongs()">getSongs</a></span>()</code></div>
          -<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/UUID.html" title="class or interface in java.util" class="external-link">UUID</a>&gt;</code></div>
          -<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getSongsRandomly()">getSongsRandomly</a></span>()</code></div>
          -<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
          -<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getTitle()">getTitle</a></span>()</code></div>
          -<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -</div>
          -</div>
          -</div>
          -<div class="inherited-list">
          -<h3 id="methods.inherited.from.class.java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
          -<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -<section class="details">
          -<ul class="details-list">
          -<!-- ========= CONSTRUCTOR DETAIL ======== -->
          -<li>
          -<section class="constructor-details" id="constructor.detail">
          -<h2>Constructor Details</h2>
          -<ul class="member-list">
          -<li>
          -<section class="detail" id="&lt;init&gt;(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.util.ArrayList)">
          -<h3>Album</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">Album</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;title,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;artist,
          - int&nbsp;lengthInSeconds,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;id,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;date,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/UUID.html" title="class or interface in java.util" class="external-link">UUID</a>&gt;&nbsp;songsUIDs)</span></div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="&lt;init&gt;(java.lang.String,java.lang.String,int,java.lang.String)">
          -<h3>Album</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">Album</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;title,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;artist,
          - int&nbsp;lengthInSeconds,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;date)</span></div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="&lt;init&gt;(org.w3c.dom.Element)">
          -<h3>Album</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">Album</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom" class="external-link">Element</a>&nbsp;xmlElement)</span>
          -      throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a></span></div>
          -<dl class="notes">
          -<dt>Throws:</dt>
          -<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a></code></dd>
          -</dl>
          -</section>
          -</li>
          -</ul>
          -</section>
          -</li>
          -<!-- ============ METHOD DETAIL ========== -->
          -<li>
          -<section class="method-details" id="method.detail">
          -<h2>Method Details</h2>
          -<ul class="member-list">
          -<li>
          -<section class="detail" id="addSong(java.util.UUID)">
          -<h3>addSong</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">addSong</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/UUID.html" title="class or interface in java.util" class="external-link">UUID</a>&nbsp;song)</span></div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="getSongs()">
          -<h3>getSongs</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/UUID.html" title="class or interface in java.util" class="external-link">UUID</a>&gt;</span>&nbsp;<span class="element-name">getSongs</span>()</div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="getSongsRandomly()">
          -<h3>getSongsRandomly</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/UUID.html" title="class or interface in java.util" class="external-link">UUID</a>&gt;</span>&nbsp;<span class="element-name">getSongsRandomly</span>()</div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="getTitle()">
          -<h3>getTitle</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getTitle</span>()</div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="getDate()">
          -<h3>getDate</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Date.html" title="class or interface in java.util" class="external-link">Date</a></span>&nbsp;<span class="element-name">getDate</span>()</div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)">
          -<h3>createXMLElement</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">createXMLElement</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom" class="external-link">Document</a>&nbsp;document,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom" class="external-link">Element</a>&nbsp;parentElement)</span></div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -</li>
          -</ul>
          -</section>
          -<!-- ========= END OF CLASS DATA ========= -->
          -</main>
          -<footer role="contentinfo">
          -<hr>
          -<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          -</footer>
          -</div>
          -</div>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/musichub/business/AudioBook.html b/target/site/apidocs/musichub/business/AudioBook.html
          deleted file mode 100644
          index 211e1b0..0000000
          --- a/target/site/apidocs/musichub/business/AudioBook.html
          +++ /dev/null
          @@ -1,273 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
          -<title>AudioBook (spoteezer 0.1.0 API)</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="declaration: package: musichub.business, class: AudioBook">
          -<meta name="generator" content="javadoc/ClassWriterImpl">
          -<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          -<script type="text/javascript" src="../../script.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          -</head>
          -<body class="class-declaration-page">
          -<script type="text/javascript">var evenRowColor = "even-row-color";
          -var oddRowColor = "odd-row-color";
          -var tableTab = "table-tab";
          -var activeTableTab = "active-table-tab";
          -var pathtoroot = "../../";
          -loadScripts(document, 'script');</script>
          -<noscript>
          -<div>JavaScript is disabled on your browser.</div>
          -</noscript>
          -<div class="flex-box">
          -<header role="banner" class="flex-header">
          -<nav role="navigation">
          -<!-- ========= START OF TOP NAVBAR ======= -->
          -<div class="top-nav" id="navbar.top">
          -<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          -<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          -<li><a href="../../index.html">Overview</a></li>
          -<li><a href="package-summary.html">Package</a></li>
          -<li class="nav-bar-cell1-rev">Class</li>
          -<li><a href="class-use/AudioBook.html">Use</a></li>
          -<li><a href="package-tree.html">Tree</a></li>
          -<li><a href="../../index-all.html">Index</a></li>
          -<li><a href="../../help-doc.html">Help</a></li>
          -</ul>
          -</div>
          -<div class="sub-nav">
          -<div>
          -<ul class="sub-nav-list">
          -<li>Summary:&nbsp;</li>
          -<li>Nested&nbsp;|&nbsp;</li>
          -<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
          -<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
          -<li><a href="#method.summary">Method</a></li>
          -</ul>
          -<ul class="sub-nav-list">
          -<li>Detail:&nbsp;</li>
          -<li>Field&nbsp;|&nbsp;</li>
          -<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
          -<li><a href="#method.detail">Method</a></li>
          -</ul>
          -</div>
          -<div class="nav-list-search"><label for="search">SEARCH:</label>
          -<input type="text" id="search" value="search" disabled="disabled">
          -<input type="reset" id="reset" value="reset" disabled="disabled">
          -</div>
          -</div>
          -<!-- ========= END OF TOP NAVBAR ========= -->
          -<span class="skip-nav" id="skip.navbar.top">
          -<!--   -->
          -</span></nav>
          -</header>
          -<div class="flex-content">
          -<main role="main">
          -<!-- ======== START OF CLASS DATA ======== -->
          -<div class="header">
          -<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">musichub.business</a></div>
          -<h1 title="Class AudioBook" class="title">Class AudioBook</h1>
          -</div>
          -<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
          -<div class="inheritance"><a href="AudioElement.html" title="class in musichub.business">musichub.business.AudioElement</a>
          -<div class="inheritance">musichub.business.AudioBook</div>
          -</div>
          -</div>
          -<section class="description">
          -<hr>
          -<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">AudioBook</span>
          -<span class="extends-implements">extends <a href="AudioElement.html" title="class in musichub.business">AudioElement</a></span></div>
          -</section>
          -<section class="summary">
          -<ul class="summary-list">
          -<!-- =========== FIELD SUMMARY =========== -->
          -<li>
          -<section class="field-summary" id="field.summary">
          -<h2>Field Summary</h2>
          -<div class="inherited-list">
          -<h3 id="fields.inherited.from.class.musichub.business.AudioElement">Fields inherited from class&nbsp;musichub.business.<a href="AudioElement.html" title="class in musichub.business">AudioElement</a></h3>
          -<code><a href="AudioElement.html#artist">artist</a>, <a href="AudioElement.html#content">content</a>, <a href="AudioElement.html#lengthInSeconds">lengthInSeconds</a>, <a href="AudioElement.html#title">title</a>, <a href="AudioElement.html#uuid">uuid</a></code></div>
          -</section>
          -</li>
          -<!-- ======== CONSTRUCTOR SUMMARY ======== -->
          -<li>
          -<section class="constructor-summary" id="constructor.summary">
          -<h2>Constructor Summary</h2>
          -<div class="caption"><span>Constructors</span></div>
          -<div class="summary-table two-column-summary">
          -<div class="table-header col-first">Constructor</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-constructor-name even-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String)">AudioBook</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;title,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;artist,
          - int&nbsp;lengthInSeconds,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;content,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;language,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;category)</code></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -<div class="col-constructor-name odd-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String)">AudioBook</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;title,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;artist,
          - int&nbsp;lengthInSeconds,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;uid,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;content,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;language,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;category)</code></div>
          -<div class="col-last odd-row-color">&nbsp;</div>
          -<div class="col-constructor-name even-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E(org.w3c.dom.Element)">AudioBook</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom" class="external-link">Element</a>&nbsp;xmlElement)</code></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -</div>
          -</section>
          -</li>
          -<!-- ========== METHOD SUMMARY =========== -->
          -<li>
          -<section class="method-summary" id="method.summary">
          -<h2>Method Summary</h2>
          -<div id="method-summary-table">
          -<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
          -<div id="method-summary-table.tabpanel" role="tabpanel">
          -<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
          -<div class="table-header col-first">Modifier and Type</div>
          -<div class="table-header col-second">Method</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
          -<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)">createXMLElement</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom" class="external-link">Document</a>&nbsp;document,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom" class="external-link">Element</a>&nbsp;parentElement)</code></div>
          -<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="Category.html" title="enum class in musichub.business">Category</a></code></div>
          -<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getCategory()">getCategory</a></span>()</code></div>
          -<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="Language.html" title="enum class in musichub.business">Language</a></code></div>
          -<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getLanguage()">getLanguage</a></span>()</code></div>
          -<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
          -<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#setCategory(java.lang.String)">setCategory</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;category)</code></div>
          -<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
          -<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#setLanguage(java.lang.String)">setLanguage</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;language)</code></div>
          -<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
          -<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#toString()">toString</a></span>()</code></div>
          -<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -</div>
          -</div>
          -</div>
          -<div class="inherited-list">
          -<h3 id="methods.inherited.from.class.musichub.business.AudioElement">Methods inherited from class&nbsp;musichub.business.<a href="AudioElement.html" title="class in musichub.business">AudioElement</a></h3>
          -<code><a href="AudioElement.html#getArtist()">getArtist</a>, <a href="AudioElement.html#getTitle()">getTitle</a>, <a href="AudioElement.html#getUUID()">getUUID</a>, <a href="AudioElement.html#manageAudioElement()">manageAudioElement</a></code></div>
          -<div class="inherited-list">
          -<h3 id="methods.inherited.from.class.java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
          -<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -<section class="details">
          -<ul class="details-list">
          -<!-- ========= CONSTRUCTOR DETAIL ======== -->
          -<li>
          -<section class="constructor-details" id="constructor.detail">
          -<h2>Constructor Details</h2>
          -<ul class="member-list">
          -<li>
          -<section class="detail" id="&lt;init&gt;(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String)">
          -<h3>AudioBook</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">AudioBook</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;title,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;artist,
          - int&nbsp;lengthInSeconds,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;uid,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;content,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;language,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;category)</span></div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="&lt;init&gt;(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String)">
          -<h3>AudioBook</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">AudioBook</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;title,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;artist,
          - int&nbsp;lengthInSeconds,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;content,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;language,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;category)</span></div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="&lt;init&gt;(org.w3c.dom.Element)">
          -<h3>AudioBook</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">AudioBook</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom" class="external-link">Element</a>&nbsp;xmlElement)</span></div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -</li>
          -<!-- ============ METHOD DETAIL ========== -->
          -<li>
          -<section class="method-details" id="method.detail">
          -<h2>Method Details</h2>
          -<ul class="member-list">
          -<li>
          -<section class="detail" id="getLanguage()">
          -<h3>getLanguage</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="Language.html" title="enum class in musichub.business">Language</a></span>&nbsp;<span class="element-name">getLanguage</span>()</div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="setLanguage(java.lang.String)">
          -<h3>setLanguage</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setLanguage</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;language)</span></div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="getCategory()">
          -<h3>getCategory</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="Category.html" title="enum class in musichub.business">Category</a></span>&nbsp;<span class="element-name">getCategory</span>()</div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="setCategory(java.lang.String)">
          -<h3>setCategory</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setCategory</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;category)</span></div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="toString()">
          -<h3>toString</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">toString</span>()</div>
          -<dl class="notes">
          -<dt>Overrides:</dt>
          -<dd><code><a href="AudioElement.html#toString()">toString</a></code>&nbsp;in class&nbsp;<code><a href="AudioElement.html" title="class in musichub.business">AudioElement</a></code></dd>
          -</dl>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)">
          -<h3>createXMLElement</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">createXMLElement</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom" class="external-link">Document</a>&nbsp;document,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom" class="external-link">Element</a>&nbsp;parentElement)</span></div>
          -<dl class="notes">
          -<dt>Overrides:</dt>
          -<dd><code><a href="AudioElement.html#createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)">createXMLElement</a></code>&nbsp;in class&nbsp;<code><a href="AudioElement.html" title="class in musichub.business">AudioElement</a></code></dd>
          -</dl>
          -</section>
          -</li>
          -</ul>
          -</section>
          -</li>
          -</ul>
          -</section>
          -<!-- ========= END OF CLASS DATA ========= -->
          -</main>
          -<footer role="contentinfo">
          -<hr>
          -<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          -</footer>
          -</div>
          -</div>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/musichub/business/AudioElement.html b/target/site/apidocs/musichub/business/AudioElement.html
          deleted file mode 100644
          index fe6ad42..0000000
          --- a/target/site/apidocs/musichub/business/AudioElement.html
          +++ /dev/null
          @@ -1,325 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
          -<title>AudioElement (spoteezer 0.1.0 API)</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="declaration: package: musichub.business, class: AudioElement">
          -<meta name="generator" content="javadoc/ClassWriterImpl">
          -<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          -<script type="text/javascript" src="../../script.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          -</head>
          -<body class="class-declaration-page">
          -<script type="text/javascript">var evenRowColor = "even-row-color";
          -var oddRowColor = "odd-row-color";
          -var tableTab = "table-tab";
          -var activeTableTab = "active-table-tab";
          -var pathtoroot = "../../";
          -loadScripts(document, 'script');</script>
          -<noscript>
          -<div>JavaScript is disabled on your browser.</div>
          -</noscript>
          -<div class="flex-box">
          -<header role="banner" class="flex-header">
          -<nav role="navigation">
          -<!-- ========= START OF TOP NAVBAR ======= -->
          -<div class="top-nav" id="navbar.top">
          -<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          -<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          -<li><a href="../../index.html">Overview</a></li>
          -<li><a href="package-summary.html">Package</a></li>
          -<li class="nav-bar-cell1-rev">Class</li>
          -<li><a href="class-use/AudioElement.html">Use</a></li>
          -<li><a href="package-tree.html">Tree</a></li>
          -<li><a href="../../index-all.html">Index</a></li>
          -<li><a href="../../help-doc.html">Help</a></li>
          -</ul>
          -</div>
          -<div class="sub-nav">
          -<div>
          -<ul class="sub-nav-list">
          -<li>Summary:&nbsp;</li>
          -<li>Nested&nbsp;|&nbsp;</li>
          -<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
          -<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
          -<li><a href="#method.summary">Method</a></li>
          -</ul>
          -<ul class="sub-nav-list">
          -<li>Detail:&nbsp;</li>
          -<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
          -<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
          -<li><a href="#method.detail">Method</a></li>
          -</ul>
          -</div>
          -<div class="nav-list-search"><label for="search">SEARCH:</label>
          -<input type="text" id="search" value="search" disabled="disabled">
          -<input type="reset" id="reset" value="reset" disabled="disabled">
          -</div>
          -</div>
          -<!-- ========= END OF TOP NAVBAR ========= -->
          -<span class="skip-nav" id="skip.navbar.top">
          -<!--   -->
          -</span></nav>
          -</header>
          -<div class="flex-content">
          -<main role="main">
          -<!-- ======== START OF CLASS DATA ======== -->
          -<div class="header">
          -<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">musichub.business</a></div>
          -<h1 title="Class AudioElement" class="title">Class AudioElement</h1>
          -</div>
          -<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
          -<div class="inheritance">musichub.business.AudioElement</div>
          -</div>
          -<section class="description">
          -<dl class="notes">
          -<dt>Direct Known Subclasses:</dt>
          -<dd><code><a href="AudioBook.html" title="class in musichub.business">AudioBook</a></code>, <code><a href="Song.html" title="class in musichub.business">Song</a></code></dd>
          -</dl>
          -<hr>
          -<div class="type-signature"><span class="modifiers">public abstract class </span><span class="element-name type-name-label">AudioElement</span>
          -<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
          -</section>
          -<section class="summary">
          -<ul class="summary-list">
          -<!-- =========== FIELD SUMMARY =========== -->
          -<li>
          -<section class="field-summary" id="field.summary">
          -<h2>Field Summary</h2>
          -<div class="caption"><span>Fields</span></div>
          -<div class="summary-table three-column-summary">
          -<div class="table-header col-first">Modifier and Type</div>
          -<div class="table-header col-second">Field</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color"><code>protected <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
          -<div class="col-second even-row-color"><code><span class="member-name-link"><a href="#artist">artist</a></span></code></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -<div class="col-first odd-row-color"><code>protected <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
          -<div class="col-second odd-row-color"><code><span class="member-name-link"><a href="#content">content</a></span></code></div>
          -<div class="col-last odd-row-color">&nbsp;</div>
          -<div class="col-first even-row-color"><code>protected int</code></div>
          -<div class="col-second even-row-color"><code><span class="member-name-link"><a href="#lengthInSeconds">lengthInSeconds</a></span></code></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -<div class="col-first odd-row-color"><code>protected <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
          -<div class="col-second odd-row-color"><code><span class="member-name-link"><a href="#title">title</a></span></code></div>
          -<div class="col-last odd-row-color">&nbsp;</div>
          -<div class="col-first even-row-color"><code>protected <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/UUID.html" title="class or interface in java.util" class="external-link">UUID</a></code></div>
          -<div class="col-second even-row-color"><code><span class="member-name-link"><a href="#uuid">uuid</a></span></code></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -</div>
          -</section>
          -</li>
          -<!-- ======== CONSTRUCTOR SUMMARY ======== -->
          -<li>
          -<section class="constructor-summary" id="constructor.summary">
          -<h2>Constructor Summary</h2>
          -<div class="caption"><span>Constructors</span></div>
          -<div class="summary-table two-column-summary">
          -<div class="table-header col-first">Constructor</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-constructor-name even-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String)">AudioElement</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;title,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;artist,
          - int&nbsp;lengthInSeconds,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;content)</code></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -<div class="col-constructor-name odd-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String)">AudioElement</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;title,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;artist,
          - int&nbsp;lengthInSeconds,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;id,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;content)</code></div>
          -<div class="col-last odd-row-color">&nbsp;</div>
          -<div class="col-constructor-name even-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E(org.w3c.dom.Element)">AudioElement</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom" class="external-link">Element</a>&nbsp;xmlElement)</code></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -</div>
          -</section>
          -</li>
          -<!-- ========== METHOD SUMMARY =========== -->
          -<li>
          -<section class="method-summary" id="method.summary">
          -<h2>Method Summary</h2>
          -<div id="method-summary-table">
          -<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
          -<div id="method-summary-table.tabpanel" role="tabpanel">
          -<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
          -<div class="table-header col-first">Modifier and Type</div>
          -<div class="table-header col-second">Method</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
          -<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)">createXMLElement</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom" class="external-link">Document</a>&nbsp;document,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom" class="external-link">Element</a>&nbsp;parentElement)</code></div>
          -<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
          -<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getArtist()">getArtist</a></span>()</code></div>
          -<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
          -<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getTitle()">getTitle</a></span>()</code></div>
          -<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/UUID.html" title="class or interface in java.util" class="external-link">UUID</a></code></div>
          -<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getUUID()">getUUID</a></span>()</code></div>
          -<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
          -<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#manageAudioElement()">manageAudioElement</a></span>()</code></div>
          -<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
          -<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#toString()">toString</a></span>()</code></div>
          -<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -</div>
          -</div>
          -</div>
          -<div class="inherited-list">
          -<h3 id="methods.inherited.from.class.java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
          -<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -<section class="details">
          -<ul class="details-list">
          -<!-- ============ FIELD DETAIL =========== -->
          -<li>
          -<section class="field-details" id="field.detail">
          -<h2>Field Details</h2>
          -<ul class="member-list">
          -<li>
          -<section class="detail" id="title">
          -<h3>title</h3>
          -<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">title</span></div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="artist">
          -<h3>artist</h3>
          -<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">artist</span></div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="lengthInSeconds">
          -<h3>lengthInSeconds</h3>
          -<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">lengthInSeconds</span></div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="uuid">
          -<h3>uuid</h3>
          -<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/UUID.html" title="class or interface in java.util" class="external-link">UUID</a></span>&nbsp;<span class="element-name">uuid</span></div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="content">
          -<h3>content</h3>
          -<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">content</span></div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -</li>
          -<!-- ========= CONSTRUCTOR DETAIL ======== -->
          -<li>
          -<section class="constructor-details" id="constructor.detail">
          -<h2>Constructor Details</h2>
          -<ul class="member-list">
          -<li>
          -<section class="detail" id="&lt;init&gt;(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String)">
          -<h3>AudioElement</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">AudioElement</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;title,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;artist,
          - int&nbsp;lengthInSeconds,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;id,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;content)</span></div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="&lt;init&gt;(java.lang.String,java.lang.String,int,java.lang.String)">
          -<h3>AudioElement</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">AudioElement</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;title,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;artist,
          - int&nbsp;lengthInSeconds,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;content)</span></div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="&lt;init&gt;(org.w3c.dom.Element)">
          -<h3>AudioElement</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">AudioElement</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom" class="external-link">Element</a>&nbsp;xmlElement)</span></div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -</li>
          -<!-- ============ METHOD DETAIL ========== -->
          -<li>
          -<section class="method-details" id="method.detail">
          -<h2>Method Details</h2>
          -<ul class="member-list">
          -<li>
          -<section class="detail" id="getUUID()">
          -<h3>getUUID</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/UUID.html" title="class or interface in java.util" class="external-link">UUID</a></span>&nbsp;<span class="element-name">getUUID</span>()</div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="getArtist()">
          -<h3>getArtist</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getArtist</span>()</div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="getTitle()">
          -<h3>getTitle</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getTitle</span>()</div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="toString()">
          -<h3>toString</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">toString</span>()</div>
          -<dl class="notes">
          -<dt>Overrides:</dt>
          -<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></code></dd>
          -</dl>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)">
          -<h3>createXMLElement</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">createXMLElement</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom" class="external-link">Document</a>&nbsp;document,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom" class="external-link">Element</a>&nbsp;parentElement)</span></div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="manageAudioElement()">
          -<h3>manageAudioElement</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">manageAudioElement</span>()
          -                        throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/javax/sound/sampled/UnsupportedAudioFileException.html" title="class or interface in javax.sound.sampled" class="external-link">UnsupportedAudioFileException</a>,
          -<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a>,
          -<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/javax/sound/sampled/LineUnavailableException.html" title="class or interface in javax.sound.sampled" class="external-link">LineUnavailableException</a></span></div>
          -<dl class="notes">
          -<dt>Throws:</dt>
          -<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/javax/sound/sampled/UnsupportedAudioFileException.html" title="class or interface in javax.sound.sampled" class="external-link">UnsupportedAudioFileException</a></code></dd>
          -<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
          -<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/javax/sound/sampled/LineUnavailableException.html" title="class or interface in javax.sound.sampled" class="external-link">LineUnavailableException</a></code></dd>
          -</dl>
          -</section>
          -</li>
          -</ul>
          -</section>
          -</li>
          -</ul>
          -</section>
          -<!-- ========= END OF CLASS DATA ========= -->
          -</main>
          -<footer role="contentinfo">
          -<hr>
          -<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          -</footer>
          -</div>
          -</div>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/musichub/business/Category.html b/target/site/apidocs/musichub/business/Category.html
          deleted file mode 100644
          index 4266493..0000000
          --- a/target/site/apidocs/musichub/business/Category.html
          +++ /dev/null
          @@ -1,258 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
          -<title>Category (spoteezer 0.1.0 API)</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="declaration: package: musichub.business, enum: Category">
          -<meta name="generator" content="javadoc/ClassWriterImpl">
          -<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          -<script type="text/javascript" src="../../script.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          -</head>
          -<body class="class-declaration-page">
          -<script type="text/javascript">var evenRowColor = "even-row-color";
          -var oddRowColor = "odd-row-color";
          -var tableTab = "table-tab";
          -var activeTableTab = "active-table-tab";
          -var pathtoroot = "../../";
          -loadScripts(document, 'script');</script>
          -<noscript>
          -<div>JavaScript is disabled on your browser.</div>
          -</noscript>
          -<div class="flex-box">
          -<header role="banner" class="flex-header">
          -<nav role="navigation">
          -<!-- ========= START OF TOP NAVBAR ======= -->
          -<div class="top-nav" id="navbar.top">
          -<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          -<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          -<li><a href="../../index.html">Overview</a></li>
          -<li><a href="package-summary.html">Package</a></li>
          -<li class="nav-bar-cell1-rev">Class</li>
          -<li><a href="class-use/Category.html">Use</a></li>
          -<li><a href="package-tree.html">Tree</a></li>
          -<li><a href="../../index-all.html">Index</a></li>
          -<li><a href="../../help-doc.html">Help</a></li>
          -</ul>
          -</div>
          -<div class="sub-nav">
          -<div>
          -<ul class="sub-nav-list">
          -<li>Summary:&nbsp;</li>
          -<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
          -<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
          -<li>Field&nbsp;|&nbsp;</li>
          -<li><a href="#method.summary">Method</a></li>
          -</ul>
          -<ul class="sub-nav-list">
          -<li>Detail:&nbsp;</li>
          -<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
          -<li>Field&nbsp;|&nbsp;</li>
          -<li><a href="#method.detail">Method</a></li>
          -</ul>
          -</div>
          -<div class="nav-list-search"><label for="search">SEARCH:</label>
          -<input type="text" id="search" value="search" disabled="disabled">
          -<input type="reset" id="reset" value="reset" disabled="disabled">
          -</div>
          -</div>
          -<!-- ========= END OF TOP NAVBAR ========= -->
          -<span class="skip-nav" id="skip.navbar.top">
          -<!--   -->
          -</span></nav>
          -</header>
          -<div class="flex-content">
          -<main role="main">
          -<!-- ======== START OF CLASS DATA ======== -->
          -<div class="header">
          -<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">musichub.business</a></div>
          -<h1 title="Enum Class Category" class="title">Enum Class Category</h1>
          -</div>
          -<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
          -<div class="inheritance"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">java.lang.Enum</a>&lt;<a href="Category.html" title="enum class in musichub.business">Category</a>&gt;
          -<div class="inheritance">musichub.business.Category</div>
          -</div>
          -</div>
          -<section class="description">
          -<dl class="notes">
          -<dt>All Implemented Interfaces:</dt>
          -<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a></code>, <code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Comparable.html" title="class or interface in java.lang" class="external-link">Comparable</a>&lt;<a href="Category.html" title="enum class in musichub.business">Category</a>&gt;</code>, <code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/constant/Constable.html" title="class or interface in java.lang.constant" class="external-link">Constable</a></code></dd>
          -</dl>
          -<hr>
          -<div class="type-signature"><span class="modifiers">public enum </span><span class="element-name type-name-label">Category</span>
          -<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">Enum</a>&lt;<a href="Category.html" title="enum class in musichub.business">Category</a>&gt;</span></div>
          -</section>
          -<section class="summary">
          -<ul class="summary-list">
          -<!-- ======== NESTED CLASS SUMMARY ======== -->
          -<li>
          -<section class="nested-class-summary" id="nested.class.summary">
          -<h2>Nested Class Summary</h2>
          -<div class="inherited-list">
          -<h2 id="nested.classes.inherited.from.class.java.lang.Enum">Nested classes/interfaces inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">Enum</a></h2>
          -<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.EnumDesc.html" title="class or interface in java.lang" class="external-link">Enum.EnumDesc</a>&lt;<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.EnumDesc.html" title="class or interface in java.lang" class="external-link">E</a> extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">Enum</a>&lt;<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.EnumDesc.html" title="class or interface in java.lang" class="external-link">E</a>&gt;&gt;</code></div>
          -</section>
          -</li>
          -<!-- =========== ENUM CONSTANT SUMMARY =========== -->
          -<li>
          -<section class="constants-summary" id="enum.constant.summary">
          -<h2>Enum Constant Summary</h2>
          -<div class="caption"><span>Enum Constants</span></div>
          -<div class="summary-table two-column-summary">
          -<div class="table-header col-first">Enum Constant</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color"><code><span class="member-name-link"><a href="#DOCUMENTARY">DOCUMENTARY</a></span></code></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -<div class="col-first odd-row-color"><code><span class="member-name-link"><a href="#NOVEL">NOVEL</a></span></code></div>
          -<div class="col-last odd-row-color">&nbsp;</div>
          -<div class="col-first even-row-color"><code><span class="member-name-link"><a href="#SPEECH">SPEECH</a></span></code></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -<div class="col-first odd-row-color"><code><span class="member-name-link"><a href="#THEATER">THEATER</a></span></code></div>
          -<div class="col-last odd-row-color">&nbsp;</div>
          -<div class="col-first even-row-color"><code><span class="member-name-link"><a href="#YOUTH">YOUTH</a></span></code></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -</div>
          -</section>
          -</li>
          -<!-- ========== METHOD SUMMARY =========== -->
          -<li>
          -<section class="method-summary" id="method.summary">
          -<h2>Method Summary</h2>
          -<div id="method-summary-table">
          -<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
          -<div id="method-summary-table.tabpanel" role="tabpanel">
          -<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
          -<div class="table-header col-first">Modifier and Type</div>
          -<div class="table-header col-second">Method</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
          -<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getCategory()">getCategory</a></span>()</code></div>
          -<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -<div class="col-first odd-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table"><code>static <a href="Category.html" title="enum class in musichub.business">Category</a></code></div>
          -<div class="col-second odd-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#valueOf(java.lang.String)">valueOf</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</code></div>
          -<div class="col-last odd-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table">
          -<div class="block">Returns the enum constant of this class with the specified name.</div>
          -</div>
          -<div class="col-first even-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table"><code>static <a href="Category.html" title="enum class in musichub.business">Category</a>[]</code></div>
          -<div class="col-second even-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#values()">values</a></span>()</code></div>
          -<div class="col-last even-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table">
          -<div class="block">Returns an array containing the constants of this enum class, in
          -the order they are declared.</div>
          -</div>
          -</div>
          -</div>
          -</div>
          -<div class="inherited-list">
          -<h3 id="methods.inherited.from.class.java.lang.Enum">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">Enum</a></h3>
          -<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#compareTo(E)" title="class or interface in java.lang" class="external-link">compareTo</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#describeConstable()" title="class or interface in java.lang" class="external-link">describeConstable</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#getDeclaringClass()" title="class or interface in java.lang" class="external-link">getDeclaringClass</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#name()" title="class or interface in java.lang" class="external-link">name</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#ordinal()" title="class or interface in java.lang" class="external-link">ordinal</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#valueOf(java.lang.Class,java.lang.String)" title="class or interface in java.lang" class="external-link">valueOf</a></code></div>
          -<div class="inherited-list">
          -<h3 id="methods.inherited.from.class.java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
          -<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -<section class="details">
          -<ul class="details-list">
          -<!-- ============ ENUM CONSTANT DETAIL =========== -->
          -<li>
          -<section class="constant-details" id="enum.constant.detail">
          -<h2>Enum Constant Details</h2>
          -<ul class="member-list">
          -<li>
          -<section class="detail" id="YOUTH">
          -<h3>YOUTH</h3>
          -<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Category.html" title="enum class in musichub.business">Category</a></span>&nbsp;<span class="element-name">YOUTH</span></div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="NOVEL">
          -<h3>NOVEL</h3>
          -<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Category.html" title="enum class in musichub.business">Category</a></span>&nbsp;<span class="element-name">NOVEL</span></div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="THEATER">
          -<h3>THEATER</h3>
          -<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Category.html" title="enum class in musichub.business">Category</a></span>&nbsp;<span class="element-name">THEATER</span></div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="DOCUMENTARY">
          -<h3>DOCUMENTARY</h3>
          -<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Category.html" title="enum class in musichub.business">Category</a></span>&nbsp;<span class="element-name">DOCUMENTARY</span></div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="SPEECH">
          -<h3>SPEECH</h3>
          -<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Category.html" title="enum class in musichub.business">Category</a></span>&nbsp;<span class="element-name">SPEECH</span></div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -</li>
          -<!-- ============ METHOD DETAIL ========== -->
          -<li>
          -<section class="method-details" id="method.detail">
          -<h2>Method Details</h2>
          -<ul class="member-list">
          -<li>
          -<section class="detail" id="values()">
          -<h3>values</h3>
          -<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="Category.html" title="enum class in musichub.business">Category</a>[]</span>&nbsp;<span class="element-name">values</span>()</div>
          -<div class="block">Returns an array containing the constants of this enum class, in
          -the order they are declared.</div>
          -<dl class="notes">
          -<dt>Returns:</dt>
          -<dd>an array containing the constants of this enum class, in the order they are declared</dd>
          -</dl>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="valueOf(java.lang.String)">
          -<h3>valueOf</h3>
          -<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="Category.html" title="enum class in musichub.business">Category</a></span>&nbsp;<span class="element-name">valueOf</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</span></div>
          -<div class="block">Returns the enum constant of this class with the specified name.
          -The string must match <i>exactly</i> an identifier used to declare an
          -enum constant in this class.  (Extraneous whitespace characters are 
          -not permitted.)</div>
          -<dl class="notes">
          -<dt>Parameters:</dt>
          -<dd><code>name</code> - the name of the enum constant to be returned.</dd>
          -<dt>Returns:</dt>
          -<dd>the enum constant with the specified name</dd>
          -<dt>Throws:</dt>
          -<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if this enum class has no constant with the specified name</dd>
          -<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/NullPointerException.html" title="class or interface in java.lang" class="external-link">NullPointerException</a></code> - if the argument is null</dd>
          -</dl>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="getCategory()">
          -<h3>getCategory</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getCategory</span>()</div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -</li>
          -</ul>
          -</section>
          -<!-- ========= END OF CLASS DATA ========= -->
          -</main>
          -<footer role="contentinfo">
          -<hr>
          -<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          -</footer>
          -</div>
          -</div>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/musichub/business/Genre.html b/target/site/apidocs/musichub/business/Genre.html
          deleted file mode 100644
          index 96e2762..0000000
          --- a/target/site/apidocs/musichub/business/Genre.html
          +++ /dev/null
          @@ -1,266 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
          -<title>Genre (spoteezer 0.1.0 API)</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="declaration: package: musichub.business, enum: Genre">
          -<meta name="generator" content="javadoc/ClassWriterImpl">
          -<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          -<script type="text/javascript" src="../../script.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          -</head>
          -<body class="class-declaration-page">
          -<script type="text/javascript">var evenRowColor = "even-row-color";
          -var oddRowColor = "odd-row-color";
          -var tableTab = "table-tab";
          -var activeTableTab = "active-table-tab";
          -var pathtoroot = "../../";
          -loadScripts(document, 'script');</script>
          -<noscript>
          -<div>JavaScript is disabled on your browser.</div>
          -</noscript>
          -<div class="flex-box">
          -<header role="banner" class="flex-header">
          -<nav role="navigation">
          -<!-- ========= START OF TOP NAVBAR ======= -->
          -<div class="top-nav" id="navbar.top">
          -<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          -<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          -<li><a href="../../index.html">Overview</a></li>
          -<li><a href="package-summary.html">Package</a></li>
          -<li class="nav-bar-cell1-rev">Class</li>
          -<li><a href="class-use/Genre.html">Use</a></li>
          -<li><a href="package-tree.html">Tree</a></li>
          -<li><a href="../../index-all.html">Index</a></li>
          -<li><a href="../../help-doc.html">Help</a></li>
          -</ul>
          -</div>
          -<div class="sub-nav">
          -<div>
          -<ul class="sub-nav-list">
          -<li>Summary:&nbsp;</li>
          -<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
          -<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
          -<li>Field&nbsp;|&nbsp;</li>
          -<li><a href="#method.summary">Method</a></li>
          -</ul>
          -<ul class="sub-nav-list">
          -<li>Detail:&nbsp;</li>
          -<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
          -<li>Field&nbsp;|&nbsp;</li>
          -<li><a href="#method.detail">Method</a></li>
          -</ul>
          -</div>
          -<div class="nav-list-search"><label for="search">SEARCH:</label>
          -<input type="text" id="search" value="search" disabled="disabled">
          -<input type="reset" id="reset" value="reset" disabled="disabled">
          -</div>
          -</div>
          -<!-- ========= END OF TOP NAVBAR ========= -->
          -<span class="skip-nav" id="skip.navbar.top">
          -<!--   -->
          -</span></nav>
          -</header>
          -<div class="flex-content">
          -<main role="main">
          -<!-- ======== START OF CLASS DATA ======== -->
          -<div class="header">
          -<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">musichub.business</a></div>
          -<h1 title="Enum Class Genre" class="title">Enum Class Genre</h1>
          -</div>
          -<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
          -<div class="inheritance"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">java.lang.Enum</a>&lt;<a href="Genre.html" title="enum class in musichub.business">Genre</a>&gt;
          -<div class="inheritance">musichub.business.Genre</div>
          -</div>
          -</div>
          -<section class="description">
          -<dl class="notes">
          -<dt>All Implemented Interfaces:</dt>
          -<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a></code>, <code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Comparable.html" title="class or interface in java.lang" class="external-link">Comparable</a>&lt;<a href="Genre.html" title="enum class in musichub.business">Genre</a>&gt;</code>, <code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/constant/Constable.html" title="class or interface in java.lang.constant" class="external-link">Constable</a></code></dd>
          -</dl>
          -<hr>
          -<div class="type-signature"><span class="modifiers">public enum </span><span class="element-name type-name-label">Genre</span>
          -<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">Enum</a>&lt;<a href="Genre.html" title="enum class in musichub.business">Genre</a>&gt;</span></div>
          -</section>
          -<section class="summary">
          -<ul class="summary-list">
          -<!-- ======== NESTED CLASS SUMMARY ======== -->
          -<li>
          -<section class="nested-class-summary" id="nested.class.summary">
          -<h2>Nested Class Summary</h2>
          -<div class="inherited-list">
          -<h2 id="nested.classes.inherited.from.class.java.lang.Enum">Nested classes/interfaces inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">Enum</a></h2>
          -<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.EnumDesc.html" title="class or interface in java.lang" class="external-link">Enum.EnumDesc</a>&lt;<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.EnumDesc.html" title="class or interface in java.lang" class="external-link">E</a> extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">Enum</a>&lt;<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.EnumDesc.html" title="class or interface in java.lang" class="external-link">E</a>&gt;&gt;</code></div>
          -</section>
          -</li>
          -<!-- =========== ENUM CONSTANT SUMMARY =========== -->
          -<li>
          -<section class="constants-summary" id="enum.constant.summary">
          -<h2>Enum Constant Summary</h2>
          -<div class="caption"><span>Enum Constants</span></div>
          -<div class="summary-table two-column-summary">
          -<div class="table-header col-first">Enum Constant</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color"><code><span class="member-name-link"><a href="#CLASSIC">CLASSIC</a></span></code></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -<div class="col-first odd-row-color"><code><span class="member-name-link"><a href="#HIPHOP">HIPHOP</a></span></code></div>
          -<div class="col-last odd-row-color">&nbsp;</div>
          -<div class="col-first even-row-color"><code><span class="member-name-link"><a href="#JAZZ">JAZZ</a></span></code></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -<div class="col-first odd-row-color"><code><span class="member-name-link"><a href="#POP">POP</a></span></code></div>
          -<div class="col-last odd-row-color">&nbsp;</div>
          -<div class="col-first even-row-color"><code><span class="member-name-link"><a href="#RAP">RAP</a></span></code></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -<div class="col-first odd-row-color"><code><span class="member-name-link"><a href="#ROCK">ROCK</a></span></code></div>
          -<div class="col-last odd-row-color">&nbsp;</div>
          -</div>
          -</section>
          -</li>
          -<!-- ========== METHOD SUMMARY =========== -->
          -<li>
          -<section class="method-summary" id="method.summary">
          -<h2>Method Summary</h2>
          -<div id="method-summary-table">
          -<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
          -<div id="method-summary-table.tabpanel" role="tabpanel">
          -<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
          -<div class="table-header col-first">Modifier and Type</div>
          -<div class="table-header col-second">Method</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
          -<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getGenre()">getGenre</a></span>()</code></div>
          -<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -<div class="col-first odd-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table"><code>static <a href="Genre.html" title="enum class in musichub.business">Genre</a></code></div>
          -<div class="col-second odd-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#valueOf(java.lang.String)">valueOf</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</code></div>
          -<div class="col-last odd-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table">
          -<div class="block">Returns the enum constant of this class with the specified name.</div>
          -</div>
          -<div class="col-first even-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table"><code>static <a href="Genre.html" title="enum class in musichub.business">Genre</a>[]</code></div>
          -<div class="col-second even-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#values()">values</a></span>()</code></div>
          -<div class="col-last even-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table">
          -<div class="block">Returns an array containing the constants of this enum class, in
          -the order they are declared.</div>
          -</div>
          -</div>
          -</div>
          -</div>
          -<div class="inherited-list">
          -<h3 id="methods.inherited.from.class.java.lang.Enum">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">Enum</a></h3>
          -<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#compareTo(E)" title="class or interface in java.lang" class="external-link">compareTo</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#describeConstable()" title="class or interface in java.lang" class="external-link">describeConstable</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#getDeclaringClass()" title="class or interface in java.lang" class="external-link">getDeclaringClass</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#name()" title="class or interface in java.lang" class="external-link">name</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#ordinal()" title="class or interface in java.lang" class="external-link">ordinal</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#valueOf(java.lang.Class,java.lang.String)" title="class or interface in java.lang" class="external-link">valueOf</a></code></div>
          -<div class="inherited-list">
          -<h3 id="methods.inherited.from.class.java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
          -<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -<section class="details">
          -<ul class="details-list">
          -<!-- ============ ENUM CONSTANT DETAIL =========== -->
          -<li>
          -<section class="constant-details" id="enum.constant.detail">
          -<h2>Enum Constant Details</h2>
          -<ul class="member-list">
          -<li>
          -<section class="detail" id="JAZZ">
          -<h3>JAZZ</h3>
          -<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Genre.html" title="enum class in musichub.business">Genre</a></span>&nbsp;<span class="element-name">JAZZ</span></div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="CLASSIC">
          -<h3>CLASSIC</h3>
          -<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Genre.html" title="enum class in musichub.business">Genre</a></span>&nbsp;<span class="element-name">CLASSIC</span></div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="HIPHOP">
          -<h3>HIPHOP</h3>
          -<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Genre.html" title="enum class in musichub.business">Genre</a></span>&nbsp;<span class="element-name">HIPHOP</span></div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="ROCK">
          -<h3>ROCK</h3>
          -<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Genre.html" title="enum class in musichub.business">Genre</a></span>&nbsp;<span class="element-name">ROCK</span></div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="POP">
          -<h3>POP</h3>
          -<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Genre.html" title="enum class in musichub.business">Genre</a></span>&nbsp;<span class="element-name">POP</span></div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="RAP">
          -<h3>RAP</h3>
          -<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Genre.html" title="enum class in musichub.business">Genre</a></span>&nbsp;<span class="element-name">RAP</span></div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -</li>
          -<!-- ============ METHOD DETAIL ========== -->
          -<li>
          -<section class="method-details" id="method.detail">
          -<h2>Method Details</h2>
          -<ul class="member-list">
          -<li>
          -<section class="detail" id="values()">
          -<h3>values</h3>
          -<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="Genre.html" title="enum class in musichub.business">Genre</a>[]</span>&nbsp;<span class="element-name">values</span>()</div>
          -<div class="block">Returns an array containing the constants of this enum class, in
          -the order they are declared.</div>
          -<dl class="notes">
          -<dt>Returns:</dt>
          -<dd>an array containing the constants of this enum class, in the order they are declared</dd>
          -</dl>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="valueOf(java.lang.String)">
          -<h3>valueOf</h3>
          -<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="Genre.html" title="enum class in musichub.business">Genre</a></span>&nbsp;<span class="element-name">valueOf</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</span></div>
          -<div class="block">Returns the enum constant of this class with the specified name.
          -The string must match <i>exactly</i> an identifier used to declare an
          -enum constant in this class.  (Extraneous whitespace characters are 
          -not permitted.)</div>
          -<dl class="notes">
          -<dt>Parameters:</dt>
          -<dd><code>name</code> - the name of the enum constant to be returned.</dd>
          -<dt>Returns:</dt>
          -<dd>the enum constant with the specified name</dd>
          -<dt>Throws:</dt>
          -<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if this enum class has no constant with the specified name</dd>
          -<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/NullPointerException.html" title="class or interface in java.lang" class="external-link">NullPointerException</a></code> - if the argument is null</dd>
          -</dl>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="getGenre()">
          -<h3>getGenre</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getGenre</span>()</div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -</li>
          -</ul>
          -</section>
          -<!-- ========= END OF CLASS DATA ========= -->
          -</main>
          -<footer role="contentinfo">
          -<hr>
          -<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          -</footer>
          -</div>
          -</div>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/musichub/business/Language.html b/target/site/apidocs/musichub/business/Language.html
          deleted file mode 100644
          index 6bebff8..0000000
          --- a/target/site/apidocs/musichub/business/Language.html
          +++ /dev/null
          @@ -1,258 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
          -<title>Language (spoteezer 0.1.0 API)</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="declaration: package: musichub.business, enum: Language">
          -<meta name="generator" content="javadoc/ClassWriterImpl">
          -<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          -<script type="text/javascript" src="../../script.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          -</head>
          -<body class="class-declaration-page">
          -<script type="text/javascript">var evenRowColor = "even-row-color";
          -var oddRowColor = "odd-row-color";
          -var tableTab = "table-tab";
          -var activeTableTab = "active-table-tab";
          -var pathtoroot = "../../";
          -loadScripts(document, 'script');</script>
          -<noscript>
          -<div>JavaScript is disabled on your browser.</div>
          -</noscript>
          -<div class="flex-box">
          -<header role="banner" class="flex-header">
          -<nav role="navigation">
          -<!-- ========= START OF TOP NAVBAR ======= -->
          -<div class="top-nav" id="navbar.top">
          -<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          -<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          -<li><a href="../../index.html">Overview</a></li>
          -<li><a href="package-summary.html">Package</a></li>
          -<li class="nav-bar-cell1-rev">Class</li>
          -<li><a href="class-use/Language.html">Use</a></li>
          -<li><a href="package-tree.html">Tree</a></li>
          -<li><a href="../../index-all.html">Index</a></li>
          -<li><a href="../../help-doc.html">Help</a></li>
          -</ul>
          -</div>
          -<div class="sub-nav">
          -<div>
          -<ul class="sub-nav-list">
          -<li>Summary:&nbsp;</li>
          -<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
          -<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
          -<li>Field&nbsp;|&nbsp;</li>
          -<li><a href="#method.summary">Method</a></li>
          -</ul>
          -<ul class="sub-nav-list">
          -<li>Detail:&nbsp;</li>
          -<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
          -<li>Field&nbsp;|&nbsp;</li>
          -<li><a href="#method.detail">Method</a></li>
          -</ul>
          -</div>
          -<div class="nav-list-search"><label for="search">SEARCH:</label>
          -<input type="text" id="search" value="search" disabled="disabled">
          -<input type="reset" id="reset" value="reset" disabled="disabled">
          -</div>
          -</div>
          -<!-- ========= END OF TOP NAVBAR ========= -->
          -<span class="skip-nav" id="skip.navbar.top">
          -<!--   -->
          -</span></nav>
          -</header>
          -<div class="flex-content">
          -<main role="main">
          -<!-- ======== START OF CLASS DATA ======== -->
          -<div class="header">
          -<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">musichub.business</a></div>
          -<h1 title="Enum Class Language" class="title">Enum Class Language</h1>
          -</div>
          -<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
          -<div class="inheritance"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">java.lang.Enum</a>&lt;<a href="Language.html" title="enum class in musichub.business">Language</a>&gt;
          -<div class="inheritance">musichub.business.Language</div>
          -</div>
          -</div>
          -<section class="description">
          -<dl class="notes">
          -<dt>All Implemented Interfaces:</dt>
          -<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a></code>, <code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Comparable.html" title="class or interface in java.lang" class="external-link">Comparable</a>&lt;<a href="Language.html" title="enum class in musichub.business">Language</a>&gt;</code>, <code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/constant/Constable.html" title="class or interface in java.lang.constant" class="external-link">Constable</a></code></dd>
          -</dl>
          -<hr>
          -<div class="type-signature"><span class="modifiers">public enum </span><span class="element-name type-name-label">Language</span>
          -<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">Enum</a>&lt;<a href="Language.html" title="enum class in musichub.business">Language</a>&gt;</span></div>
          -</section>
          -<section class="summary">
          -<ul class="summary-list">
          -<!-- ======== NESTED CLASS SUMMARY ======== -->
          -<li>
          -<section class="nested-class-summary" id="nested.class.summary">
          -<h2>Nested Class Summary</h2>
          -<div class="inherited-list">
          -<h2 id="nested.classes.inherited.from.class.java.lang.Enum">Nested classes/interfaces inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">Enum</a></h2>
          -<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.EnumDesc.html" title="class or interface in java.lang" class="external-link">Enum.EnumDesc</a>&lt;<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.EnumDesc.html" title="class or interface in java.lang" class="external-link">E</a> extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">Enum</a>&lt;<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.EnumDesc.html" title="class or interface in java.lang" class="external-link">E</a>&gt;&gt;</code></div>
          -</section>
          -</li>
          -<!-- =========== ENUM CONSTANT SUMMARY =========== -->
          -<li>
          -<section class="constants-summary" id="enum.constant.summary">
          -<h2>Enum Constant Summary</h2>
          -<div class="caption"><span>Enum Constants</span></div>
          -<div class="summary-table two-column-summary">
          -<div class="table-header col-first">Enum Constant</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color"><code><span class="member-name-link"><a href="#ENGLISH">ENGLISH</a></span></code></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -<div class="col-first odd-row-color"><code><span class="member-name-link"><a href="#FRENCH">FRENCH</a></span></code></div>
          -<div class="col-last odd-row-color">&nbsp;</div>
          -<div class="col-first even-row-color"><code><span class="member-name-link"><a href="#GERMAN">GERMAN</a></span></code></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -<div class="col-first odd-row-color"><code><span class="member-name-link"><a href="#ITALIAN">ITALIAN</a></span></code></div>
          -<div class="col-last odd-row-color">&nbsp;</div>
          -<div class="col-first even-row-color"><code><span class="member-name-link"><a href="#SPANISH">SPANISH</a></span></code></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -</div>
          -</section>
          -</li>
          -<!-- ========== METHOD SUMMARY =========== -->
          -<li>
          -<section class="method-summary" id="method.summary">
          -<h2>Method Summary</h2>
          -<div id="method-summary-table">
          -<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
          -<div id="method-summary-table.tabpanel" role="tabpanel">
          -<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
          -<div class="table-header col-first">Modifier and Type</div>
          -<div class="table-header col-second">Method</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
          -<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getLanguage()">getLanguage</a></span>()</code></div>
          -<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -<div class="col-first odd-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table"><code>static <a href="Language.html" title="enum class in musichub.business">Language</a></code></div>
          -<div class="col-second odd-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#valueOf(java.lang.String)">valueOf</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</code></div>
          -<div class="col-last odd-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table">
          -<div class="block">Returns the enum constant of this class with the specified name.</div>
          -</div>
          -<div class="col-first even-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table"><code>static <a href="Language.html" title="enum class in musichub.business">Language</a>[]</code></div>
          -<div class="col-second even-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#values()">values</a></span>()</code></div>
          -<div class="col-last even-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table">
          -<div class="block">Returns an array containing the constants of this enum class, in
          -the order they are declared.</div>
          -</div>
          -</div>
          -</div>
          -</div>
          -<div class="inherited-list">
          -<h3 id="methods.inherited.from.class.java.lang.Enum">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">Enum</a></h3>
          -<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#compareTo(E)" title="class or interface in java.lang" class="external-link">compareTo</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#describeConstable()" title="class or interface in java.lang" class="external-link">describeConstable</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#getDeclaringClass()" title="class or interface in java.lang" class="external-link">getDeclaringClass</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#name()" title="class or interface in java.lang" class="external-link">name</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#ordinal()" title="class or interface in java.lang" class="external-link">ordinal</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#valueOf(java.lang.Class,java.lang.String)" title="class or interface in java.lang" class="external-link">valueOf</a></code></div>
          -<div class="inherited-list">
          -<h3 id="methods.inherited.from.class.java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
          -<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -<section class="details">
          -<ul class="details-list">
          -<!-- ============ ENUM CONSTANT DETAIL =========== -->
          -<li>
          -<section class="constant-details" id="enum.constant.detail">
          -<h2>Enum Constant Details</h2>
          -<ul class="member-list">
          -<li>
          -<section class="detail" id="FRENCH">
          -<h3>FRENCH</h3>
          -<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Language.html" title="enum class in musichub.business">Language</a></span>&nbsp;<span class="element-name">FRENCH</span></div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="ENGLISH">
          -<h3>ENGLISH</h3>
          -<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Language.html" title="enum class in musichub.business">Language</a></span>&nbsp;<span class="element-name">ENGLISH</span></div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="ITALIAN">
          -<h3>ITALIAN</h3>
          -<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Language.html" title="enum class in musichub.business">Language</a></span>&nbsp;<span class="element-name">ITALIAN</span></div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="SPANISH">
          -<h3>SPANISH</h3>
          -<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Language.html" title="enum class in musichub.business">Language</a></span>&nbsp;<span class="element-name">SPANISH</span></div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="GERMAN">
          -<h3>GERMAN</h3>
          -<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Language.html" title="enum class in musichub.business">Language</a></span>&nbsp;<span class="element-name">GERMAN</span></div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -</li>
          -<!-- ============ METHOD DETAIL ========== -->
          -<li>
          -<section class="method-details" id="method.detail">
          -<h2>Method Details</h2>
          -<ul class="member-list">
          -<li>
          -<section class="detail" id="values()">
          -<h3>values</h3>
          -<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="Language.html" title="enum class in musichub.business">Language</a>[]</span>&nbsp;<span class="element-name">values</span>()</div>
          -<div class="block">Returns an array containing the constants of this enum class, in
          -the order they are declared.</div>
          -<dl class="notes">
          -<dt>Returns:</dt>
          -<dd>an array containing the constants of this enum class, in the order they are declared</dd>
          -</dl>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="valueOf(java.lang.String)">
          -<h3>valueOf</h3>
          -<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="Language.html" title="enum class in musichub.business">Language</a></span>&nbsp;<span class="element-name">valueOf</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</span></div>
          -<div class="block">Returns the enum constant of this class with the specified name.
          -The string must match <i>exactly</i> an identifier used to declare an
          -enum constant in this class.  (Extraneous whitespace characters are 
          -not permitted.)</div>
          -<dl class="notes">
          -<dt>Parameters:</dt>
          -<dd><code>name</code> - the name of the enum constant to be returned.</dd>
          -<dt>Returns:</dt>
          -<dd>the enum constant with the specified name</dd>
          -<dt>Throws:</dt>
          -<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if this enum class has no constant with the specified name</dd>
          -<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/NullPointerException.html" title="class or interface in java.lang" class="external-link">NullPointerException</a></code> - if the argument is null</dd>
          -</dl>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="getLanguage()">
          -<h3>getLanguage</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getLanguage</span>()</div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -</li>
          -</ul>
          -</section>
          -<!-- ========= END OF CLASS DATA ========= -->
          -</main>
          -<footer role="contentinfo">
          -<hr>
          -<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          -</footer>
          -</div>
          -</div>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/musichub/business/MusicHub.html b/target/site/apidocs/musichub/business/MusicHub.html
          deleted file mode 100644
          index 4af462c..0000000
          --- a/target/site/apidocs/musichub/business/MusicHub.html
          +++ /dev/null
          @@ -1,412 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
          -<title>MusicHub (spoteezer 0.1.0 API)</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="declaration: package: musichub.business, class: MusicHub">
          -<meta name="generator" content="javadoc/ClassWriterImpl">
          -<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          -<script type="text/javascript" src="../../script.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          -</head>
          -<body class="class-declaration-page">
          -<script type="text/javascript">var evenRowColor = "even-row-color";
          -var oddRowColor = "odd-row-color";
          -var tableTab = "table-tab";
          -var activeTableTab = "active-table-tab";
          -var pathtoroot = "../../";
          -loadScripts(document, 'script');</script>
          -<noscript>
          -<div>JavaScript is disabled on your browser.</div>
          -</noscript>
          -<div class="flex-box">
          -<header role="banner" class="flex-header">
          -<nav role="navigation">
          -<!-- ========= START OF TOP NAVBAR ======= -->
          -<div class="top-nav" id="navbar.top">
          -<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          -<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          -<li><a href="../../index.html">Overview</a></li>
          -<li><a href="package-summary.html">Package</a></li>
          -<li class="nav-bar-cell1-rev">Class</li>
          -<li><a href="class-use/MusicHub.html">Use</a></li>
          -<li><a href="package-tree.html">Tree</a></li>
          -<li><a href="../../index-all.html">Index</a></li>
          -<li><a href="../../help-doc.html">Help</a></li>
          -</ul>
          -</div>
          -<div class="sub-nav">
          -<div>
          -<ul class="sub-nav-list">
          -<li>Summary:&nbsp;</li>
          -<li>Nested&nbsp;|&nbsp;</li>
          -<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
          -<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
          -<li><a href="#method.summary">Method</a></li>
          -</ul>
          -<ul class="sub-nav-list">
          -<li>Detail:&nbsp;</li>
          -<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
          -<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
          -<li><a href="#method.detail">Method</a></li>
          -</ul>
          -</div>
          -<div class="nav-list-search"><label for="search">SEARCH:</label>
          -<input type="text" id="search" value="search" disabled="disabled">
          -<input type="reset" id="reset" value="reset" disabled="disabled">
          -</div>
          -</div>
          -<!-- ========= END OF TOP NAVBAR ========= -->
          -<span class="skip-nav" id="skip.navbar.top">
          -<!--   -->
          -</span></nav>
          -</header>
          -<div class="flex-content">
          -<main role="main">
          -<!-- ======== START OF CLASS DATA ======== -->
          -<div class="header">
          -<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">musichub.business</a></div>
          -<h1 title="Class MusicHub" class="title">Class MusicHub</h1>
          -</div>
          -<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
          -<div class="inheritance">musichub.business.MusicHub</div>
          -</div>
          -<section class="description">
          -<hr>
          -<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">MusicHub</span>
          -<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
          -</section>
          -<section class="summary">
          -<ul class="summary-list">
          -<!-- =========== FIELD SUMMARY =========== -->
          -<li>
          -<section class="field-summary" id="field.summary">
          -<h2>Field Summary</h2>
          -<div class="caption"><span>Fields</span></div>
          -<div class="summary-table three-column-summary">
          -<div class="table-header col-first">Modifier and Type</div>
          -<div class="table-header col-second">Field</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color"><code>static <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
          -<div class="col-second even-row-color"><code><span class="member-name-link"><a href="#ALBUMS_FILE_PATH">ALBUMS_FILE_PATH</a></span></code></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -<div class="col-first odd-row-color"><code>static <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
          -<div class="col-second odd-row-color"><code><span class="member-name-link"><a href="#DIR">DIR</a></span></code></div>
          -<div class="col-last odd-row-color">&nbsp;</div>
          -<div class="col-first even-row-color"><code>static <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
          -<div class="col-second even-row-color"><code><span class="member-name-link"><a href="#ELEMENTS_FILE_PATH">ELEMENTS_FILE_PATH</a></span></code></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -<div class="col-first odd-row-color"><code>static <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
          -<div class="col-second odd-row-color"><code><span class="member-name-link"><a href="#PLAYLISTS_FILE_PATH">PLAYLISTS_FILE_PATH</a></span></code></div>
          -<div class="col-last odd-row-color">&nbsp;</div>
          -</div>
          -</section>
          -</li>
          -<!-- ======== CONSTRUCTOR SUMMARY ======== -->
          -<li>
          -<section class="constructor-summary" id="constructor.summary">
          -<h2>Constructor Summary</h2>
          -<div class="caption"><span>Constructors</span></div>
          -<div class="summary-table two-column-summary">
          -<div class="table-header col-first">Constructor</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-constructor-name even-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E()">MusicHub</a></span>()</code></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -</div>
          -</section>
          -</li>
          -<!-- ========== METHOD SUMMARY =========== -->
          -<li>
          -<section class="method-summary" id="method.summary">
          -<h2>Method Summary</h2>
          -<div id="method-summary-table">
          -<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
          -<div id="method-summary-table.tabpanel" role="tabpanel">
          -<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
          -<div class="table-header col-first">Modifier and Type</div>
          -<div class="table-header col-second">Method</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
          -<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#addAlbum(musichub.business.Album)">addAlbum</a></span>&#8203;(<a href="Album.html" title="class in musichub.business">Album</a>&nbsp;album)</code></div>
          -<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
          -<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#addElement(musichub.business.AudioElement)">addElement</a></span>&#8203;(<a href="AudioElement.html" title="class in musichub.business">AudioElement</a>&nbsp;element)</code></div>
          -<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
          -<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#addElementToAlbum(java.lang.String,java.lang.String)">addElementToAlbum</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;elementTitle,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;albumTitle)</code></div>
          -<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
          -<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#addElementToPlayList(java.lang.String,java.lang.String)">addElementToPlayList</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;elementTitle,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;playListTitle)</code></div>
          -<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
          -<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#addPlaylist(musichub.business.PlayList)">addPlaylist</a></span>&#8203;(<a href="PlayList.html" title="class in musichub.business">PlayList</a>&nbsp;playlist)</code></div>
          -<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link">Iterator</a>&lt;<a href="Album.html" title="class in musichub.business">Album</a>&gt;</code></div>
          -<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#albums()">albums</a></span>()</code></div>
          -<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
          -<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#deletePlayList(java.lang.String)">deletePlayList</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;playListTitle)</code></div>
          -<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link">Iterator</a>&lt;<a href="AudioElement.html" title="class in musichub.business">AudioElement</a>&gt;</code></div>
          -<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#elements()">elements</a></span>()</code></div>
          -<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="AudioElement.html" title="class in musichub.business">AudioElement</a>&gt;</code></div>
          -<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getAlbumSongs(java.lang.String)">getAlbumSongs</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;albumTitle)</code></div>
          -<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="Song.html" title="class in musichub.business">Song</a>&gt;</code></div>
          -<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getAlbumSongsSortedByGenre(java.lang.String)">getAlbumSongsSortedByGenre</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;albumTitle)</code></div>
          -<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
          -<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getAlbumsTitlesSortedByDate()">getAlbumsTitlesSortedByDate</a></span>()</code></div>
          -<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
          -<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getAudiobooksTitlesSortedByAuthor()">getAudiobooksTitlesSortedByAuthor</a></span>()</code></div>
          -<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
          -<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getAudioElement(java.util.List,java.lang.String)">getAudioElement</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="AudioElement.html" title="class in musichub.business">AudioElement</a>&gt;&nbsp;audios,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;elementTitle)</code></div>
          -<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link">Iterator</a>&lt;<a href="PlayList.html" title="class in musichub.business">PlayList</a>&gt;</code></div>
          -<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#playlists()">playlists</a></span>()</code></div>
          -<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
          -<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#saveAlbums()">saveAlbums</a></span>()</code></div>
          -<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
          -<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#saveElements()">saveElements</a></span>()</code></div>
          -<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
          -<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#savePlayLists()">savePlayLists</a></span>()</code></div>
          -<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -</div>
          -</div>
          -</div>
          -<div class="inherited-list">
          -<h3 id="methods.inherited.from.class.java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
          -<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -<section class="details">
          -<ul class="details-list">
          -<!-- ============ FIELD DETAIL =========== -->
          -<li>
          -<section class="field-details" id="field.detail">
          -<h2>Field Details</h2>
          -<ul class="member-list">
          -<li>
          -<section class="detail" id="DIR">
          -<h3>DIR</h3>
          -<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">DIR</span></div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="ALBUMS_FILE_PATH">
          -<h3>ALBUMS_FILE_PATH</h3>
          -<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">ALBUMS_FILE_PATH</span></div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="PLAYLISTS_FILE_PATH">
          -<h3>PLAYLISTS_FILE_PATH</h3>
          -<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">PLAYLISTS_FILE_PATH</span></div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="ELEMENTS_FILE_PATH">
          -<h3>ELEMENTS_FILE_PATH</h3>
          -<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">ELEMENTS_FILE_PATH</span></div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -</li>
          -<!-- ========= CONSTRUCTOR DETAIL ======== -->
          -<li>
          -<section class="constructor-details" id="constructor.detail">
          -<h2>Constructor Details</h2>
          -<ul class="member-list">
          -<li>
          -<section class="detail" id="&lt;init&gt;()">
          -<h3>MusicHub</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">MusicHub</span>()</div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -</li>
          -<!-- ============ METHOD DETAIL ========== -->
          -<li>
          -<section class="method-details" id="method.detail">
          -<h2>Method Details</h2>
          -<ul class="member-list">
          -<li>
          -<section class="detail" id="addElement(musichub.business.AudioElement)">
          -<h3>addElement</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">addElement</span>&#8203;<span class="parameters">(<a href="AudioElement.html" title="class in musichub.business">AudioElement</a>&nbsp;element)</span></div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="addAlbum(musichub.business.Album)">
          -<h3>addAlbum</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">addAlbum</span>&#8203;<span class="parameters">(<a href="Album.html" title="class in musichub.business">Album</a>&nbsp;album)</span></div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="addPlaylist(musichub.business.PlayList)">
          -<h3>addPlaylist</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">addPlaylist</span>&#8203;<span class="parameters">(<a href="PlayList.html" title="class in musichub.business">PlayList</a>&nbsp;playlist)</span></div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="deletePlayList(java.lang.String)">
          -<h3>deletePlayList</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">deletePlayList</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;playListTitle)</span>
          -                    throws <span class="exceptions"><a href="NoPlayListFoundException.html" title="class in musichub.business">NoPlayListFoundException</a></span></div>
          -<dl class="notes">
          -<dt>Throws:</dt>
          -<dd><code><a href="NoPlayListFoundException.html" title="class in musichub.business">NoPlayListFoundException</a></code></dd>
          -</dl>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="albums()">
          -<h3>albums</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link">Iterator</a>&lt;<a href="Album.html" title="class in musichub.business">Album</a>&gt;</span>&nbsp;<span class="element-name">albums</span>()</div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="playlists()">
          -<h3>playlists</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link">Iterator</a>&lt;<a href="PlayList.html" title="class in musichub.business">PlayList</a>&gt;</span>&nbsp;<span class="element-name">playlists</span>()</div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="elements()">
          -<h3>elements</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link">Iterator</a>&lt;<a href="AudioElement.html" title="class in musichub.business">AudioElement</a>&gt;</span>&nbsp;<span class="element-name">elements</span>()</div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="getAlbumsTitlesSortedByDate()">
          -<h3>getAlbumsTitlesSortedByDate</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getAlbumsTitlesSortedByDate</span>()</div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="getAudiobooksTitlesSortedByAuthor()">
          -<h3>getAudiobooksTitlesSortedByAuthor</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getAudiobooksTitlesSortedByAuthor</span>()</div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="getAlbumSongs(java.lang.String)">
          -<h3>getAlbumSongs</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="AudioElement.html" title="class in musichub.business">AudioElement</a>&gt;</span>&nbsp;<span class="element-name">getAlbumSongs</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;albumTitle)</span>
          -                                 throws <span class="exceptions"><a href="NoAlbumFoundException.html" title="class in musichub.business">NoAlbumFoundException</a></span></div>
          -<dl class="notes">
          -<dt>Throws:</dt>
          -<dd><code><a href="NoAlbumFoundException.html" title="class in musichub.business">NoAlbumFoundException</a></code></dd>
          -</dl>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="getAlbumSongsSortedByGenre(java.lang.String)">
          -<h3>getAlbumSongsSortedByGenre</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="Song.html" title="class in musichub.business">Song</a>&gt;</span>&nbsp;<span class="element-name">getAlbumSongsSortedByGenre</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;albumTitle)</span>
          -                                      throws <span class="exceptions"><a href="NoAlbumFoundException.html" title="class in musichub.business">NoAlbumFoundException</a></span></div>
          -<dl class="notes">
          -<dt>Throws:</dt>
          -<dd><code><a href="NoAlbumFoundException.html" title="class in musichub.business">NoAlbumFoundException</a></code></dd>
          -</dl>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="addElementToAlbum(java.lang.String,java.lang.String)">
          -<h3>addElementToAlbum</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">addElementToAlbum</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;elementTitle,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;albumTitle)</span>
          -                       throws <span class="exceptions"><a href="NoAlbumFoundException.html" title="class in musichub.business">NoAlbumFoundException</a>,
          -<a href="NoElementFoundException.html" title="class in musichub.business">NoElementFoundException</a></span></div>
          -<dl class="notes">
          -<dt>Throws:</dt>
          -<dd><code><a href="NoAlbumFoundException.html" title="class in musichub.business">NoAlbumFoundException</a></code></dd>
          -<dd><code><a href="NoElementFoundException.html" title="class in musichub.business">NoElementFoundException</a></code></dd>
          -</dl>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="addElementToPlayList(java.lang.String,java.lang.String)">
          -<h3>addElementToPlayList</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">addElementToPlayList</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;elementTitle,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;playListTitle)</span>
          -                          throws <span class="exceptions"><a href="NoPlayListFoundException.html" title="class in musichub.business">NoPlayListFoundException</a>,
          -<a href="NoElementFoundException.html" title="class in musichub.business">NoElementFoundException</a></span></div>
          -<dl class="notes">
          -<dt>Throws:</dt>
          -<dd><code><a href="NoPlayListFoundException.html" title="class in musichub.business">NoPlayListFoundException</a></code></dd>
          -<dd><code><a href="NoElementFoundException.html" title="class in musichub.business">NoElementFoundException</a></code></dd>
          -</dl>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="saveAlbums()">
          -<h3>saveAlbums</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">saveAlbums</span>()</div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="savePlayLists()">
          -<h3>savePlayLists</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">savePlayLists</span>()</div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="saveElements()">
          -<h3>saveElements</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">saveElements</span>()</div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="getAudioElement(java.util.List,java.lang.String)">
          -<h3>getAudioElement</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">getAudioElement</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="AudioElement.html" title="class in musichub.business">AudioElement</a>&gt;&nbsp;audios,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;elementTitle)</span>
          -                     throws <span class="exceptions"><a href="NoAlbumFoundException.html" title="class in musichub.business">NoAlbumFoundException</a>,
          -<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/javax/sound/sampled/UnsupportedAudioFileException.html" title="class or interface in javax.sound.sampled" class="external-link">UnsupportedAudioFileException</a>,
          -<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a>,
          -<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/javax/sound/sampled/LineUnavailableException.html" title="class or interface in javax.sound.sampled" class="external-link">LineUnavailableException</a></span></div>
          -<dl class="notes">
          -<dt>Throws:</dt>
          -<dd><code><a href="NoAlbumFoundException.html" title="class in musichub.business">NoAlbumFoundException</a></code></dd>
          -<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/javax/sound/sampled/UnsupportedAudioFileException.html" title="class or interface in javax.sound.sampled" class="external-link">UnsupportedAudioFileException</a></code></dd>
          -<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
          -<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/javax/sound/sampled/LineUnavailableException.html" title="class or interface in javax.sound.sampled" class="external-link">LineUnavailableException</a></code></dd>
          -</dl>
          -</section>
          -</li>
          -</ul>
          -</section>
          -</li>
          -</ul>
          -</section>
          -<!-- ========= END OF CLASS DATA ========= -->
          -</main>
          -<footer role="contentinfo">
          -<hr>
          -<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          -</footer>
          -</div>
          -</div>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/musichub/business/NoAlbumFoundException.html b/target/site/apidocs/musichub/business/NoAlbumFoundException.html
          deleted file mode 100644
          index 16143e3..0000000
          --- a/target/site/apidocs/musichub/business/NoAlbumFoundException.html
          +++ /dev/null
          @@ -1,150 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
          -<title>NoAlbumFoundException (spoteezer 0.1.0 API)</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="declaration: package: musichub.business, class: NoAlbumFoundException">
          -<meta name="generator" content="javadoc/ClassWriterImpl">
          -<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          -<script type="text/javascript" src="../../script.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          -</head>
          -<body class="class-declaration-page">
          -<script type="text/javascript">var pathtoroot = "../../";
          -loadScripts(document, 'script');</script>
          -<noscript>
          -<div>JavaScript is disabled on your browser.</div>
          -</noscript>
          -<div class="flex-box">
          -<header role="banner" class="flex-header">
          -<nav role="navigation">
          -<!-- ========= START OF TOP NAVBAR ======= -->
          -<div class="top-nav" id="navbar.top">
          -<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          -<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          -<li><a href="../../index.html">Overview</a></li>
          -<li><a href="package-summary.html">Package</a></li>
          -<li class="nav-bar-cell1-rev">Class</li>
          -<li><a href="class-use/NoAlbumFoundException.html">Use</a></li>
          -<li><a href="package-tree.html">Tree</a></li>
          -<li><a href="../../index-all.html">Index</a></li>
          -<li><a href="../../help-doc.html">Help</a></li>
          -</ul>
          -</div>
          -<div class="sub-nav">
          -<div>
          -<ul class="sub-nav-list">
          -<li>Summary:&nbsp;</li>
          -<li>Nested&nbsp;|&nbsp;</li>
          -<li>Field&nbsp;|&nbsp;</li>
          -<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
          -<li><a href="#method.summary">Method</a></li>
          -</ul>
          -<ul class="sub-nav-list">
          -<li>Detail:&nbsp;</li>
          -<li>Field&nbsp;|&nbsp;</li>
          -<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
          -<li>Method</li>
          -</ul>
          -</div>
          -<div class="nav-list-search"><label for="search">SEARCH:</label>
          -<input type="text" id="search" value="search" disabled="disabled">
          -<input type="reset" id="reset" value="reset" disabled="disabled">
          -</div>
          -</div>
          -<!-- ========= END OF TOP NAVBAR ========= -->
          -<span class="skip-nav" id="skip.navbar.top">
          -<!--   -->
          -</span></nav>
          -</header>
          -<div class="flex-content">
          -<main role="main">
          -<!-- ======== START OF CLASS DATA ======== -->
          -<div class="header">
          -<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">musichub.business</a></div>
          -<h1 title="Class NoAlbumFoundException" class="title">Class NoAlbumFoundException</h1>
          -</div>
          -<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
          -<div class="inheritance"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html" title="class or interface in java.lang" class="external-link">java.lang.Throwable</a>
          -<div class="inheritance"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">java.lang.Exception</a>
          -<div class="inheritance">musichub.business.NoAlbumFoundException</div>
          -</div>
          -</div>
          -</div>
          -<section class="description">
          -<dl class="notes">
          -<dt>All Implemented Interfaces:</dt>
          -<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a></code></dd>
          -</dl>
          -<hr>
          -<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">NoAlbumFoundException</span>
          -<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a></span></div>
          -<dl class="notes">
          -<dt>See Also:</dt>
          -<dd><a href="../../serialized-form.html#musichub.business.NoAlbumFoundException">Serialized Form</a></dd>
          -</dl>
          -</section>
          -<section class="summary">
          -<ul class="summary-list">
          -<!-- ======== CONSTRUCTOR SUMMARY ======== -->
          -<li>
          -<section class="constructor-summary" id="constructor.summary">
          -<h2>Constructor Summary</h2>
          -<div class="caption"><span>Constructors</span></div>
          -<div class="summary-table two-column-summary">
          -<div class="table-header col-first">Constructor</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-constructor-name even-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E(java.lang.String)">NoAlbumFoundException</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;msg)</code></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -</div>
          -</section>
          -</li>
          -<!-- ========== METHOD SUMMARY =========== -->
          -<li>
          -<section class="method-summary" id="method.summary">
          -<h2>Method Summary</h2>
          -<div class="inherited-list">
          -<h3 id="methods.inherited.from.class.java.lang.Throwable">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html" title="class or interface in java.lang" class="external-link">Throwable</a></h3>
          -<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#addSuppressed(java.lang.Throwable)" title="class or interface in java.lang" class="external-link">addSuppressed</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#fillInStackTrace()" title="class or interface in java.lang" class="external-link">fillInStackTrace</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#getCause()" title="class or interface in java.lang" class="external-link">getCause</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#getLocalizedMessage()" title="class or interface in java.lang" class="external-link">getLocalizedMessage</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#getMessage()" title="class or interface in java.lang" class="external-link">getMessage</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#getStackTrace()" title="class or interface in java.lang" class="external-link">getStackTrace</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#getSuppressed()" title="class or interface in java.lang" class="external-link">getSuppressed</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#initCause(java.lang.Throwable)" title="class or interface in java.lang" class="external-link">initCause</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#printStackTrace()" title="class or interface in java.lang" class="external-link">printStackTrace</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#printStackTrace(java.io.PrintStream)" title="class or interface in java.lang" class="external-link">printStackTrace</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#printStackTrace(java.io.PrintWriter)" title="class or interface in java.lang" class="external-link">printStackTrace</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#setStackTrace(java.lang.StackTraceElement%5B%5D)" title="class or interface in java.lang" class="external-link">setStackTrace</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#toString()" title="class or interface in java.lang" class="external-link">toString</a></code></div>
          -<div class="inherited-list">
          -<h3 id="methods.inherited.from.class.java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
          -<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -<section class="details">
          -<ul class="details-list">
          -<!-- ========= CONSTRUCTOR DETAIL ======== -->
          -<li>
          -<section class="constructor-details" id="constructor.detail">
          -<h2>Constructor Details</h2>
          -<ul class="member-list">
          -<li>
          -<section class="detail" id="&lt;init&gt;(java.lang.String)">
          -<h3>NoAlbumFoundException</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">NoAlbumFoundException</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;msg)</span></div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -</li>
          -</ul>
          -</section>
          -<!-- ========= END OF CLASS DATA ========= -->
          -</main>
          -<footer role="contentinfo">
          -<hr>
          -<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          -</footer>
          -</div>
          -</div>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/musichub/business/NoElementFoundException.html b/target/site/apidocs/musichub/business/NoElementFoundException.html
          deleted file mode 100644
          index 3a04446..0000000
          --- a/target/site/apidocs/musichub/business/NoElementFoundException.html
          +++ /dev/null
          @@ -1,150 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
          -<title>NoElementFoundException (spoteezer 0.1.0 API)</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="declaration: package: musichub.business, class: NoElementFoundException">
          -<meta name="generator" content="javadoc/ClassWriterImpl">
          -<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          -<script type="text/javascript" src="../../script.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          -</head>
          -<body class="class-declaration-page">
          -<script type="text/javascript">var pathtoroot = "../../";
          -loadScripts(document, 'script');</script>
          -<noscript>
          -<div>JavaScript is disabled on your browser.</div>
          -</noscript>
          -<div class="flex-box">
          -<header role="banner" class="flex-header">
          -<nav role="navigation">
          -<!-- ========= START OF TOP NAVBAR ======= -->
          -<div class="top-nav" id="navbar.top">
          -<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          -<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          -<li><a href="../../index.html">Overview</a></li>
          -<li><a href="package-summary.html">Package</a></li>
          -<li class="nav-bar-cell1-rev">Class</li>
          -<li><a href="class-use/NoElementFoundException.html">Use</a></li>
          -<li><a href="package-tree.html">Tree</a></li>
          -<li><a href="../../index-all.html">Index</a></li>
          -<li><a href="../../help-doc.html">Help</a></li>
          -</ul>
          -</div>
          -<div class="sub-nav">
          -<div>
          -<ul class="sub-nav-list">
          -<li>Summary:&nbsp;</li>
          -<li>Nested&nbsp;|&nbsp;</li>
          -<li>Field&nbsp;|&nbsp;</li>
          -<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
          -<li><a href="#method.summary">Method</a></li>
          -</ul>
          -<ul class="sub-nav-list">
          -<li>Detail:&nbsp;</li>
          -<li>Field&nbsp;|&nbsp;</li>
          -<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
          -<li>Method</li>
          -</ul>
          -</div>
          -<div class="nav-list-search"><label for="search">SEARCH:</label>
          -<input type="text" id="search" value="search" disabled="disabled">
          -<input type="reset" id="reset" value="reset" disabled="disabled">
          -</div>
          -</div>
          -<!-- ========= END OF TOP NAVBAR ========= -->
          -<span class="skip-nav" id="skip.navbar.top">
          -<!--   -->
          -</span></nav>
          -</header>
          -<div class="flex-content">
          -<main role="main">
          -<!-- ======== START OF CLASS DATA ======== -->
          -<div class="header">
          -<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">musichub.business</a></div>
          -<h1 title="Class NoElementFoundException" class="title">Class NoElementFoundException</h1>
          -</div>
          -<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
          -<div class="inheritance"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html" title="class or interface in java.lang" class="external-link">java.lang.Throwable</a>
          -<div class="inheritance"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">java.lang.Exception</a>
          -<div class="inheritance">musichub.business.NoElementFoundException</div>
          -</div>
          -</div>
          -</div>
          -<section class="description">
          -<dl class="notes">
          -<dt>All Implemented Interfaces:</dt>
          -<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a></code></dd>
          -</dl>
          -<hr>
          -<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">NoElementFoundException</span>
          -<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a></span></div>
          -<dl class="notes">
          -<dt>See Also:</dt>
          -<dd><a href="../../serialized-form.html#musichub.business.NoElementFoundException">Serialized Form</a></dd>
          -</dl>
          -</section>
          -<section class="summary">
          -<ul class="summary-list">
          -<!-- ======== CONSTRUCTOR SUMMARY ======== -->
          -<li>
          -<section class="constructor-summary" id="constructor.summary">
          -<h2>Constructor Summary</h2>
          -<div class="caption"><span>Constructors</span></div>
          -<div class="summary-table two-column-summary">
          -<div class="table-header col-first">Constructor</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-constructor-name even-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E(java.lang.String)">NoElementFoundException</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;msg)</code></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -</div>
          -</section>
          -</li>
          -<!-- ========== METHOD SUMMARY =========== -->
          -<li>
          -<section class="method-summary" id="method.summary">
          -<h2>Method Summary</h2>
          -<div class="inherited-list">
          -<h3 id="methods.inherited.from.class.java.lang.Throwable">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html" title="class or interface in java.lang" class="external-link">Throwable</a></h3>
          -<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#addSuppressed(java.lang.Throwable)" title="class or interface in java.lang" class="external-link">addSuppressed</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#fillInStackTrace()" title="class or interface in java.lang" class="external-link">fillInStackTrace</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#getCause()" title="class or interface in java.lang" class="external-link">getCause</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#getLocalizedMessage()" title="class or interface in java.lang" class="external-link">getLocalizedMessage</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#getMessage()" title="class or interface in java.lang" class="external-link">getMessage</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#getStackTrace()" title="class or interface in java.lang" class="external-link">getStackTrace</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#getSuppressed()" title="class or interface in java.lang" class="external-link">getSuppressed</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#initCause(java.lang.Throwable)" title="class or interface in java.lang" class="external-link">initCause</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#printStackTrace()" title="class or interface in java.lang" class="external-link">printStackTrace</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#printStackTrace(java.io.PrintStream)" title="class or interface in java.lang" class="external-link">printStackTrace</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#printStackTrace(java.io.PrintWriter)" title="class or interface in java.lang" class="external-link">printStackTrace</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#setStackTrace(java.lang.StackTraceElement%5B%5D)" title="class or interface in java.lang" class="external-link">setStackTrace</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#toString()" title="class or interface in java.lang" class="external-link">toString</a></code></div>
          -<div class="inherited-list">
          -<h3 id="methods.inherited.from.class.java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
          -<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -<section class="details">
          -<ul class="details-list">
          -<!-- ========= CONSTRUCTOR DETAIL ======== -->
          -<li>
          -<section class="constructor-details" id="constructor.detail">
          -<h2>Constructor Details</h2>
          -<ul class="member-list">
          -<li>
          -<section class="detail" id="&lt;init&gt;(java.lang.String)">
          -<h3>NoElementFoundException</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">NoElementFoundException</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;msg)</span></div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -</li>
          -</ul>
          -</section>
          -<!-- ========= END OF CLASS DATA ========= -->
          -</main>
          -<footer role="contentinfo">
          -<hr>
          -<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          -</footer>
          -</div>
          -</div>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/musichub/business/NoPlayListFoundException.html b/target/site/apidocs/musichub/business/NoPlayListFoundException.html
          deleted file mode 100644
          index 4a9413a..0000000
          --- a/target/site/apidocs/musichub/business/NoPlayListFoundException.html
          +++ /dev/null
          @@ -1,150 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
          -<title>NoPlayListFoundException (spoteezer 0.1.0 API)</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="declaration: package: musichub.business, class: NoPlayListFoundException">
          -<meta name="generator" content="javadoc/ClassWriterImpl">
          -<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          -<script type="text/javascript" src="../../script.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          -</head>
          -<body class="class-declaration-page">
          -<script type="text/javascript">var pathtoroot = "../../";
          -loadScripts(document, 'script');</script>
          -<noscript>
          -<div>JavaScript is disabled on your browser.</div>
          -</noscript>
          -<div class="flex-box">
          -<header role="banner" class="flex-header">
          -<nav role="navigation">
          -<!-- ========= START OF TOP NAVBAR ======= -->
          -<div class="top-nav" id="navbar.top">
          -<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          -<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          -<li><a href="../../index.html">Overview</a></li>
          -<li><a href="package-summary.html">Package</a></li>
          -<li class="nav-bar-cell1-rev">Class</li>
          -<li><a href="class-use/NoPlayListFoundException.html">Use</a></li>
          -<li><a href="package-tree.html">Tree</a></li>
          -<li><a href="../../index-all.html">Index</a></li>
          -<li><a href="../../help-doc.html">Help</a></li>
          -</ul>
          -</div>
          -<div class="sub-nav">
          -<div>
          -<ul class="sub-nav-list">
          -<li>Summary:&nbsp;</li>
          -<li>Nested&nbsp;|&nbsp;</li>
          -<li>Field&nbsp;|&nbsp;</li>
          -<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
          -<li><a href="#method.summary">Method</a></li>
          -</ul>
          -<ul class="sub-nav-list">
          -<li>Detail:&nbsp;</li>
          -<li>Field&nbsp;|&nbsp;</li>
          -<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
          -<li>Method</li>
          -</ul>
          -</div>
          -<div class="nav-list-search"><label for="search">SEARCH:</label>
          -<input type="text" id="search" value="search" disabled="disabled">
          -<input type="reset" id="reset" value="reset" disabled="disabled">
          -</div>
          -</div>
          -<!-- ========= END OF TOP NAVBAR ========= -->
          -<span class="skip-nav" id="skip.navbar.top">
          -<!--   -->
          -</span></nav>
          -</header>
          -<div class="flex-content">
          -<main role="main">
          -<!-- ======== START OF CLASS DATA ======== -->
          -<div class="header">
          -<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">musichub.business</a></div>
          -<h1 title="Class NoPlayListFoundException" class="title">Class NoPlayListFoundException</h1>
          -</div>
          -<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
          -<div class="inheritance"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html" title="class or interface in java.lang" class="external-link">java.lang.Throwable</a>
          -<div class="inheritance"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">java.lang.Exception</a>
          -<div class="inheritance">musichub.business.NoPlayListFoundException</div>
          -</div>
          -</div>
          -</div>
          -<section class="description">
          -<dl class="notes">
          -<dt>All Implemented Interfaces:</dt>
          -<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a></code></dd>
          -</dl>
          -<hr>
          -<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">NoPlayListFoundException</span>
          -<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a></span></div>
          -<dl class="notes">
          -<dt>See Also:</dt>
          -<dd><a href="../../serialized-form.html#musichub.business.NoPlayListFoundException">Serialized Form</a></dd>
          -</dl>
          -</section>
          -<section class="summary">
          -<ul class="summary-list">
          -<!-- ======== CONSTRUCTOR SUMMARY ======== -->
          -<li>
          -<section class="constructor-summary" id="constructor.summary">
          -<h2>Constructor Summary</h2>
          -<div class="caption"><span>Constructors</span></div>
          -<div class="summary-table two-column-summary">
          -<div class="table-header col-first">Constructor</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-constructor-name even-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E(java.lang.String)">NoPlayListFoundException</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;msg)</code></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -</div>
          -</section>
          -</li>
          -<!-- ========== METHOD SUMMARY =========== -->
          -<li>
          -<section class="method-summary" id="method.summary">
          -<h2>Method Summary</h2>
          -<div class="inherited-list">
          -<h3 id="methods.inherited.from.class.java.lang.Throwable">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html" title="class or interface in java.lang" class="external-link">Throwable</a></h3>
          -<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#addSuppressed(java.lang.Throwable)" title="class or interface in java.lang" class="external-link">addSuppressed</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#fillInStackTrace()" title="class or interface in java.lang" class="external-link">fillInStackTrace</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#getCause()" title="class or interface in java.lang" class="external-link">getCause</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#getLocalizedMessage()" title="class or interface in java.lang" class="external-link">getLocalizedMessage</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#getMessage()" title="class or interface in java.lang" class="external-link">getMessage</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#getStackTrace()" title="class or interface in java.lang" class="external-link">getStackTrace</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#getSuppressed()" title="class or interface in java.lang" class="external-link">getSuppressed</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#initCause(java.lang.Throwable)" title="class or interface in java.lang" class="external-link">initCause</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#printStackTrace()" title="class or interface in java.lang" class="external-link">printStackTrace</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#printStackTrace(java.io.PrintStream)" title="class or interface in java.lang" class="external-link">printStackTrace</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#printStackTrace(java.io.PrintWriter)" title="class or interface in java.lang" class="external-link">printStackTrace</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#setStackTrace(java.lang.StackTraceElement%5B%5D)" title="class or interface in java.lang" class="external-link">setStackTrace</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#toString()" title="class or interface in java.lang" class="external-link">toString</a></code></div>
          -<div class="inherited-list">
          -<h3 id="methods.inherited.from.class.java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
          -<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -<section class="details">
          -<ul class="details-list">
          -<!-- ========= CONSTRUCTOR DETAIL ======== -->
          -<li>
          -<section class="constructor-details" id="constructor.detail">
          -<h2>Constructor Details</h2>
          -<ul class="member-list">
          -<li>
          -<section class="detail" id="&lt;init&gt;(java.lang.String)">
          -<h3>NoPlayListFoundException</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">NoPlayListFoundException</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;msg)</span></div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -</li>
          -</ul>
          -</section>
          -<!-- ========= END OF CLASS DATA ========= -->
          -</main>
          -<footer role="contentinfo">
          -<hr>
          -<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          -</footer>
          -</div>
          -</div>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/musichub/business/PlayList.html b/target/site/apidocs/musichub/business/PlayList.html
          deleted file mode 100644
          index a1ccc9b..0000000
          --- a/target/site/apidocs/musichub/business/PlayList.html
          +++ /dev/null
          @@ -1,215 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
          -<title>PlayList (spoteezer 0.1.0 API)</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="declaration: package: musichub.business, class: PlayList">
          -<meta name="generator" content="javadoc/ClassWriterImpl">
          -<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          -<script type="text/javascript" src="../../script.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          -</head>
          -<body class="class-declaration-page">
          -<script type="text/javascript">var evenRowColor = "even-row-color";
          -var oddRowColor = "odd-row-color";
          -var tableTab = "table-tab";
          -var activeTableTab = "active-table-tab";
          -var pathtoroot = "../../";
          -loadScripts(document, 'script');</script>
          -<noscript>
          -<div>JavaScript is disabled on your browser.</div>
          -</noscript>
          -<div class="flex-box">
          -<header role="banner" class="flex-header">
          -<nav role="navigation">
          -<!-- ========= START OF TOP NAVBAR ======= -->
          -<div class="top-nav" id="navbar.top">
          -<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          -<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          -<li><a href="../../index.html">Overview</a></li>
          -<li><a href="package-summary.html">Package</a></li>
          -<li class="nav-bar-cell1-rev">Class</li>
          -<li><a href="class-use/PlayList.html">Use</a></li>
          -<li><a href="package-tree.html">Tree</a></li>
          -<li><a href="../../index-all.html">Index</a></li>
          -<li><a href="../../help-doc.html">Help</a></li>
          -</ul>
          -</div>
          -<div class="sub-nav">
          -<div>
          -<ul class="sub-nav-list">
          -<li>Summary:&nbsp;</li>
          -<li>Nested&nbsp;|&nbsp;</li>
          -<li>Field&nbsp;|&nbsp;</li>
          -<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
          -<li><a href="#method.summary">Method</a></li>
          -</ul>
          -<ul class="sub-nav-list">
          -<li>Detail:&nbsp;</li>
          -<li>Field&nbsp;|&nbsp;</li>
          -<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
          -<li><a href="#method.detail">Method</a></li>
          -</ul>
          -</div>
          -<div class="nav-list-search"><label for="search">SEARCH:</label>
          -<input type="text" id="search" value="search" disabled="disabled">
          -<input type="reset" id="reset" value="reset" disabled="disabled">
          -</div>
          -</div>
          -<!-- ========= END OF TOP NAVBAR ========= -->
          -<span class="skip-nav" id="skip.navbar.top">
          -<!--   -->
          -</span></nav>
          -</header>
          -<div class="flex-content">
          -<main role="main">
          -<!-- ======== START OF CLASS DATA ======== -->
          -<div class="header">
          -<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">musichub.business</a></div>
          -<h1 title="Class PlayList" class="title">Class PlayList</h1>
          -</div>
          -<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
          -<div class="inheritance">musichub.business.PlayList</div>
          -</div>
          -<section class="description">
          -<hr>
          -<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">PlayList</span>
          -<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
          -</section>
          -<section class="summary">
          -<ul class="summary-list">
          -<!-- ======== CONSTRUCTOR SUMMARY ======== -->
          -<li>
          -<section class="constructor-summary" id="constructor.summary">
          -<h2>Constructor Summary</h2>
          -<div class="caption"><span>Constructors</span></div>
          -<div class="summary-table two-column-summary">
          -<div class="table-header col-first">Constructor</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-constructor-name even-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E(java.lang.String)">PlayList</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;title)</code></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -<div class="col-constructor-name odd-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E(java.lang.String,java.lang.String,java.util.ArrayList)">PlayList</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;title,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;id,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/UUID.html" title="class or interface in java.util" class="external-link">UUID</a>&gt;&nbsp;elementUUIDs)</code></div>
          -<div class="col-last odd-row-color">&nbsp;</div>
          -<div class="col-constructor-name even-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E(org.w3c.dom.Element)">PlayList</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom" class="external-link">Element</a>&nbsp;xmlElement)</code></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -</div>
          -</section>
          -</li>
          -<!-- ========== METHOD SUMMARY =========== -->
          -<li>
          -<section class="method-summary" id="method.summary">
          -<h2>Method Summary</h2>
          -<div id="method-summary-table">
          -<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
          -<div id="method-summary-table.tabpanel" role="tabpanel">
          -<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
          -<div class="table-header col-first">Modifier and Type</div>
          -<div class="table-header col-second">Method</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
          -<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#addElement(java.util.UUID)">addElement</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/UUID.html" title="class or interface in java.util" class="external-link">UUID</a>&nbsp;element)</code></div>
          -<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
          -<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)">createXMLElement</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom" class="external-link">Document</a>&nbsp;document,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom" class="external-link">Element</a>&nbsp;parentElement)</code></div>
          -<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/UUID.html" title="class or interface in java.util" class="external-link">UUID</a>&gt;</code></div>
          -<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getElements()">getElements</a></span>()</code></div>
          -<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
          -<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getTitle()">getTitle</a></span>()</code></div>
          -<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -</div>
          -</div>
          -</div>
          -<div class="inherited-list">
          -<h3 id="methods.inherited.from.class.java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
          -<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -<section class="details">
          -<ul class="details-list">
          -<!-- ========= CONSTRUCTOR DETAIL ======== -->
          -<li>
          -<section class="constructor-details" id="constructor.detail">
          -<h2>Constructor Details</h2>
          -<ul class="member-list">
          -<li>
          -<section class="detail" id="&lt;init&gt;(java.lang.String,java.lang.String,java.util.ArrayList)">
          -<h3>PlayList</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">PlayList</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;title,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;id,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/UUID.html" title="class or interface in java.util" class="external-link">UUID</a>&gt;&nbsp;elementUUIDs)</span></div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="&lt;init&gt;(java.lang.String)">
          -<h3>PlayList</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">PlayList</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;title)</span></div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="&lt;init&gt;(org.w3c.dom.Element)">
          -<h3>PlayList</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">PlayList</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom" class="external-link">Element</a>&nbsp;xmlElement)</span></div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -</li>
          -<!-- ============ METHOD DETAIL ========== -->
          -<li>
          -<section class="method-details" id="method.detail">
          -<h2>Method Details</h2>
          -<ul class="member-list">
          -<li>
          -<section class="detail" id="addElement(java.util.UUID)">
          -<h3>addElement</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">addElement</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/UUID.html" title="class or interface in java.util" class="external-link">UUID</a>&nbsp;element)</span></div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="getElements()">
          -<h3>getElements</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/UUID.html" title="class or interface in java.util" class="external-link">UUID</a>&gt;</span>&nbsp;<span class="element-name">getElements</span>()</div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="getTitle()">
          -<h3>getTitle</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getTitle</span>()</div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)">
          -<h3>createXMLElement</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">createXMLElement</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom" class="external-link">Document</a>&nbsp;document,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom" class="external-link">Element</a>&nbsp;parentElement)</span></div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -</li>
          -</ul>
          -</section>
          -<!-- ========= END OF CLASS DATA ========= -->
          -</main>
          -<footer role="contentinfo">
          -<hr>
          -<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          -</footer>
          -</div>
          -</div>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/musichub/business/Song.html b/target/site/apidocs/musichub/business/Song.html
          deleted file mode 100644
          index 82582dd..0000000
          --- a/target/site/apidocs/musichub/business/Song.html
          +++ /dev/null
          @@ -1,251 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
          -<title>Song (spoteezer 0.1.0 API)</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="declaration: package: musichub.business, class: Song">
          -<meta name="generator" content="javadoc/ClassWriterImpl">
          -<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          -<script type="text/javascript" src="../../script.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          -</head>
          -<body class="class-declaration-page">
          -<script type="text/javascript">var evenRowColor = "even-row-color";
          -var oddRowColor = "odd-row-color";
          -var tableTab = "table-tab";
          -var activeTableTab = "active-table-tab";
          -var pathtoroot = "../../";
          -loadScripts(document, 'script');</script>
          -<noscript>
          -<div>JavaScript is disabled on your browser.</div>
          -</noscript>
          -<div class="flex-box">
          -<header role="banner" class="flex-header">
          -<nav role="navigation">
          -<!-- ========= START OF TOP NAVBAR ======= -->
          -<div class="top-nav" id="navbar.top">
          -<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          -<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          -<li><a href="../../index.html">Overview</a></li>
          -<li><a href="package-summary.html">Package</a></li>
          -<li class="nav-bar-cell1-rev">Class</li>
          -<li><a href="class-use/Song.html">Use</a></li>
          -<li><a href="package-tree.html">Tree</a></li>
          -<li><a href="../../index-all.html">Index</a></li>
          -<li><a href="../../help-doc.html">Help</a></li>
          -</ul>
          -</div>
          -<div class="sub-nav">
          -<div>
          -<ul class="sub-nav-list">
          -<li>Summary:&nbsp;</li>
          -<li>Nested&nbsp;|&nbsp;</li>
          -<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
          -<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
          -<li><a href="#method.summary">Method</a></li>
          -</ul>
          -<ul class="sub-nav-list">
          -<li>Detail:&nbsp;</li>
          -<li>Field&nbsp;|&nbsp;</li>
          -<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
          -<li><a href="#method.detail">Method</a></li>
          -</ul>
          -</div>
          -<div class="nav-list-search"><label for="search">SEARCH:</label>
          -<input type="text" id="search" value="search" disabled="disabled">
          -<input type="reset" id="reset" value="reset" disabled="disabled">
          -</div>
          -</div>
          -<!-- ========= END OF TOP NAVBAR ========= -->
          -<span class="skip-nav" id="skip.navbar.top">
          -<!--   -->
          -</span></nav>
          -</header>
          -<div class="flex-content">
          -<main role="main">
          -<!-- ======== START OF CLASS DATA ======== -->
          -<div class="header">
          -<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">musichub.business</a></div>
          -<h1 title="Class Song" class="title">Class Song</h1>
          -</div>
          -<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
          -<div class="inheritance"><a href="AudioElement.html" title="class in musichub.business">musichub.business.AudioElement</a>
          -<div class="inheritance">musichub.business.Song</div>
          -</div>
          -</div>
          -<section class="description">
          -<hr>
          -<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">Song</span>
          -<span class="extends-implements">extends <a href="AudioElement.html" title="class in musichub.business">AudioElement</a></span></div>
          -</section>
          -<section class="summary">
          -<ul class="summary-list">
          -<!-- =========== FIELD SUMMARY =========== -->
          -<li>
          -<section class="field-summary" id="field.summary">
          -<h2>Field Summary</h2>
          -<div class="inherited-list">
          -<h3 id="fields.inherited.from.class.musichub.business.AudioElement">Fields inherited from class&nbsp;musichub.business.<a href="AudioElement.html" title="class in musichub.business">AudioElement</a></h3>
          -<code><a href="AudioElement.html#artist">artist</a>, <a href="AudioElement.html#content">content</a>, <a href="AudioElement.html#lengthInSeconds">lengthInSeconds</a>, <a href="AudioElement.html#title">title</a>, <a href="AudioElement.html#uuid">uuid</a></code></div>
          -</section>
          -</li>
          -<!-- ======== CONSTRUCTOR SUMMARY ======== -->
          -<li>
          -<section class="constructor-summary" id="constructor.summary">
          -<h2>Constructor Summary</h2>
          -<div class="caption"><span>Constructors</span></div>
          -<div class="summary-table two-column-summary">
          -<div class="table-header col-first">Constructor</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-constructor-name even-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String)">Song</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;title,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;artist,
          - int&nbsp;length,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;content,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;genre)</code></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -<div class="col-constructor-name odd-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String)">Song</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;title,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;artist,
          - int&nbsp;length,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;uid,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;content,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;genre)</code></div>
          -<div class="col-last odd-row-color">&nbsp;</div>
          -<div class="col-constructor-name even-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E(org.w3c.dom.Element)">Song</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom" class="external-link">Element</a>&nbsp;xmlElement)</code></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -</div>
          -</section>
          -</li>
          -<!-- ========== METHOD SUMMARY =========== -->
          -<li>
          -<section class="method-summary" id="method.summary">
          -<h2>Method Summary</h2>
          -<div id="method-summary-table">
          -<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
          -<div id="method-summary-table.tabpanel" role="tabpanel">
          -<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
          -<div class="table-header col-first">Modifier and Type</div>
          -<div class="table-header col-second">Method</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
          -<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)">createXMLElement</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom" class="external-link">Document</a>&nbsp;document,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom" class="external-link">Element</a>&nbsp;parentElement)</code></div>
          -<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
          -<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getGenre()">getGenre</a></span>()</code></div>
          -<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
          -<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#setGenre(java.lang.String)">setGenre</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;genre)</code></div>
          -<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
          -<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#toString()">toString</a></span>()</code></div>
          -<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -</div>
          -</div>
          -</div>
          -<div class="inherited-list">
          -<h3 id="methods.inherited.from.class.musichub.business.AudioElement">Methods inherited from class&nbsp;musichub.business.<a href="AudioElement.html" title="class in musichub.business">AudioElement</a></h3>
          -<code><a href="AudioElement.html#getArtist()">getArtist</a>, <a href="AudioElement.html#getTitle()">getTitle</a>, <a href="AudioElement.html#getUUID()">getUUID</a>, <a href="AudioElement.html#manageAudioElement()">manageAudioElement</a></code></div>
          -<div class="inherited-list">
          -<h3 id="methods.inherited.from.class.java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
          -<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -<section class="details">
          -<ul class="details-list">
          -<!-- ========= CONSTRUCTOR DETAIL ======== -->
          -<li>
          -<section class="constructor-details" id="constructor.detail">
          -<h2>Constructor Details</h2>
          -<ul class="member-list">
          -<li>
          -<section class="detail" id="&lt;init&gt;(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String)">
          -<h3>Song</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">Song</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;title,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;artist,
          - int&nbsp;length,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;uid,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;content,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;genre)</span></div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="&lt;init&gt;(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String)">
          -<h3>Song</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">Song</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;title,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;artist,
          - int&nbsp;length,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;content,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;genre)</span></div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="&lt;init&gt;(org.w3c.dom.Element)">
          -<h3>Song</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">Song</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom" class="external-link">Element</a>&nbsp;xmlElement)</span></div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -</li>
          -<!-- ============ METHOD DETAIL ========== -->
          -<li>
          -<section class="method-details" id="method.detail">
          -<h2>Method Details</h2>
          -<ul class="member-list">
          -<li>
          -<section class="detail" id="getGenre()">
          -<h3>getGenre</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getGenre</span>()</div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="setGenre(java.lang.String)">
          -<h3>setGenre</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setGenre</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;genre)</span></div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="toString()">
          -<h3>toString</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">toString</span>()</div>
          -<dl class="notes">
          -<dt>Overrides:</dt>
          -<dd><code><a href="AudioElement.html#toString()">toString</a></code>&nbsp;in class&nbsp;<code><a href="AudioElement.html" title="class in musichub.business">AudioElement</a></code></dd>
          -</dl>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)">
          -<h3>createXMLElement</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">createXMLElement</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom" class="external-link">Document</a>&nbsp;document,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom" class="external-link">Element</a>&nbsp;parentElement)</span></div>
          -<dl class="notes">
          -<dt>Overrides:</dt>
          -<dd><code><a href="AudioElement.html#createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)">createXMLElement</a></code>&nbsp;in class&nbsp;<code><a href="AudioElement.html" title="class in musichub.business">AudioElement</a></code></dd>
          -</dl>
          -</section>
          -</li>
          -</ul>
          -</section>
          -</li>
          -</ul>
          -</section>
          -<!-- ========= END OF CLASS DATA ========= -->
          -</main>
          -<footer role="contentinfo">
          -<hr>
          -<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          -</footer>
          -</div>
          -</div>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/musichub/business/class-use/Album.html b/target/site/apidocs/musichub/business/class-use/Album.html
          deleted file mode 100644
          index 097e8c7..0000000
          --- a/target/site/apidocs/musichub/business/class-use/Album.html
          +++ /dev/null
          @@ -1,99 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
          -<title>Uses of Class musichub.business.Album (spoteezer 0.1.0 API)</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="use: package: musichub.business, class: Album">
          -<meta name="generator" content="javadoc/ClassUseWriter">
          -<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.min.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../../jquery-ui.overrides.css" title="Style">
          -<script type="text/javascript" src="../../../script.js"></script>
          -<script type="text/javascript" src="../../../script-dir/jquery-3.5.1.min.js"></script>
          -<script type="text/javascript" src="../../../script-dir/jquery-ui.min.js"></script>
          -</head>
          -<body class="class-use-page">
          -<script type="text/javascript">var pathtoroot = "../../../";
          -loadScripts(document, 'script');</script>
          -<noscript>
          -<div>JavaScript is disabled on your browser.</div>
          -</noscript>
          -<div class="flex-box">
          -<header role="banner" class="flex-header">
          -<nav role="navigation">
          -<!-- ========= START OF TOP NAVBAR ======= -->
          -<div class="top-nav" id="navbar.top">
          -<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          -<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          -<li><a href="../../../index.html">Overview</a></li>
          -<li><a href="../package-summary.html">Package</a></li>
          -<li><a href="../Album.html" title="class in musichub.business">Class</a></li>
          -<li class="nav-bar-cell1-rev">Use</li>
          -<li><a href="../package-tree.html">Tree</a></li>
          -<li><a href="../../../index-all.html">Index</a></li>
          -<li><a href="../../../help-doc.html">Help</a></li>
          -</ul>
          -</div>
          -<div class="sub-nav">
          -<div class="nav-list-search"><label for="search">SEARCH:</label>
          -<input type="text" id="search" value="search" disabled="disabled">
          -<input type="reset" id="reset" value="reset" disabled="disabled">
          -</div>
          -</div>
          -<!-- ========= END OF TOP NAVBAR ========= -->
          -<span class="skip-nav" id="skip.navbar.top">
          -<!--   -->
          -</span></nav>
          -</header>
          -<div class="flex-content">
          -<main role="main">
          -<div class="header">
          -<h1 title="Uses of Class musichub.business.Album" class="title">Uses of Class<br>musichub.business.Album</h1>
          -</div>
          -<div class="caption"><span>Packages that use <a href="../Album.html" title="class in musichub.business">Album</a></span></div>
          -<div class="summary-table two-column-summary">
          -<div class="table-header col-first">Package</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color"><a href="#musichub.business">musichub.business</a></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -</div>
          -<section class="class-uses">
          -<ul class="block-list">
          -<li>
          -<section class="detail" id="musichub.business">
          -<h2>Uses of <a href="../Album.html" title="class in musichub.business">Album</a> in <a href="../package-summary.html">musichub.business</a></h2>
          -<div class="caption"><span>Methods in <a href="../package-summary.html">musichub.business</a> that return types with arguments of type <a href="../Album.html" title="class in musichub.business">Album</a></span></div>
          -<div class="summary-table three-column-summary">
          -<div class="table-header col-first">Modifier and Type</div>
          -<div class="table-header col-second">Method</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link">Iterator</a>&lt;<a href="../Album.html" title="class in musichub.business">Album</a>&gt;</code></div>
          -<div class="col-second even-row-color"><span class="type-name-label">MusicHub.</span><code><span class="member-name-link"><a href="../MusicHub.html#albums()">albums</a></span>()</code></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -</div>
          -<div class="caption"><span>Methods in <a href="../package-summary.html">musichub.business</a> with parameters of type <a href="../Album.html" title="class in musichub.business">Album</a></span></div>
          -<div class="summary-table three-column-summary">
          -<div class="table-header col-first">Modifier and Type</div>
          -<div class="table-header col-second">Method</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color"><code>void</code></div>
          -<div class="col-second even-row-color"><span class="type-name-label">MusicHub.</span><code><span class="member-name-link"><a href="../MusicHub.html#addAlbum(musichub.business.Album)">addAlbum</a></span>&#8203;(<a href="../Album.html" title="class in musichub.business">Album</a>&nbsp;album)</code></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -</div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -</main>
          -<footer role="contentinfo">
          -<hr>
          -<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          -</footer>
          -</div>
          -</div>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/musichub/business/class-use/AudioBook.html b/target/site/apidocs/musichub/business/class-use/AudioBook.html
          deleted file mode 100644
          index a109ca3..0000000
          --- a/target/site/apidocs/musichub/business/class-use/AudioBook.html
          +++ /dev/null
          @@ -1,65 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
          -<title>Uses of Class musichub.business.AudioBook (spoteezer 0.1.0 API)</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="use: package: musichub.business, class: AudioBook">
          -<meta name="generator" content="javadoc/ClassUseWriter">
          -<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.min.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../../jquery-ui.overrides.css" title="Style">
          -<script type="text/javascript" src="../../../script.js"></script>
          -<script type="text/javascript" src="../../../script-dir/jquery-3.5.1.min.js"></script>
          -<script type="text/javascript" src="../../../script-dir/jquery-ui.min.js"></script>
          -</head>
          -<body class="class-use-page">
          -<script type="text/javascript">var pathtoroot = "../../../";
          -loadScripts(document, 'script');</script>
          -<noscript>
          -<div>JavaScript is disabled on your browser.</div>
          -</noscript>
          -<div class="flex-box">
          -<header role="banner" class="flex-header">
          -<nav role="navigation">
          -<!-- ========= START OF TOP NAVBAR ======= -->
          -<div class="top-nav" id="navbar.top">
          -<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          -<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          -<li><a href="../../../index.html">Overview</a></li>
          -<li><a href="../package-summary.html">Package</a></li>
          -<li><a href="../AudioBook.html" title="class in musichub.business">Class</a></li>
          -<li class="nav-bar-cell1-rev">Use</li>
          -<li><a href="../package-tree.html">Tree</a></li>
          -<li><a href="../../../index-all.html">Index</a></li>
          -<li><a href="../../../help-doc.html">Help</a></li>
          -</ul>
          -</div>
          -<div class="sub-nav">
          -<div class="nav-list-search"><label for="search">SEARCH:</label>
          -<input type="text" id="search" value="search" disabled="disabled">
          -<input type="reset" id="reset" value="reset" disabled="disabled">
          -</div>
          -</div>
          -<!-- ========= END OF TOP NAVBAR ========= -->
          -<span class="skip-nav" id="skip.navbar.top">
          -<!--   -->
          -</span></nav>
          -</header>
          -<div class="flex-content">
          -<main role="main">
          -<div class="header">
          -<h1 title="Uses of Class musichub.business.AudioBook" class="title">Uses of Class<br>musichub.business.AudioBook</h1>
          -</div>
          -No usage of musichub.business.AudioBook</main>
          -<footer role="contentinfo">
          -<hr>
          -<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          -</footer>
          -</div>
          -</div>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/musichub/business/class-use/AudioElement.html b/target/site/apidocs/musichub/business/class-use/AudioElement.html
          deleted file mode 100644
          index 1249775..0000000
          --- a/target/site/apidocs/musichub/business/class-use/AudioElement.html
          +++ /dev/null
          @@ -1,124 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
          -<title>Uses of Class musichub.business.AudioElement (spoteezer 0.1.0 API)</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="use: package: musichub.business, class: AudioElement">
          -<meta name="generator" content="javadoc/ClassUseWriter">
          -<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.min.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../../jquery-ui.overrides.css" title="Style">
          -<script type="text/javascript" src="../../../script.js"></script>
          -<script type="text/javascript" src="../../../script-dir/jquery-3.5.1.min.js"></script>
          -<script type="text/javascript" src="../../../script-dir/jquery-ui.min.js"></script>
          -</head>
          -<body class="class-use-page">
          -<script type="text/javascript">var pathtoroot = "../../../";
          -loadScripts(document, 'script');</script>
          -<noscript>
          -<div>JavaScript is disabled on your browser.</div>
          -</noscript>
          -<div class="flex-box">
          -<header role="banner" class="flex-header">
          -<nav role="navigation">
          -<!-- ========= START OF TOP NAVBAR ======= -->
          -<div class="top-nav" id="navbar.top">
          -<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          -<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          -<li><a href="../../../index.html">Overview</a></li>
          -<li><a href="../package-summary.html">Package</a></li>
          -<li><a href="../AudioElement.html" title="class in musichub.business">Class</a></li>
          -<li class="nav-bar-cell1-rev">Use</li>
          -<li><a href="../package-tree.html">Tree</a></li>
          -<li><a href="../../../index-all.html">Index</a></li>
          -<li><a href="../../../help-doc.html">Help</a></li>
          -</ul>
          -</div>
          -<div class="sub-nav">
          -<div class="nav-list-search"><label for="search">SEARCH:</label>
          -<input type="text" id="search" value="search" disabled="disabled">
          -<input type="reset" id="reset" value="reset" disabled="disabled">
          -</div>
          -</div>
          -<!-- ========= END OF TOP NAVBAR ========= -->
          -<span class="skip-nav" id="skip.navbar.top">
          -<!--   -->
          -</span></nav>
          -</header>
          -<div class="flex-content">
          -<main role="main">
          -<div class="header">
          -<h1 title="Uses of Class musichub.business.AudioElement" class="title">Uses of Class<br>musichub.business.AudioElement</h1>
          -</div>
          -<div class="caption"><span>Packages that use <a href="../AudioElement.html" title="class in musichub.business">AudioElement</a></span></div>
          -<div class="summary-table two-column-summary">
          -<div class="table-header col-first">Package</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color"><a href="#musichub.business">musichub.business</a></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -</div>
          -<section class="class-uses">
          -<ul class="block-list">
          -<li>
          -<section class="detail" id="musichub.business">
          -<h2>Uses of <a href="../AudioElement.html" title="class in musichub.business">AudioElement</a> in <a href="../package-summary.html">musichub.business</a></h2>
          -<div class="caption"><span>Subclasses of <a href="../AudioElement.html" title="class in musichub.business">AudioElement</a> in <a href="../package-summary.html">musichub.business</a></span></div>
          -<div class="summary-table three-column-summary">
          -<div class="table-header col-first">Modifier and Type</div>
          -<div class="table-header col-second">Class</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color"><code>class&nbsp;</code></div>
          -<div class="col-second even-row-color"><code><span class="member-name-link"><a href="../AudioBook.html" title="class in musichub.business">AudioBook</a></span></code></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -<div class="col-first odd-row-color"><code>class&nbsp;</code></div>
          -<div class="col-second odd-row-color"><code><span class="member-name-link"><a href="../Song.html" title="class in musichub.business">Song</a></span></code></div>
          -<div class="col-last odd-row-color">&nbsp;</div>
          -</div>
          -<div class="caption"><span>Methods in <a href="../package-summary.html">musichub.business</a> that return types with arguments of type <a href="../AudioElement.html" title="class in musichub.business">AudioElement</a></span></div>
          -<div class="summary-table three-column-summary">
          -<div class="table-header col-first">Modifier and Type</div>
          -<div class="table-header col-second">Method</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link">Iterator</a>&lt;<a href="../AudioElement.html" title="class in musichub.business">AudioElement</a>&gt;</code></div>
          -<div class="col-second even-row-color"><span class="type-name-label">MusicHub.</span><code><span class="member-name-link"><a href="../MusicHub.html#elements()">elements</a></span>()</code></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -<div class="col-first odd-row-color"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../AudioElement.html" title="class in musichub.business">AudioElement</a>&gt;</code></div>
          -<div class="col-second odd-row-color"><span class="type-name-label">MusicHub.</span><code><span class="member-name-link"><a href="../MusicHub.html#getAlbumSongs(java.lang.String)">getAlbumSongs</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;albumTitle)</code></div>
          -<div class="col-last odd-row-color">&nbsp;</div>
          -</div>
          -<div class="caption"><span>Methods in <a href="../package-summary.html">musichub.business</a> with parameters of type <a href="../AudioElement.html" title="class in musichub.business">AudioElement</a></span></div>
          -<div class="summary-table three-column-summary">
          -<div class="table-header col-first">Modifier and Type</div>
          -<div class="table-header col-second">Method</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color"><code>void</code></div>
          -<div class="col-second even-row-color"><span class="type-name-label">MusicHub.</span><code><span class="member-name-link"><a href="../MusicHub.html#addElement(musichub.business.AudioElement)">addElement</a></span>&#8203;(<a href="../AudioElement.html" title="class in musichub.business">AudioElement</a>&nbsp;element)</code></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -</div>
          -<div class="caption"><span>Method parameters in <a href="../package-summary.html">musichub.business</a> with type arguments of type <a href="../AudioElement.html" title="class in musichub.business">AudioElement</a></span></div>
          -<div class="summary-table three-column-summary">
          -<div class="table-header col-first">Modifier and Type</div>
          -<div class="table-header col-second">Method</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color"><code>void</code></div>
          -<div class="col-second even-row-color"><span class="type-name-label">MusicHub.</span><code><span class="member-name-link"><a href="../MusicHub.html#getAudioElement(java.util.List,java.lang.String)">getAudioElement</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../AudioElement.html" title="class in musichub.business">AudioElement</a>&gt;&nbsp;audios,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;elementTitle)</code></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -</div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -</main>
          -<footer role="contentinfo">
          -<hr>
          -<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          -</footer>
          -</div>
          -</div>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/musichub/business/class-use/Category.html b/target/site/apidocs/musichub/business/class-use/Category.html
          deleted file mode 100644
          index 022df3a..0000000
          --- a/target/site/apidocs/musichub/business/class-use/Category.html
          +++ /dev/null
          @@ -1,101 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
          -<title>Uses of Enum Class musichub.business.Category (spoteezer 0.1.0 API)</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="use: package: musichub.business, enum: Category">
          -<meta name="generator" content="javadoc/ClassUseWriter">
          -<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.min.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../../jquery-ui.overrides.css" title="Style">
          -<script type="text/javascript" src="../../../script.js"></script>
          -<script type="text/javascript" src="../../../script-dir/jquery-3.5.1.min.js"></script>
          -<script type="text/javascript" src="../../../script-dir/jquery-ui.min.js"></script>
          -</head>
          -<body class="class-use-page">
          -<script type="text/javascript">var pathtoroot = "../../../";
          -loadScripts(document, 'script');</script>
          -<noscript>
          -<div>JavaScript is disabled on your browser.</div>
          -</noscript>
          -<div class="flex-box">
          -<header role="banner" class="flex-header">
          -<nav role="navigation">
          -<!-- ========= START OF TOP NAVBAR ======= -->
          -<div class="top-nav" id="navbar.top">
          -<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          -<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          -<li><a href="../../../index.html">Overview</a></li>
          -<li><a href="../package-summary.html">Package</a></li>
          -<li><a href="../Category.html" title="enum class in musichub.business">Class</a></li>
          -<li class="nav-bar-cell1-rev">Use</li>
          -<li><a href="../package-tree.html">Tree</a></li>
          -<li><a href="../../../index-all.html">Index</a></li>
          -<li><a href="../../../help-doc.html">Help</a></li>
          -</ul>
          -</div>
          -<div class="sub-nav">
          -<div class="nav-list-search"><label for="search">SEARCH:</label>
          -<input type="text" id="search" value="search" disabled="disabled">
          -<input type="reset" id="reset" value="reset" disabled="disabled">
          -</div>
          -</div>
          -<!-- ========= END OF TOP NAVBAR ========= -->
          -<span class="skip-nav" id="skip.navbar.top">
          -<!--   -->
          -</span></nav>
          -</header>
          -<div class="flex-content">
          -<main role="main">
          -<div class="header">
          -<h1 title="Uses of Enum Class musichub.business.Category" class="title">Uses of Enum Class<br>musichub.business.Category</h1>
          -</div>
          -<div class="caption"><span>Packages that use <a href="../Category.html" title="enum class in musichub.business">Category</a></span></div>
          -<div class="summary-table two-column-summary">
          -<div class="table-header col-first">Package</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color"><a href="#musichub.business">musichub.business</a></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -</div>
          -<section class="class-uses">
          -<ul class="block-list">
          -<li>
          -<section class="detail" id="musichub.business">
          -<h2>Uses of <a href="../Category.html" title="enum class in musichub.business">Category</a> in <a href="../package-summary.html">musichub.business</a></h2>
          -<div class="caption"><span>Methods in <a href="../package-summary.html">musichub.business</a> that return <a href="../Category.html" title="enum class in musichub.business">Category</a></span></div>
          -<div class="summary-table three-column-summary">
          -<div class="table-header col-first">Modifier and Type</div>
          -<div class="table-header col-second">Method</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color"><code><a href="../Category.html" title="enum class in musichub.business">Category</a></code></div>
          -<div class="col-second even-row-color"><span class="type-name-label">AudioBook.</span><code><span class="member-name-link"><a href="../AudioBook.html#getCategory()">getCategory</a></span>()</code></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -<div class="col-first odd-row-color"><code>static <a href="../Category.html" title="enum class in musichub.business">Category</a></code></div>
          -<div class="col-second odd-row-color"><span class="type-name-label">Category.</span><code><span class="member-name-link"><a href="../Category.html#valueOf(java.lang.String)">valueOf</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</code></div>
          -<div class="col-last odd-row-color">
          -<div class="block">Returns the enum constant of this class with the specified name.</div>
          -</div>
          -<div class="col-first even-row-color"><code>static <a href="../Category.html" title="enum class in musichub.business">Category</a>[]</code></div>
          -<div class="col-second even-row-color"><span class="type-name-label">Category.</span><code><span class="member-name-link"><a href="../Category.html#values()">values</a></span>()</code></div>
          -<div class="col-last even-row-color">
          -<div class="block">Returns an array containing the constants of this enum class, in
          -the order they are declared.</div>
          -</div>
          -</div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -</main>
          -<footer role="contentinfo">
          -<hr>
          -<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          -</footer>
          -</div>
          -</div>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/musichub/business/class-use/Genre.html b/target/site/apidocs/musichub/business/class-use/Genre.html
          deleted file mode 100644
          index a9cd613..0000000
          --- a/target/site/apidocs/musichub/business/class-use/Genre.html
          +++ /dev/null
          @@ -1,98 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
          -<title>Uses of Enum Class musichub.business.Genre (spoteezer 0.1.0 API)</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="use: package: musichub.business, enum: Genre">
          -<meta name="generator" content="javadoc/ClassUseWriter">
          -<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.min.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../../jquery-ui.overrides.css" title="Style">
          -<script type="text/javascript" src="../../../script.js"></script>
          -<script type="text/javascript" src="../../../script-dir/jquery-3.5.1.min.js"></script>
          -<script type="text/javascript" src="../../../script-dir/jquery-ui.min.js"></script>
          -</head>
          -<body class="class-use-page">
          -<script type="text/javascript">var pathtoroot = "../../../";
          -loadScripts(document, 'script');</script>
          -<noscript>
          -<div>JavaScript is disabled on your browser.</div>
          -</noscript>
          -<div class="flex-box">
          -<header role="banner" class="flex-header">
          -<nav role="navigation">
          -<!-- ========= START OF TOP NAVBAR ======= -->
          -<div class="top-nav" id="navbar.top">
          -<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          -<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          -<li><a href="../../../index.html">Overview</a></li>
          -<li><a href="../package-summary.html">Package</a></li>
          -<li><a href="../Genre.html" title="enum class in musichub.business">Class</a></li>
          -<li class="nav-bar-cell1-rev">Use</li>
          -<li><a href="../package-tree.html">Tree</a></li>
          -<li><a href="../../../index-all.html">Index</a></li>
          -<li><a href="../../../help-doc.html">Help</a></li>
          -</ul>
          -</div>
          -<div class="sub-nav">
          -<div class="nav-list-search"><label for="search">SEARCH:</label>
          -<input type="text" id="search" value="search" disabled="disabled">
          -<input type="reset" id="reset" value="reset" disabled="disabled">
          -</div>
          -</div>
          -<!-- ========= END OF TOP NAVBAR ========= -->
          -<span class="skip-nav" id="skip.navbar.top">
          -<!--   -->
          -</span></nav>
          -</header>
          -<div class="flex-content">
          -<main role="main">
          -<div class="header">
          -<h1 title="Uses of Enum Class musichub.business.Genre" class="title">Uses of Enum Class<br>musichub.business.Genre</h1>
          -</div>
          -<div class="caption"><span>Packages that use <a href="../Genre.html" title="enum class in musichub.business">Genre</a></span></div>
          -<div class="summary-table two-column-summary">
          -<div class="table-header col-first">Package</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color"><a href="#musichub.business">musichub.business</a></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -</div>
          -<section class="class-uses">
          -<ul class="block-list">
          -<li>
          -<section class="detail" id="musichub.business">
          -<h2>Uses of <a href="../Genre.html" title="enum class in musichub.business">Genre</a> in <a href="../package-summary.html">musichub.business</a></h2>
          -<div class="caption"><span>Methods in <a href="../package-summary.html">musichub.business</a> that return <a href="../Genre.html" title="enum class in musichub.business">Genre</a></span></div>
          -<div class="summary-table three-column-summary">
          -<div class="table-header col-first">Modifier and Type</div>
          -<div class="table-header col-second">Method</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color"><code>static <a href="../Genre.html" title="enum class in musichub.business">Genre</a></code></div>
          -<div class="col-second even-row-color"><span class="type-name-label">Genre.</span><code><span class="member-name-link"><a href="../Genre.html#valueOf(java.lang.String)">valueOf</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</code></div>
          -<div class="col-last even-row-color">
          -<div class="block">Returns the enum constant of this class with the specified name.</div>
          -</div>
          -<div class="col-first odd-row-color"><code>static <a href="../Genre.html" title="enum class in musichub.business">Genre</a>[]</code></div>
          -<div class="col-second odd-row-color"><span class="type-name-label">Genre.</span><code><span class="member-name-link"><a href="../Genre.html#values()">values</a></span>()</code></div>
          -<div class="col-last odd-row-color">
          -<div class="block">Returns an array containing the constants of this enum class, in
          -the order they are declared.</div>
          -</div>
          -</div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -</main>
          -<footer role="contentinfo">
          -<hr>
          -<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          -</footer>
          -</div>
          -</div>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/musichub/business/class-use/Language.html b/target/site/apidocs/musichub/business/class-use/Language.html
          deleted file mode 100644
          index 86ed23a..0000000
          --- a/target/site/apidocs/musichub/business/class-use/Language.html
          +++ /dev/null
          @@ -1,101 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
          -<title>Uses of Enum Class musichub.business.Language (spoteezer 0.1.0 API)</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="use: package: musichub.business, enum: Language">
          -<meta name="generator" content="javadoc/ClassUseWriter">
          -<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.min.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../../jquery-ui.overrides.css" title="Style">
          -<script type="text/javascript" src="../../../script.js"></script>
          -<script type="text/javascript" src="../../../script-dir/jquery-3.5.1.min.js"></script>
          -<script type="text/javascript" src="../../../script-dir/jquery-ui.min.js"></script>
          -</head>
          -<body class="class-use-page">
          -<script type="text/javascript">var pathtoroot = "../../../";
          -loadScripts(document, 'script');</script>
          -<noscript>
          -<div>JavaScript is disabled on your browser.</div>
          -</noscript>
          -<div class="flex-box">
          -<header role="banner" class="flex-header">
          -<nav role="navigation">
          -<!-- ========= START OF TOP NAVBAR ======= -->
          -<div class="top-nav" id="navbar.top">
          -<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          -<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          -<li><a href="../../../index.html">Overview</a></li>
          -<li><a href="../package-summary.html">Package</a></li>
          -<li><a href="../Language.html" title="enum class in musichub.business">Class</a></li>
          -<li class="nav-bar-cell1-rev">Use</li>
          -<li><a href="../package-tree.html">Tree</a></li>
          -<li><a href="../../../index-all.html">Index</a></li>
          -<li><a href="../../../help-doc.html">Help</a></li>
          -</ul>
          -</div>
          -<div class="sub-nav">
          -<div class="nav-list-search"><label for="search">SEARCH:</label>
          -<input type="text" id="search" value="search" disabled="disabled">
          -<input type="reset" id="reset" value="reset" disabled="disabled">
          -</div>
          -</div>
          -<!-- ========= END OF TOP NAVBAR ========= -->
          -<span class="skip-nav" id="skip.navbar.top">
          -<!--   -->
          -</span></nav>
          -</header>
          -<div class="flex-content">
          -<main role="main">
          -<div class="header">
          -<h1 title="Uses of Enum Class musichub.business.Language" class="title">Uses of Enum Class<br>musichub.business.Language</h1>
          -</div>
          -<div class="caption"><span>Packages that use <a href="../Language.html" title="enum class in musichub.business">Language</a></span></div>
          -<div class="summary-table two-column-summary">
          -<div class="table-header col-first">Package</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color"><a href="#musichub.business">musichub.business</a></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -</div>
          -<section class="class-uses">
          -<ul class="block-list">
          -<li>
          -<section class="detail" id="musichub.business">
          -<h2>Uses of <a href="../Language.html" title="enum class in musichub.business">Language</a> in <a href="../package-summary.html">musichub.business</a></h2>
          -<div class="caption"><span>Methods in <a href="../package-summary.html">musichub.business</a> that return <a href="../Language.html" title="enum class in musichub.business">Language</a></span></div>
          -<div class="summary-table three-column-summary">
          -<div class="table-header col-first">Modifier and Type</div>
          -<div class="table-header col-second">Method</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color"><code><a href="../Language.html" title="enum class in musichub.business">Language</a></code></div>
          -<div class="col-second even-row-color"><span class="type-name-label">AudioBook.</span><code><span class="member-name-link"><a href="../AudioBook.html#getLanguage()">getLanguage</a></span>()</code></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -<div class="col-first odd-row-color"><code>static <a href="../Language.html" title="enum class in musichub.business">Language</a></code></div>
          -<div class="col-second odd-row-color"><span class="type-name-label">Language.</span><code><span class="member-name-link"><a href="../Language.html#valueOf(java.lang.String)">valueOf</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</code></div>
          -<div class="col-last odd-row-color">
          -<div class="block">Returns the enum constant of this class with the specified name.</div>
          -</div>
          -<div class="col-first even-row-color"><code>static <a href="../Language.html" title="enum class in musichub.business">Language</a>[]</code></div>
          -<div class="col-second even-row-color"><span class="type-name-label">Language.</span><code><span class="member-name-link"><a href="../Language.html#values()">values</a></span>()</code></div>
          -<div class="col-last even-row-color">
          -<div class="block">Returns an array containing the constants of this enum class, in
          -the order they are declared.</div>
          -</div>
          -</div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -</main>
          -<footer role="contentinfo">
          -<hr>
          -<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          -</footer>
          -</div>
          -</div>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/musichub/business/class-use/MusicHub.html b/target/site/apidocs/musichub/business/class-use/MusicHub.html
          deleted file mode 100644
          index 683a7e5..0000000
          --- a/target/site/apidocs/musichub/business/class-use/MusicHub.html
          +++ /dev/null
          @@ -1,65 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
          -<title>Uses of Class musichub.business.MusicHub (spoteezer 0.1.0 API)</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="use: package: musichub.business, class: MusicHub">
          -<meta name="generator" content="javadoc/ClassUseWriter">
          -<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.min.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../../jquery-ui.overrides.css" title="Style">
          -<script type="text/javascript" src="../../../script.js"></script>
          -<script type="text/javascript" src="../../../script-dir/jquery-3.5.1.min.js"></script>
          -<script type="text/javascript" src="../../../script-dir/jquery-ui.min.js"></script>
          -</head>
          -<body class="class-use-page">
          -<script type="text/javascript">var pathtoroot = "../../../";
          -loadScripts(document, 'script');</script>
          -<noscript>
          -<div>JavaScript is disabled on your browser.</div>
          -</noscript>
          -<div class="flex-box">
          -<header role="banner" class="flex-header">
          -<nav role="navigation">
          -<!-- ========= START OF TOP NAVBAR ======= -->
          -<div class="top-nav" id="navbar.top">
          -<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          -<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          -<li><a href="../../../index.html">Overview</a></li>
          -<li><a href="../package-summary.html">Package</a></li>
          -<li><a href="../MusicHub.html" title="class in musichub.business">Class</a></li>
          -<li class="nav-bar-cell1-rev">Use</li>
          -<li><a href="../package-tree.html">Tree</a></li>
          -<li><a href="../../../index-all.html">Index</a></li>
          -<li><a href="../../../help-doc.html">Help</a></li>
          -</ul>
          -</div>
          -<div class="sub-nav">
          -<div class="nav-list-search"><label for="search">SEARCH:</label>
          -<input type="text" id="search" value="search" disabled="disabled">
          -<input type="reset" id="reset" value="reset" disabled="disabled">
          -</div>
          -</div>
          -<!-- ========= END OF TOP NAVBAR ========= -->
          -<span class="skip-nav" id="skip.navbar.top">
          -<!--   -->
          -</span></nav>
          -</header>
          -<div class="flex-content">
          -<main role="main">
          -<div class="header">
          -<h1 title="Uses of Class musichub.business.MusicHub" class="title">Uses of Class<br>musichub.business.MusicHub</h1>
          -</div>
          -No usage of musichub.business.MusicHub</main>
          -<footer role="contentinfo">
          -<hr>
          -<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          -</footer>
          -</div>
          -</div>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/musichub/business/class-use/NoAlbumFoundException.html b/target/site/apidocs/musichub/business/class-use/NoAlbumFoundException.html
          deleted file mode 100644
          index 3d190ec..0000000
          --- a/target/site/apidocs/musichub/business/class-use/NoAlbumFoundException.html
          +++ /dev/null
          @@ -1,101 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
          -<title>Uses of Class musichub.business.NoAlbumFoundException (spoteezer 0.1.0 API)</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="use: package: musichub.business, class: NoAlbumFoundException">
          -<meta name="generator" content="javadoc/ClassUseWriter">
          -<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.min.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../../jquery-ui.overrides.css" title="Style">
          -<script type="text/javascript" src="../../../script.js"></script>
          -<script type="text/javascript" src="../../../script-dir/jquery-3.5.1.min.js"></script>
          -<script type="text/javascript" src="../../../script-dir/jquery-ui.min.js"></script>
          -</head>
          -<body class="class-use-page">
          -<script type="text/javascript">var pathtoroot = "../../../";
          -loadScripts(document, 'script');</script>
          -<noscript>
          -<div>JavaScript is disabled on your browser.</div>
          -</noscript>
          -<div class="flex-box">
          -<header role="banner" class="flex-header">
          -<nav role="navigation">
          -<!-- ========= START OF TOP NAVBAR ======= -->
          -<div class="top-nav" id="navbar.top">
          -<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          -<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          -<li><a href="../../../index.html">Overview</a></li>
          -<li><a href="../package-summary.html">Package</a></li>
          -<li><a href="../NoAlbumFoundException.html" title="class in musichub.business">Class</a></li>
          -<li class="nav-bar-cell1-rev">Use</li>
          -<li><a href="../package-tree.html">Tree</a></li>
          -<li><a href="../../../index-all.html">Index</a></li>
          -<li><a href="../../../help-doc.html">Help</a></li>
          -</ul>
          -</div>
          -<div class="sub-nav">
          -<div class="nav-list-search"><label for="search">SEARCH:</label>
          -<input type="text" id="search" value="search" disabled="disabled">
          -<input type="reset" id="reset" value="reset" disabled="disabled">
          -</div>
          -</div>
          -<!-- ========= END OF TOP NAVBAR ========= -->
          -<span class="skip-nav" id="skip.navbar.top">
          -<!--   -->
          -</span></nav>
          -</header>
          -<div class="flex-content">
          -<main role="main">
          -<div class="header">
          -<h1 title="Uses of Class musichub.business.NoAlbumFoundException" class="title">Uses of Class<br>musichub.business.NoAlbumFoundException</h1>
          -</div>
          -<div class="caption"><span>Packages that use <a href="../NoAlbumFoundException.html" title="class in musichub.business">NoAlbumFoundException</a></span></div>
          -<div class="summary-table two-column-summary">
          -<div class="table-header col-first">Package</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color"><a href="#musichub.business">musichub.business</a></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -</div>
          -<section class="class-uses">
          -<ul class="block-list">
          -<li>
          -<section class="detail" id="musichub.business">
          -<h2>Uses of <a href="../NoAlbumFoundException.html" title="class in musichub.business">NoAlbumFoundException</a> in <a href="../package-summary.html">musichub.business</a></h2>
          -<div class="caption"><span>Methods in <a href="../package-summary.html">musichub.business</a> that throw <a href="../NoAlbumFoundException.html" title="class in musichub.business">NoAlbumFoundException</a></span></div>
          -<div class="summary-table three-column-summary">
          -<div class="table-header col-first">Modifier and Type</div>
          -<div class="table-header col-second">Method</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color"><code>void</code></div>
          -<div class="col-second even-row-color"><span class="type-name-label">MusicHub.</span><code><span class="member-name-link"><a href="../MusicHub.html#addElementToAlbum(java.lang.String,java.lang.String)">addElementToAlbum</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;elementTitle,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;albumTitle)</code></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -<div class="col-first odd-row-color"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../AudioElement.html" title="class in musichub.business">AudioElement</a>&gt;</code></div>
          -<div class="col-second odd-row-color"><span class="type-name-label">MusicHub.</span><code><span class="member-name-link"><a href="../MusicHub.html#getAlbumSongs(java.lang.String)">getAlbumSongs</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;albumTitle)</code></div>
          -<div class="col-last odd-row-color">&nbsp;</div>
          -<div class="col-first even-row-color"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../Song.html" title="class in musichub.business">Song</a>&gt;</code></div>
          -<div class="col-second even-row-color"><span class="type-name-label">MusicHub.</span><code><span class="member-name-link"><a href="../MusicHub.html#getAlbumSongsSortedByGenre(java.lang.String)">getAlbumSongsSortedByGenre</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;albumTitle)</code></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -<div class="col-first odd-row-color"><code>void</code></div>
          -<div class="col-second odd-row-color"><span class="type-name-label">MusicHub.</span><code><span class="member-name-link"><a href="../MusicHub.html#getAudioElement(java.util.List,java.lang.String)">getAudioElement</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../AudioElement.html" title="class in musichub.business">AudioElement</a>&gt;&nbsp;audios,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;elementTitle)</code></div>
          -<div class="col-last odd-row-color">&nbsp;</div>
          -</div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -</main>
          -<footer role="contentinfo">
          -<hr>
          -<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          -</footer>
          -</div>
          -</div>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/musichub/business/class-use/NoElementFoundException.html b/target/site/apidocs/musichub/business/class-use/NoElementFoundException.html
          deleted file mode 100644
          index 07bc200..0000000
          --- a/target/site/apidocs/musichub/business/class-use/NoElementFoundException.html
          +++ /dev/null
          @@ -1,95 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
          -<title>Uses of Class musichub.business.NoElementFoundException (spoteezer 0.1.0 API)</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="use: package: musichub.business, class: NoElementFoundException">
          -<meta name="generator" content="javadoc/ClassUseWriter">
          -<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.min.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../../jquery-ui.overrides.css" title="Style">
          -<script type="text/javascript" src="../../../script.js"></script>
          -<script type="text/javascript" src="../../../script-dir/jquery-3.5.1.min.js"></script>
          -<script type="text/javascript" src="../../../script-dir/jquery-ui.min.js"></script>
          -</head>
          -<body class="class-use-page">
          -<script type="text/javascript">var pathtoroot = "../../../";
          -loadScripts(document, 'script');</script>
          -<noscript>
          -<div>JavaScript is disabled on your browser.</div>
          -</noscript>
          -<div class="flex-box">
          -<header role="banner" class="flex-header">
          -<nav role="navigation">
          -<!-- ========= START OF TOP NAVBAR ======= -->
          -<div class="top-nav" id="navbar.top">
          -<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          -<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          -<li><a href="../../../index.html">Overview</a></li>
          -<li><a href="../package-summary.html">Package</a></li>
          -<li><a href="../NoElementFoundException.html" title="class in musichub.business">Class</a></li>
          -<li class="nav-bar-cell1-rev">Use</li>
          -<li><a href="../package-tree.html">Tree</a></li>
          -<li><a href="../../../index-all.html">Index</a></li>
          -<li><a href="../../../help-doc.html">Help</a></li>
          -</ul>
          -</div>
          -<div class="sub-nav">
          -<div class="nav-list-search"><label for="search">SEARCH:</label>
          -<input type="text" id="search" value="search" disabled="disabled">
          -<input type="reset" id="reset" value="reset" disabled="disabled">
          -</div>
          -</div>
          -<!-- ========= END OF TOP NAVBAR ========= -->
          -<span class="skip-nav" id="skip.navbar.top">
          -<!--   -->
          -</span></nav>
          -</header>
          -<div class="flex-content">
          -<main role="main">
          -<div class="header">
          -<h1 title="Uses of Class musichub.business.NoElementFoundException" class="title">Uses of Class<br>musichub.business.NoElementFoundException</h1>
          -</div>
          -<div class="caption"><span>Packages that use <a href="../NoElementFoundException.html" title="class in musichub.business">NoElementFoundException</a></span></div>
          -<div class="summary-table two-column-summary">
          -<div class="table-header col-first">Package</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color"><a href="#musichub.business">musichub.business</a></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -</div>
          -<section class="class-uses">
          -<ul class="block-list">
          -<li>
          -<section class="detail" id="musichub.business">
          -<h2>Uses of <a href="../NoElementFoundException.html" title="class in musichub.business">NoElementFoundException</a> in <a href="../package-summary.html">musichub.business</a></h2>
          -<div class="caption"><span>Methods in <a href="../package-summary.html">musichub.business</a> that throw <a href="../NoElementFoundException.html" title="class in musichub.business">NoElementFoundException</a></span></div>
          -<div class="summary-table three-column-summary">
          -<div class="table-header col-first">Modifier and Type</div>
          -<div class="table-header col-second">Method</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color"><code>void</code></div>
          -<div class="col-second even-row-color"><span class="type-name-label">MusicHub.</span><code><span class="member-name-link"><a href="../MusicHub.html#addElementToAlbum(java.lang.String,java.lang.String)">addElementToAlbum</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;elementTitle,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;albumTitle)</code></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -<div class="col-first odd-row-color"><code>void</code></div>
          -<div class="col-second odd-row-color"><span class="type-name-label">MusicHub.</span><code><span class="member-name-link"><a href="../MusicHub.html#addElementToPlayList(java.lang.String,java.lang.String)">addElementToPlayList</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;elementTitle,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;playListTitle)</code></div>
          -<div class="col-last odd-row-color">&nbsp;</div>
          -</div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -</main>
          -<footer role="contentinfo">
          -<hr>
          -<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          -</footer>
          -</div>
          -</div>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/musichub/business/class-use/NoPlayListFoundException.html b/target/site/apidocs/musichub/business/class-use/NoPlayListFoundException.html
          deleted file mode 100644
          index 0a7a442..0000000
          --- a/target/site/apidocs/musichub/business/class-use/NoPlayListFoundException.html
          +++ /dev/null
          @@ -1,94 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
          -<title>Uses of Class musichub.business.NoPlayListFoundException (spoteezer 0.1.0 API)</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="use: package: musichub.business, class: NoPlayListFoundException">
          -<meta name="generator" content="javadoc/ClassUseWriter">
          -<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.min.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../../jquery-ui.overrides.css" title="Style">
          -<script type="text/javascript" src="../../../script.js"></script>
          -<script type="text/javascript" src="../../../script-dir/jquery-3.5.1.min.js"></script>
          -<script type="text/javascript" src="../../../script-dir/jquery-ui.min.js"></script>
          -</head>
          -<body class="class-use-page">
          -<script type="text/javascript">var pathtoroot = "../../../";
          -loadScripts(document, 'script');</script>
          -<noscript>
          -<div>JavaScript is disabled on your browser.</div>
          -</noscript>
          -<div class="flex-box">
          -<header role="banner" class="flex-header">
          -<nav role="navigation">
          -<!-- ========= START OF TOP NAVBAR ======= -->
          -<div class="top-nav" id="navbar.top">
          -<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          -<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          -<li><a href="../../../index.html">Overview</a></li>
          -<li><a href="../package-summary.html">Package</a></li>
          -<li><a href="../NoPlayListFoundException.html" title="class in musichub.business">Class</a></li>
          -<li class="nav-bar-cell1-rev">Use</li>
          -<li><a href="../package-tree.html">Tree</a></li>
          -<li><a href="../../../index-all.html">Index</a></li>
          -<li><a href="../../../help-doc.html">Help</a></li>
          -</ul>
          -</div>
          -<div class="sub-nav">
          -<div class="nav-list-search"><label for="search">SEARCH:</label>
          -<input type="text" id="search" value="search" disabled="disabled">
          -<input type="reset" id="reset" value="reset" disabled="disabled">
          -</div>
          -</div>
          -<!-- ========= END OF TOP NAVBAR ========= -->
          -<span class="skip-nav" id="skip.navbar.top">
          -<!--   -->
          -</span></nav>
          -</header>
          -<div class="flex-content">
          -<main role="main">
          -<div class="header">
          -<h1 title="Uses of Class musichub.business.NoPlayListFoundException" class="title">Uses of Class<br>musichub.business.NoPlayListFoundException</h1>
          -</div>
          -<div class="caption"><span>Packages that use <a href="../NoPlayListFoundException.html" title="class in musichub.business">NoPlayListFoundException</a></span></div>
          -<div class="summary-table two-column-summary">
          -<div class="table-header col-first">Package</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color"><a href="#musichub.business">musichub.business</a></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -</div>
          -<section class="class-uses">
          -<ul class="block-list">
          -<li>
          -<section class="detail" id="musichub.business">
          -<h2>Uses of <a href="../NoPlayListFoundException.html" title="class in musichub.business">NoPlayListFoundException</a> in <a href="../package-summary.html">musichub.business</a></h2>
          -<div class="caption"><span>Methods in <a href="../package-summary.html">musichub.business</a> that throw <a href="../NoPlayListFoundException.html" title="class in musichub.business">NoPlayListFoundException</a></span></div>
          -<div class="summary-table three-column-summary">
          -<div class="table-header col-first">Modifier and Type</div>
          -<div class="table-header col-second">Method</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color"><code>void</code></div>
          -<div class="col-second even-row-color"><span class="type-name-label">MusicHub.</span><code><span class="member-name-link"><a href="../MusicHub.html#addElementToPlayList(java.lang.String,java.lang.String)">addElementToPlayList</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;elementTitle,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;playListTitle)</code></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -<div class="col-first odd-row-color"><code>void</code></div>
          -<div class="col-second odd-row-color"><span class="type-name-label">MusicHub.</span><code><span class="member-name-link"><a href="../MusicHub.html#deletePlayList(java.lang.String)">deletePlayList</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;playListTitle)</code></div>
          -<div class="col-last odd-row-color">&nbsp;</div>
          -</div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -</main>
          -<footer role="contentinfo">
          -<hr>
          -<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          -</footer>
          -</div>
          -</div>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/musichub/business/class-use/PlayList.html b/target/site/apidocs/musichub/business/class-use/PlayList.html
          deleted file mode 100644
          index 151e091..0000000
          --- a/target/site/apidocs/musichub/business/class-use/PlayList.html
          +++ /dev/null
          @@ -1,99 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
          -<title>Uses of Class musichub.business.PlayList (spoteezer 0.1.0 API)</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="use: package: musichub.business, class: PlayList">
          -<meta name="generator" content="javadoc/ClassUseWriter">
          -<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.min.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../../jquery-ui.overrides.css" title="Style">
          -<script type="text/javascript" src="../../../script.js"></script>
          -<script type="text/javascript" src="../../../script-dir/jquery-3.5.1.min.js"></script>
          -<script type="text/javascript" src="../../../script-dir/jquery-ui.min.js"></script>
          -</head>
          -<body class="class-use-page">
          -<script type="text/javascript">var pathtoroot = "../../../";
          -loadScripts(document, 'script');</script>
          -<noscript>
          -<div>JavaScript is disabled on your browser.</div>
          -</noscript>
          -<div class="flex-box">
          -<header role="banner" class="flex-header">
          -<nav role="navigation">
          -<!-- ========= START OF TOP NAVBAR ======= -->
          -<div class="top-nav" id="navbar.top">
          -<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          -<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          -<li><a href="../../../index.html">Overview</a></li>
          -<li><a href="../package-summary.html">Package</a></li>
          -<li><a href="../PlayList.html" title="class in musichub.business">Class</a></li>
          -<li class="nav-bar-cell1-rev">Use</li>
          -<li><a href="../package-tree.html">Tree</a></li>
          -<li><a href="../../../index-all.html">Index</a></li>
          -<li><a href="../../../help-doc.html">Help</a></li>
          -</ul>
          -</div>
          -<div class="sub-nav">
          -<div class="nav-list-search"><label for="search">SEARCH:</label>
          -<input type="text" id="search" value="search" disabled="disabled">
          -<input type="reset" id="reset" value="reset" disabled="disabled">
          -</div>
          -</div>
          -<!-- ========= END OF TOP NAVBAR ========= -->
          -<span class="skip-nav" id="skip.navbar.top">
          -<!--   -->
          -</span></nav>
          -</header>
          -<div class="flex-content">
          -<main role="main">
          -<div class="header">
          -<h1 title="Uses of Class musichub.business.PlayList" class="title">Uses of Class<br>musichub.business.PlayList</h1>
          -</div>
          -<div class="caption"><span>Packages that use <a href="../PlayList.html" title="class in musichub.business">PlayList</a></span></div>
          -<div class="summary-table two-column-summary">
          -<div class="table-header col-first">Package</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color"><a href="#musichub.business">musichub.business</a></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -</div>
          -<section class="class-uses">
          -<ul class="block-list">
          -<li>
          -<section class="detail" id="musichub.business">
          -<h2>Uses of <a href="../PlayList.html" title="class in musichub.business">PlayList</a> in <a href="../package-summary.html">musichub.business</a></h2>
          -<div class="caption"><span>Methods in <a href="../package-summary.html">musichub.business</a> that return types with arguments of type <a href="../PlayList.html" title="class in musichub.business">PlayList</a></span></div>
          -<div class="summary-table three-column-summary">
          -<div class="table-header col-first">Modifier and Type</div>
          -<div class="table-header col-second">Method</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link">Iterator</a>&lt;<a href="../PlayList.html" title="class in musichub.business">PlayList</a>&gt;</code></div>
          -<div class="col-second even-row-color"><span class="type-name-label">MusicHub.</span><code><span class="member-name-link"><a href="../MusicHub.html#playlists()">playlists</a></span>()</code></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -</div>
          -<div class="caption"><span>Methods in <a href="../package-summary.html">musichub.business</a> with parameters of type <a href="../PlayList.html" title="class in musichub.business">PlayList</a></span></div>
          -<div class="summary-table three-column-summary">
          -<div class="table-header col-first">Modifier and Type</div>
          -<div class="table-header col-second">Method</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color"><code>void</code></div>
          -<div class="col-second even-row-color"><span class="type-name-label">MusicHub.</span><code><span class="member-name-link"><a href="../MusicHub.html#addPlaylist(musichub.business.PlayList)">addPlaylist</a></span>&#8203;(<a href="../PlayList.html" title="class in musichub.business">PlayList</a>&nbsp;playlist)</code></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -</div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -</main>
          -<footer role="contentinfo">
          -<hr>
          -<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          -</footer>
          -</div>
          -</div>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/musichub/business/class-use/Song.html b/target/site/apidocs/musichub/business/class-use/Song.html
          deleted file mode 100644
          index f7caf68..0000000
          --- a/target/site/apidocs/musichub/business/class-use/Song.html
          +++ /dev/null
          @@ -1,90 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
          -<title>Uses of Class musichub.business.Song (spoteezer 0.1.0 API)</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="use: package: musichub.business, class: Song">
          -<meta name="generator" content="javadoc/ClassUseWriter">
          -<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.min.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../../jquery-ui.overrides.css" title="Style">
          -<script type="text/javascript" src="../../../script.js"></script>
          -<script type="text/javascript" src="../../../script-dir/jquery-3.5.1.min.js"></script>
          -<script type="text/javascript" src="../../../script-dir/jquery-ui.min.js"></script>
          -</head>
          -<body class="class-use-page">
          -<script type="text/javascript">var pathtoroot = "../../../";
          -loadScripts(document, 'script');</script>
          -<noscript>
          -<div>JavaScript is disabled on your browser.</div>
          -</noscript>
          -<div class="flex-box">
          -<header role="banner" class="flex-header">
          -<nav role="navigation">
          -<!-- ========= START OF TOP NAVBAR ======= -->
          -<div class="top-nav" id="navbar.top">
          -<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          -<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          -<li><a href="../../../index.html">Overview</a></li>
          -<li><a href="../package-summary.html">Package</a></li>
          -<li><a href="../Song.html" title="class in musichub.business">Class</a></li>
          -<li class="nav-bar-cell1-rev">Use</li>
          -<li><a href="../package-tree.html">Tree</a></li>
          -<li><a href="../../../index-all.html">Index</a></li>
          -<li><a href="../../../help-doc.html">Help</a></li>
          -</ul>
          -</div>
          -<div class="sub-nav">
          -<div class="nav-list-search"><label for="search">SEARCH:</label>
          -<input type="text" id="search" value="search" disabled="disabled">
          -<input type="reset" id="reset" value="reset" disabled="disabled">
          -</div>
          -</div>
          -<!-- ========= END OF TOP NAVBAR ========= -->
          -<span class="skip-nav" id="skip.navbar.top">
          -<!--   -->
          -</span></nav>
          -</header>
          -<div class="flex-content">
          -<main role="main">
          -<div class="header">
          -<h1 title="Uses of Class musichub.business.Song" class="title">Uses of Class<br>musichub.business.Song</h1>
          -</div>
          -<div class="caption"><span>Packages that use <a href="../Song.html" title="class in musichub.business">Song</a></span></div>
          -<div class="summary-table two-column-summary">
          -<div class="table-header col-first">Package</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color"><a href="#musichub.business">musichub.business</a></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -</div>
          -<section class="class-uses">
          -<ul class="block-list">
          -<li>
          -<section class="detail" id="musichub.business">
          -<h2>Uses of <a href="../Song.html" title="class in musichub.business">Song</a> in <a href="../package-summary.html">musichub.business</a></h2>
          -<div class="caption"><span>Methods in <a href="../package-summary.html">musichub.business</a> that return types with arguments of type <a href="../Song.html" title="class in musichub.business">Song</a></span></div>
          -<div class="summary-table three-column-summary">
          -<div class="table-header col-first">Modifier and Type</div>
          -<div class="table-header col-second">Method</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../Song.html" title="class in musichub.business">Song</a>&gt;</code></div>
          -<div class="col-second even-row-color"><span class="type-name-label">MusicHub.</span><code><span class="member-name-link"><a href="../MusicHub.html#getAlbumSongsSortedByGenre(java.lang.String)">getAlbumSongsSortedByGenre</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;albumTitle)</code></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -</div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -</main>
          -<footer role="contentinfo">
          -<hr>
          -<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          -</footer>
          -</div>
          -</div>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/musichub/business/package-summary.html b/target/site/apidocs/musichub/business/package-summary.html
          deleted file mode 100644
          index ab9bef3..0000000
          --- a/target/site/apidocs/musichub/business/package-summary.html
          +++ /dev/null
          @@ -1,116 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
          -<title>musichub.business (spoteezer 0.1.0 API)</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="declaration: package: musichub.business">
          -<meta name="generator" content="javadoc/PackageWriterImpl">
          -<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          -<script type="text/javascript" src="../../script.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          -</head>
          -<body class="package-declaration-page">
          -<script type="text/javascript">var pathtoroot = "../../";
          -loadScripts(document, 'script');</script>
          -<noscript>
          -<div>JavaScript is disabled on your browser.</div>
          -</noscript>
          -<div class="flex-box">
          -<header role="banner" class="flex-header">
          -<nav role="navigation">
          -<!-- ========= START OF TOP NAVBAR ======= -->
          -<div class="top-nav" id="navbar.top">
          -<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          -<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          -<li><a href="../../index.html">Overview</a></li>
          -<li class="nav-bar-cell1-rev">Package</li>
          -<li>Class</li>
          -<li><a href="package-use.html">Use</a></li>
          -<li><a href="package-tree.html">Tree</a></li>
          -<li><a href="../../index-all.html">Index</a></li>
          -<li><a href="../../help-doc.html">Help</a></li>
          -</ul>
          -</div>
          -<div class="sub-nav">
          -<div class="nav-list-search"><label for="search">SEARCH:</label>
          -<input type="text" id="search" value="search" disabled="disabled">
          -<input type="reset" id="reset" value="reset" disabled="disabled">
          -</div>
          -</div>
          -<!-- ========= END OF TOP NAVBAR ========= -->
          -<span class="skip-nav" id="skip.navbar.top">
          -<!--   -->
          -</span></nav>
          -</header>
          -<div class="flex-content">
          -<main role="main">
          -<div class="header">
          -<h1 title="Package" class="title">Package&nbsp;musichub.business</h1>
          -</div>
          -<hr>
          -<div class="package-signature">package <span class="element-name">musichub.business</span></div>
          -<section class="summary">
          -<ul class="summary-list">
          -<li>
          -<div class="caption"><span>Class Summary</span></div>
          -<div class="summary-table two-column-summary">
          -<div class="table-header col-first">Class</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color"><a href="Album.html" title="class in musichub.business">Album</a></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -<div class="col-first odd-row-color"><a href="AudioBook.html" title="class in musichub.business">AudioBook</a></div>
          -<div class="col-last odd-row-color">&nbsp;</div>
          -<div class="col-first even-row-color"><a href="AudioElement.html" title="class in musichub.business">AudioElement</a></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -<div class="col-first odd-row-color"><a href="MusicHub.html" title="class in musichub.business">MusicHub</a></div>
          -<div class="col-last odd-row-color">&nbsp;</div>
          -<div class="col-first even-row-color"><a href="PlayList.html" title="class in musichub.business">PlayList</a></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -<div class="col-first odd-row-color"><a href="Song.html" title="class in musichub.business">Song</a></div>
          -<div class="col-last odd-row-color">&nbsp;</div>
          -</div>
          -</li>
          -<li>
          -<div class="caption"><span>Enum Class Summary</span></div>
          -<div class="summary-table two-column-summary">
          -<div class="table-header col-first">Enum Class</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color"><a href="Category.html" title="enum class in musichub.business">Category</a></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -<div class="col-first odd-row-color"><a href="Genre.html" title="enum class in musichub.business">Genre</a></div>
          -<div class="col-last odd-row-color">&nbsp;</div>
          -<div class="col-first even-row-color"><a href="Language.html" title="enum class in musichub.business">Language</a></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -</div>
          -</li>
          -<li>
          -<div class="caption"><span>Exception Summary</span></div>
          -<div class="summary-table two-column-summary">
          -<div class="table-header col-first">Exception</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color"><a href="NoAlbumFoundException.html" title="class in musichub.business">NoAlbumFoundException</a></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -<div class="col-first odd-row-color"><a href="NoElementFoundException.html" title="class in musichub.business">NoElementFoundException</a></div>
          -<div class="col-last odd-row-color">&nbsp;</div>
          -<div class="col-first even-row-color"><a href="NoPlayListFoundException.html" title="class in musichub.business">NoPlayListFoundException</a></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -</div>
          -</li>
          -</ul>
          -</section>
          -</main>
          -<footer role="contentinfo">
          -<hr>
          -<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          -</footer>
          -</div>
          -</div>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/musichub/business/package-tree.html b/target/site/apidocs/musichub/business/package-tree.html
          deleted file mode 100644
          index e1a5f5b..0000000
          --- a/target/site/apidocs/musichub/business/package-tree.html
          +++ /dev/null
          @@ -1,114 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
          -<title>musichub.business Class Hierarchy (spoteezer 0.1.0 API)</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="tree: package: musichub.business">
          -<meta name="generator" content="javadoc/PackageTreeWriter">
          -<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          -<script type="text/javascript" src="../../script.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          -</head>
          -<body class="package-tree-page">
          -<script type="text/javascript">var pathtoroot = "../../";
          -loadScripts(document, 'script');</script>
          -<noscript>
          -<div>JavaScript is disabled on your browser.</div>
          -</noscript>
          -<div class="flex-box">
          -<header role="banner" class="flex-header">
          -<nav role="navigation">
          -<!-- ========= START OF TOP NAVBAR ======= -->
          -<div class="top-nav" id="navbar.top">
          -<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          -<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          -<li><a href="../../index.html">Overview</a></li>
          -<li><a href="package-summary.html">Package</a></li>
          -<li>Class</li>
          -<li>Use</li>
          -<li class="nav-bar-cell1-rev">Tree</li>
          -<li><a href="../../index-all.html">Index</a></li>
          -<li><a href="../../help-doc.html">Help</a></li>
          -</ul>
          -</div>
          -<div class="sub-nav">
          -<div class="nav-list-search"><label for="search">SEARCH:</label>
          -<input type="text" id="search" value="search" disabled="disabled">
          -<input type="reset" id="reset" value="reset" disabled="disabled">
          -</div>
          -</div>
          -<!-- ========= END OF TOP NAVBAR ========= -->
          -<span class="skip-nav" id="skip.navbar.top">
          -<!--   -->
          -</span></nav>
          -</header>
          -<div class="flex-content">
          -<main role="main">
          -<div class="header">
          -<h1 class="title">Hierarchy For Package musichub.business</h1>
          -<span class="package-hierarchy-label">Package Hierarchies:</span>
          -<ul class="horizontal">
          -<li><a href="../../overview-tree.html">All Packages</a></li>
          -</ul>
          -</div>
          -<section class="hierarchy">
          -<h2 title="Class Hierarchy">Class Hierarchy</h2>
          -<ul>
          -<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link"><span class="type-name-link">Object</span></a>
          -<ul>
          -<li class="circle">musichub.business.<a href="Album.html" title="class in musichub.business"><span class="type-name-link">Album</span></a></li>
          -<li class="circle">musichub.business.<a href="AudioElement.html" title="class in musichub.business"><span class="type-name-link">AudioElement</span></a>
          -<ul>
          -<li class="circle">musichub.business.<a href="AudioBook.html" title="class in musichub.business"><span class="type-name-link">AudioBook</span></a></li>
          -<li class="circle">musichub.business.<a href="Song.html" title="class in musichub.business"><span class="type-name-link">Song</span></a></li>
          -</ul>
          -</li>
          -<li class="circle">musichub.business.<a href="MusicHub.html" title="class in musichub.business"><span class="type-name-link">MusicHub</span></a></li>
          -<li class="circle">musichub.business.<a href="PlayList.html" title="class in musichub.business"><span class="type-name-link">PlayList</span></a></li>
          -<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html" title="class or interface in java.lang" class="external-link"><span class="type-name-link">Throwable</span></a> (implements java.io.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a>)
          -<ul>
          -<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link"><span class="type-name-link">Exception</span></a>
          -<ul>
          -<li class="circle">musichub.business.<a href="NoAlbumFoundException.html" title="class in musichub.business"><span class="type-name-link">NoAlbumFoundException</span></a></li>
          -<li class="circle">musichub.business.<a href="NoElementFoundException.html" title="class in musichub.business"><span class="type-name-link">NoElementFoundException</span></a></li>
          -<li class="circle">musichub.business.<a href="NoPlayListFoundException.html" title="class in musichub.business"><span class="type-name-link">NoPlayListFoundException</span></a></li>
          -</ul>
          -</li>
          -</ul>
          -</li>
          -</ul>
          -</li>
          -</ul>
          -</section>
          -<section class="hierarchy">
          -<h2 title="Enum Class Hierarchy">Enum Class Hierarchy</h2>
          -<ul>
          -<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link"><span class="type-name-link">Object</span></a>
          -<ul>
          -<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link"><span class="type-name-link">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Comparable.html" title="class or interface in java.lang" class="external-link">Comparable</a>&lt;T&gt;, java.lang.constant.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/constant/Constable.html" title="class or interface in java.lang.constant" class="external-link">Constable</a>, java.io.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a>)
          -<ul>
          -<li class="circle">musichub.business.<a href="Category.html" title="enum class in musichub.business"><span class="type-name-link">Category</span></a></li>
          -<li class="circle">musichub.business.<a href="Genre.html" title="enum class in musichub.business"><span class="type-name-link">Genre</span></a></li>
          -<li class="circle">musichub.business.<a href="Language.html" title="enum class in musichub.business"><span class="type-name-link">Language</span></a></li>
          -</ul>
          -</li>
          -</ul>
          -</li>
          -</ul>
          -</section>
          -</main>
          -<footer role="contentinfo">
          -<hr>
          -<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          -</footer>
          -</div>
          -</div>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/musichub/business/package-use.html b/target/site/apidocs/musichub/business/package-use.html
          deleted file mode 100644
          index 89e8d56..0000000
          --- a/target/site/apidocs/musichub/business/package-use.html
          +++ /dev/null
          @@ -1,105 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
          -<title>Uses of Package musichub.business (spoteezer 0.1.0 API)</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="use: package: musichub.business">
          -<meta name="generator" content="javadoc/PackageUseWriter">
          -<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          -<script type="text/javascript" src="../../script.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          -</head>
          -<body class="package-use-page">
          -<script type="text/javascript">var pathtoroot = "../../";
          -loadScripts(document, 'script');</script>
          -<noscript>
          -<div>JavaScript is disabled on your browser.</div>
          -</noscript>
          -<div class="flex-box">
          -<header role="banner" class="flex-header">
          -<nav role="navigation">
          -<!-- ========= START OF TOP NAVBAR ======= -->
          -<div class="top-nav" id="navbar.top">
          -<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          -<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          -<li><a href="../../index.html">Overview</a></li>
          -<li><a href="package-summary.html">Package</a></li>
          -<li>Class</li>
          -<li class="nav-bar-cell1-rev">Use</li>
          -<li><a href="package-tree.html">Tree</a></li>
          -<li><a href="../../index-all.html">Index</a></li>
          -<li><a href="../../help-doc.html">Help</a></li>
          -</ul>
          -</div>
          -<div class="sub-nav">
          -<div class="nav-list-search"><label for="search">SEARCH:</label>
          -<input type="text" id="search" value="search" disabled="disabled">
          -<input type="reset" id="reset" value="reset" disabled="disabled">
          -</div>
          -</div>
          -<!-- ========= END OF TOP NAVBAR ========= -->
          -<span class="skip-nav" id="skip.navbar.top">
          -<!--   -->
          -</span></nav>
          -</header>
          -<div class="flex-content">
          -<main role="main">
          -<div class="header">
          -<h1 title="Uses of Package musichub.business" class="title">Uses of Package<br>musichub.business</h1>
          -</div>
          -<div class="caption"><span>Packages that use <a href="package-summary.html">musichub.business</a></span></div>
          -<div class="summary-table two-column-summary">
          -<div class="table-header col-first">Package</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color"><a href="#musichub.business">musichub.business</a></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -</div>
          -<section class="package-uses">
          -<ul class="block-list">
          -<li>
          -<section class="detail" id="musichub.business">
          -<div class="caption"><span>Classes in <a href="package-summary.html">musichub.business</a> used by <a href="package-summary.html">musichub.business</a></span></div>
          -<div class="summary-table two-column-summary">
          -<div class="table-header col-first">Class</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color"><a href="class-use/Album.html#musichub.business">Album</a></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -<div class="col-first odd-row-color"><a href="class-use/AudioElement.html#musichub.business">AudioElement</a></div>
          -<div class="col-last odd-row-color">&nbsp;</div>
          -<div class="col-first even-row-color"><a href="class-use/Category.html#musichub.business">Category</a></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -<div class="col-first odd-row-color"><a href="class-use/Genre.html#musichub.business">Genre</a></div>
          -<div class="col-last odd-row-color">&nbsp;</div>
          -<div class="col-first even-row-color"><a href="class-use/Language.html#musichub.business">Language</a></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -<div class="col-first odd-row-color"><a href="class-use/NoAlbumFoundException.html#musichub.business">NoAlbumFoundException</a></div>
          -<div class="col-last odd-row-color">&nbsp;</div>
          -<div class="col-first even-row-color"><a href="class-use/NoElementFoundException.html#musichub.business">NoElementFoundException</a></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -<div class="col-first odd-row-color"><a href="class-use/NoPlayListFoundException.html#musichub.business">NoPlayListFoundException</a></div>
          -<div class="col-last odd-row-color">&nbsp;</div>
          -<div class="col-first even-row-color"><a href="class-use/PlayList.html#musichub.business">PlayList</a></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -<div class="col-first odd-row-color"><a href="class-use/Song.html#musichub.business">Song</a></div>
          -<div class="col-last odd-row-color">&nbsp;</div>
          -</div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -</main>
          -<footer role="contentinfo">
          -<hr>
          -<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          -</footer>
          -</div>
          -</div>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/musichub/main/Main.html b/target/site/apidocs/musichub/main/Main.html
          deleted file mode 100644
          index 2a6bcf8..0000000
          --- a/target/site/apidocs/musichub/main/Main.html
          +++ /dev/null
          @@ -1,175 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
          -<title>Main (spoteezer 0.1.0 API)</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="declaration: package: musichub.main, class: Main">
          -<meta name="generator" content="javadoc/ClassWriterImpl">
          -<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          -<script type="text/javascript" src="../../script.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          -</head>
          -<body class="class-declaration-page">
          -<script type="text/javascript">var evenRowColor = "even-row-color";
          -var oddRowColor = "odd-row-color";
          -var tableTab = "table-tab";
          -var activeTableTab = "active-table-tab";
          -var pathtoroot = "../../";
          -loadScripts(document, 'script');</script>
          -<noscript>
          -<div>JavaScript is disabled on your browser.</div>
          -</noscript>
          -<div class="flex-box">
          -<header role="banner" class="flex-header">
          -<nav role="navigation">
          -<!-- ========= START OF TOP NAVBAR ======= -->
          -<div class="top-nav" id="navbar.top">
          -<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          -<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          -<li><a href="../../index.html">Overview</a></li>
          -<li><a href="package-summary.html">Package</a></li>
          -<li class="nav-bar-cell1-rev">Class</li>
          -<li><a href="class-use/Main.html">Use</a></li>
          -<li><a href="package-tree.html">Tree</a></li>
          -<li><a href="../../index-all.html">Index</a></li>
          -<li><a href="../../help-doc.html">Help</a></li>
          -</ul>
          -</div>
          -<div class="sub-nav">
          -<div>
          -<ul class="sub-nav-list">
          -<li>Summary:&nbsp;</li>
          -<li>Nested&nbsp;|&nbsp;</li>
          -<li>Field&nbsp;|&nbsp;</li>
          -<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
          -<li><a href="#method.summary">Method</a></li>
          -</ul>
          -<ul class="sub-nav-list">
          -<li>Detail:&nbsp;</li>
          -<li>Field&nbsp;|&nbsp;</li>
          -<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
          -<li><a href="#method.detail">Method</a></li>
          -</ul>
          -</div>
          -<div class="nav-list-search"><label for="search">SEARCH:</label>
          -<input type="text" id="search" value="search" disabled="disabled">
          -<input type="reset" id="reset" value="reset" disabled="disabled">
          -</div>
          -</div>
          -<!-- ========= END OF TOP NAVBAR ========= -->
          -<span class="skip-nav" id="skip.navbar.top">
          -<!--   -->
          -</span></nav>
          -</header>
          -<div class="flex-content">
          -<main role="main">
          -<!-- ======== START OF CLASS DATA ======== -->
          -<div class="header">
          -<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">musichub.main</a></div>
          -<h1 title="Class Main" class="title">Class Main</h1>
          -</div>
          -<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
          -<div class="inheritance">musichub.main.Main</div>
          -</div>
          -<section class="description">
          -<hr>
          -<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">Main</span>
          -<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
          -</section>
          -<section class="summary">
          -<ul class="summary-list">
          -<!-- ======== CONSTRUCTOR SUMMARY ======== -->
          -<li>
          -<section class="constructor-summary" id="constructor.summary">
          -<h2>Constructor Summary</h2>
          -<div class="caption"><span>Constructors</span></div>
          -<div class="summary-table two-column-summary">
          -<div class="table-header col-first">Constructor</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-constructor-name even-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E()">Main</a></span>()</code></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -</div>
          -</section>
          -</li>
          -<!-- ========== METHOD SUMMARY =========== -->
          -<li>
          -<section class="method-summary" id="method.summary">
          -<h2>Method Summary</h2>
          -<div id="method-summary-table">
          -<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
          -<div id="method-summary-table.tabpanel" role="tabpanel">
          -<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
          -<div class="table-header col-first">Modifier and Type</div>
          -<div class="table-header col-second">Method</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table"><code>static void</code></div>
          -<div class="col-second even-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#main(java.lang.String%5B%5D)">main</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]&nbsp;args)</code></div>
          -<div class="col-last even-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -</div>
          -</div>
          -</div>
          -<div class="inherited-list">
          -<h3 id="methods.inherited.from.class.java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
          -<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -<section class="details">
          -<ul class="details-list">
          -<!-- ========= CONSTRUCTOR DETAIL ======== -->
          -<li>
          -<section class="constructor-details" id="constructor.detail">
          -<h2>Constructor Details</h2>
          -<ul class="member-list">
          -<li>
          -<section class="detail" id="&lt;init&gt;()">
          -<h3>Main</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">Main</span>()</div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -</li>
          -<!-- ============ METHOD DETAIL ========== -->
          -<li>
          -<section class="method-details" id="method.detail">
          -<h2>Method Details</h2>
          -<ul class="member-list">
          -<li>
          -<section class="detail" id="main(java.lang.String[])">
          -<h3>main</h3>
          -<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">main</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]&nbsp;args)</span>
          -                 throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/javax/sound/sampled/UnsupportedAudioFileException.html" title="class or interface in javax.sound.sampled" class="external-link">UnsupportedAudioFileException</a>,
          -<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a>,
          -<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/javax/sound/sampled/LineUnavailableException.html" title="class or interface in javax.sound.sampled" class="external-link">LineUnavailableException</a></span></div>
          -<dl class="notes">
          -<dt>Throws:</dt>
          -<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/javax/sound/sampled/UnsupportedAudioFileException.html" title="class or interface in javax.sound.sampled" class="external-link">UnsupportedAudioFileException</a></code></dd>
          -<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
          -<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/javax/sound/sampled/LineUnavailableException.html" title="class or interface in javax.sound.sampled" class="external-link">LineUnavailableException</a></code></dd>
          -</dl>
          -</section>
          -</li>
          -</ul>
          -</section>
          -</li>
          -</ul>
          -</section>
          -<!-- ========= END OF CLASS DATA ========= -->
          -</main>
          -<footer role="contentinfo">
          -<hr>
          -<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          -</footer>
          -</div>
          -</div>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/musichub/main/class-use/Main.html b/target/site/apidocs/musichub/main/class-use/Main.html
          deleted file mode 100644
          index 819433d..0000000
          --- a/target/site/apidocs/musichub/main/class-use/Main.html
          +++ /dev/null
          @@ -1,65 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
          -<title>Uses of Class musichub.main.Main (spoteezer 0.1.0 API)</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="use: package: musichub.main, class: Main">
          -<meta name="generator" content="javadoc/ClassUseWriter">
          -<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.min.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../../jquery-ui.overrides.css" title="Style">
          -<script type="text/javascript" src="../../../script.js"></script>
          -<script type="text/javascript" src="../../../script-dir/jquery-3.5.1.min.js"></script>
          -<script type="text/javascript" src="../../../script-dir/jquery-ui.min.js"></script>
          -</head>
          -<body class="class-use-page">
          -<script type="text/javascript">var pathtoroot = "../../../";
          -loadScripts(document, 'script');</script>
          -<noscript>
          -<div>JavaScript is disabled on your browser.</div>
          -</noscript>
          -<div class="flex-box">
          -<header role="banner" class="flex-header">
          -<nav role="navigation">
          -<!-- ========= START OF TOP NAVBAR ======= -->
          -<div class="top-nav" id="navbar.top">
          -<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          -<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          -<li><a href="../../../index.html">Overview</a></li>
          -<li><a href="../package-summary.html">Package</a></li>
          -<li><a href="../Main.html" title="class in musichub.main">Class</a></li>
          -<li class="nav-bar-cell1-rev">Use</li>
          -<li><a href="../package-tree.html">Tree</a></li>
          -<li><a href="../../../index-all.html">Index</a></li>
          -<li><a href="../../../help-doc.html">Help</a></li>
          -</ul>
          -</div>
          -<div class="sub-nav">
          -<div class="nav-list-search"><label for="search">SEARCH:</label>
          -<input type="text" id="search" value="search" disabled="disabled">
          -<input type="reset" id="reset" value="reset" disabled="disabled">
          -</div>
          -</div>
          -<!-- ========= END OF TOP NAVBAR ========= -->
          -<span class="skip-nav" id="skip.navbar.top">
          -<!--   -->
          -</span></nav>
          -</header>
          -<div class="flex-content">
          -<main role="main">
          -<div class="header">
          -<h1 title="Uses of Class musichub.main.Main" class="title">Uses of Class<br>musichub.main.Main</h1>
          -</div>
          -No usage of musichub.main.Main</main>
          -<footer role="contentinfo">
          -<hr>
          -<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          -</footer>
          -</div>
          -</div>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/musichub/main/package-summary.html b/target/site/apidocs/musichub/main/package-summary.html
          deleted file mode 100644
          index afcd6ad..0000000
          --- a/target/site/apidocs/musichub/main/package-summary.html
          +++ /dev/null
          @@ -1,80 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
          -<title>musichub.main (spoteezer 0.1.0 API)</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="declaration: package: musichub.main">
          -<meta name="generator" content="javadoc/PackageWriterImpl">
          -<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          -<script type="text/javascript" src="../../script.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          -</head>
          -<body class="package-declaration-page">
          -<script type="text/javascript">var pathtoroot = "../../";
          -loadScripts(document, 'script');</script>
          -<noscript>
          -<div>JavaScript is disabled on your browser.</div>
          -</noscript>
          -<div class="flex-box">
          -<header role="banner" class="flex-header">
          -<nav role="navigation">
          -<!-- ========= START OF TOP NAVBAR ======= -->
          -<div class="top-nav" id="navbar.top">
          -<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          -<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          -<li><a href="../../index.html">Overview</a></li>
          -<li class="nav-bar-cell1-rev">Package</li>
          -<li>Class</li>
          -<li><a href="package-use.html">Use</a></li>
          -<li><a href="package-tree.html">Tree</a></li>
          -<li><a href="../../index-all.html">Index</a></li>
          -<li><a href="../../help-doc.html">Help</a></li>
          -</ul>
          -</div>
          -<div class="sub-nav">
          -<div class="nav-list-search"><label for="search">SEARCH:</label>
          -<input type="text" id="search" value="search" disabled="disabled">
          -<input type="reset" id="reset" value="reset" disabled="disabled">
          -</div>
          -</div>
          -<!-- ========= END OF TOP NAVBAR ========= -->
          -<span class="skip-nav" id="skip.navbar.top">
          -<!--   -->
          -</span></nav>
          -</header>
          -<div class="flex-content">
          -<main role="main">
          -<div class="header">
          -<h1 title="Package" class="title">Package&nbsp;musichub.main</h1>
          -</div>
          -<hr>
          -<div class="package-signature">package <span class="element-name">musichub.main</span></div>
          -<section class="summary">
          -<ul class="summary-list">
          -<li>
          -<div class="caption"><span>Class Summary</span></div>
          -<div class="summary-table two-column-summary">
          -<div class="table-header col-first">Class</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color"><a href="Main.html" title="class in musichub.main">Main</a></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -</div>
          -</li>
          -</ul>
          -</section>
          -</main>
          -<footer role="contentinfo">
          -<hr>
          -<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          -</footer>
          -</div>
          -</div>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/musichub/main/package-tree.html b/target/site/apidocs/musichub/main/package-tree.html
          deleted file mode 100644
          index 393b386..0000000
          --- a/target/site/apidocs/musichub/main/package-tree.html
          +++ /dev/null
          @@ -1,79 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
          -<title>musichub.main Class Hierarchy (spoteezer 0.1.0 API)</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="tree: package: musichub.main">
          -<meta name="generator" content="javadoc/PackageTreeWriter">
          -<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          -<script type="text/javascript" src="../../script.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          -</head>
          -<body class="package-tree-page">
          -<script type="text/javascript">var pathtoroot = "../../";
          -loadScripts(document, 'script');</script>
          -<noscript>
          -<div>JavaScript is disabled on your browser.</div>
          -</noscript>
          -<div class="flex-box">
          -<header role="banner" class="flex-header">
          -<nav role="navigation">
          -<!-- ========= START OF TOP NAVBAR ======= -->
          -<div class="top-nav" id="navbar.top">
          -<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          -<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          -<li><a href="../../index.html">Overview</a></li>
          -<li><a href="package-summary.html">Package</a></li>
          -<li>Class</li>
          -<li>Use</li>
          -<li class="nav-bar-cell1-rev">Tree</li>
          -<li><a href="../../index-all.html">Index</a></li>
          -<li><a href="../../help-doc.html">Help</a></li>
          -</ul>
          -</div>
          -<div class="sub-nav">
          -<div class="nav-list-search"><label for="search">SEARCH:</label>
          -<input type="text" id="search" value="search" disabled="disabled">
          -<input type="reset" id="reset" value="reset" disabled="disabled">
          -</div>
          -</div>
          -<!-- ========= END OF TOP NAVBAR ========= -->
          -<span class="skip-nav" id="skip.navbar.top">
          -<!--   -->
          -</span></nav>
          -</header>
          -<div class="flex-content">
          -<main role="main">
          -<div class="header">
          -<h1 class="title">Hierarchy For Package musichub.main</h1>
          -<span class="package-hierarchy-label">Package Hierarchies:</span>
          -<ul class="horizontal">
          -<li><a href="../../overview-tree.html">All Packages</a></li>
          -</ul>
          -</div>
          -<section class="hierarchy">
          -<h2 title="Class Hierarchy">Class Hierarchy</h2>
          -<ul>
          -<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link"><span class="type-name-link">Object</span></a>
          -<ul>
          -<li class="circle">musichub.main.<a href="Main.html" title="class in musichub.main"><span class="type-name-link">Main</span></a></li>
          -</ul>
          -</li>
          -</ul>
          -</section>
          -</main>
          -<footer role="contentinfo">
          -<hr>
          -<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          -</footer>
          -</div>
          -</div>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/musichub/main/package-use.html b/target/site/apidocs/musichub/main/package-use.html
          deleted file mode 100644
          index 0747159..0000000
          --- a/target/site/apidocs/musichub/main/package-use.html
          +++ /dev/null
          @@ -1,65 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
          -<title>Uses of Package musichub.main (spoteezer 0.1.0 API)</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="use: package: musichub.main">
          -<meta name="generator" content="javadoc/PackageUseWriter">
          -<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          -<script type="text/javascript" src="../../script.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          -</head>
          -<body class="package-use-page">
          -<script type="text/javascript">var pathtoroot = "../../";
          -loadScripts(document, 'script');</script>
          -<noscript>
          -<div>JavaScript is disabled on your browser.</div>
          -</noscript>
          -<div class="flex-box">
          -<header role="banner" class="flex-header">
          -<nav role="navigation">
          -<!-- ========= START OF TOP NAVBAR ======= -->
          -<div class="top-nav" id="navbar.top">
          -<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          -<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          -<li><a href="../../index.html">Overview</a></li>
          -<li><a href="package-summary.html">Package</a></li>
          -<li>Class</li>
          -<li class="nav-bar-cell1-rev">Use</li>
          -<li><a href="package-tree.html">Tree</a></li>
          -<li><a href="../../index-all.html">Index</a></li>
          -<li><a href="../../help-doc.html">Help</a></li>
          -</ul>
          -</div>
          -<div class="sub-nav">
          -<div class="nav-list-search"><label for="search">SEARCH:</label>
          -<input type="text" id="search" value="search" disabled="disabled">
          -<input type="reset" id="reset" value="reset" disabled="disabled">
          -</div>
          -</div>
          -<!-- ========= END OF TOP NAVBAR ========= -->
          -<span class="skip-nav" id="skip.navbar.top">
          -<!--   -->
          -</span></nav>
          -</header>
          -<div class="flex-content">
          -<main role="main">
          -<div class="header">
          -<h1 title="Uses of Package musichub.main" class="title">Uses of Package<br>musichub.main</h1>
          -</div>
          -No usage of musichub.main</main>
          -<footer role="contentinfo">
          -<hr>
          -<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          -</footer>
          -</div>
          -</div>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/musichub/util/XMLHandler.html b/target/site/apidocs/musichub/util/XMLHandler.html
          deleted file mode 100644
          index 53ffdbe..0000000
          --- a/target/site/apidocs/musichub/util/XMLHandler.html
          +++ /dev/null
          @@ -1,186 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
          -<title>XMLHandler (spoteezer 0.1.0 API)</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="declaration: package: musichub.util, class: XMLHandler">
          -<meta name="generator" content="javadoc/ClassWriterImpl">
          -<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          -<script type="text/javascript" src="../../script.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          -</head>
          -<body class="class-declaration-page">
          -<script type="text/javascript">var evenRowColor = "even-row-color";
          -var oddRowColor = "odd-row-color";
          -var tableTab = "table-tab";
          -var activeTableTab = "active-table-tab";
          -var pathtoroot = "../../";
          -loadScripts(document, 'script');</script>
          -<noscript>
          -<div>JavaScript is disabled on your browser.</div>
          -</noscript>
          -<div class="flex-box">
          -<header role="banner" class="flex-header">
          -<nav role="navigation">
          -<!-- ========= START OF TOP NAVBAR ======= -->
          -<div class="top-nav" id="navbar.top">
          -<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          -<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          -<li><a href="../../index.html">Overview</a></li>
          -<li><a href="package-summary.html">Package</a></li>
          -<li class="nav-bar-cell1-rev">Class</li>
          -<li><a href="class-use/XMLHandler.html">Use</a></li>
          -<li><a href="package-tree.html">Tree</a></li>
          -<li><a href="../../index-all.html">Index</a></li>
          -<li><a href="../../help-doc.html">Help</a></li>
          -</ul>
          -</div>
          -<div class="sub-nav">
          -<div>
          -<ul class="sub-nav-list">
          -<li>Summary:&nbsp;</li>
          -<li>Nested&nbsp;|&nbsp;</li>
          -<li>Field&nbsp;|&nbsp;</li>
          -<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
          -<li><a href="#method.summary">Method</a></li>
          -</ul>
          -<ul class="sub-nav-list">
          -<li>Detail:&nbsp;</li>
          -<li>Field&nbsp;|&nbsp;</li>
          -<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
          -<li><a href="#method.detail">Method</a></li>
          -</ul>
          -</div>
          -<div class="nav-list-search"><label for="search">SEARCH:</label>
          -<input type="text" id="search" value="search" disabled="disabled">
          -<input type="reset" id="reset" value="reset" disabled="disabled">
          -</div>
          -</div>
          -<!-- ========= END OF TOP NAVBAR ========= -->
          -<span class="skip-nav" id="skip.navbar.top">
          -<!--   -->
          -</span></nav>
          -</header>
          -<div class="flex-content">
          -<main role="main">
          -<!-- ======== START OF CLASS DATA ======== -->
          -<div class="header">
          -<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">musichub.util</a></div>
          -<h1 title="Class XMLHandler" class="title">Class XMLHandler</h1>
          -</div>
          -<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
          -<div class="inheritance">musichub.util.XMLHandler</div>
          -</div>
          -<section class="description">
          -<hr>
          -<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">XMLHandler</span>
          -<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
          -</section>
          -<section class="summary">
          -<ul class="summary-list">
          -<!-- ======== CONSTRUCTOR SUMMARY ======== -->
          -<li>
          -<section class="constructor-summary" id="constructor.summary">
          -<h2>Constructor Summary</h2>
          -<div class="caption"><span>Constructors</span></div>
          -<div class="summary-table two-column-summary">
          -<div class="table-header col-first">Constructor</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-constructor-name even-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E()">XMLHandler</a></span>()</code></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -</div>
          -</section>
          -</li>
          -<!-- ========== METHOD SUMMARY =========== -->
          -<li>
          -<section class="method-summary" id="method.summary">
          -<h2>Method Summary</h2>
          -<div id="method-summary-table">
          -<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
          -<div id="method-summary-table.tabpanel" role="tabpanel">
          -<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
          -<div class="table-header col-first">Modifier and Type</div>
          -<div class="table-header col-second">Method</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom" class="external-link">Document</a></code></div>
          -<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#createXMLDocument()">createXMLDocument</a></span>()</code></div>
          -<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
          -<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#createXMLFile(org.w3c.dom.Document,java.lang.String)">createXMLFile</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom" class="external-link">Document</a>&nbsp;document,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;filePath)</code></div>
          -<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/NodeList.html" title="class or interface in org.w3c.dom" class="external-link">NodeList</a></code></div>
          -<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#parseXMLFile(java.lang.String)">parseXMLFile</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;filePath)</code></div>
          -<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          -</div>
          -</div>
          -</div>
          -<div class="inherited-list">
          -<h3 id="methods.inherited.from.class.java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
          -<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -<section class="details">
          -<ul class="details-list">
          -<!-- ========= CONSTRUCTOR DETAIL ======== -->
          -<li>
          -<section class="constructor-details" id="constructor.detail">
          -<h2>Constructor Details</h2>
          -<ul class="member-list">
          -<li>
          -<section class="detail" id="&lt;init&gt;()">
          -<h3>XMLHandler</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">XMLHandler</span>()</div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -</li>
          -<!-- ============ METHOD DETAIL ========== -->
          -<li>
          -<section class="method-details" id="method.detail">
          -<h2>Method Details</h2>
          -<ul class="member-list">
          -<li>
          -<section class="detail" id="createXMLFile(org.w3c.dom.Document,java.lang.String)">
          -<h3>createXMLFile</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">createXMLFile</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom" class="external-link">Document</a>&nbsp;document,
          - <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;filePath)</span></div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="createXMLDocument()">
          -<h3>createXMLDocument</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom" class="external-link">Document</a></span>&nbsp;<span class="element-name">createXMLDocument</span>()</div>
          -</section>
          -</li>
          -<li>
          -<section class="detail" id="parseXMLFile(java.lang.String)">
          -<h3>parseXMLFile</h3>
          -<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/NodeList.html" title="class or interface in org.w3c.dom" class="external-link">NodeList</a></span>&nbsp;<span class="element-name">parseXMLFile</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;filePath)</span></div>
          -</section>
          -</li>
          -</ul>
          -</section>
          -</li>
          -</ul>
          -</section>
          -<!-- ========= END OF CLASS DATA ========= -->
          -</main>
          -<footer role="contentinfo">
          -<hr>
          -<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          -</footer>
          -</div>
          -</div>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/musichub/util/class-use/XMLHandler.html b/target/site/apidocs/musichub/util/class-use/XMLHandler.html
          deleted file mode 100644
          index 8c6ad08..0000000
          --- a/target/site/apidocs/musichub/util/class-use/XMLHandler.html
          +++ /dev/null
          @@ -1,65 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
          -<title>Uses of Class musichub.util.XMLHandler (spoteezer 0.1.0 API)</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="use: package: musichub.util, class: XMLHandler">
          -<meta name="generator" content="javadoc/ClassUseWriter">
          -<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.min.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../../jquery-ui.overrides.css" title="Style">
          -<script type="text/javascript" src="../../../script.js"></script>
          -<script type="text/javascript" src="../../../script-dir/jquery-3.5.1.min.js"></script>
          -<script type="text/javascript" src="../../../script-dir/jquery-ui.min.js"></script>
          -</head>
          -<body class="class-use-page">
          -<script type="text/javascript">var pathtoroot = "../../../";
          -loadScripts(document, 'script');</script>
          -<noscript>
          -<div>JavaScript is disabled on your browser.</div>
          -</noscript>
          -<div class="flex-box">
          -<header role="banner" class="flex-header">
          -<nav role="navigation">
          -<!-- ========= START OF TOP NAVBAR ======= -->
          -<div class="top-nav" id="navbar.top">
          -<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          -<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          -<li><a href="../../../index.html">Overview</a></li>
          -<li><a href="../package-summary.html">Package</a></li>
          -<li><a href="../XMLHandler.html" title="class in musichub.util">Class</a></li>
          -<li class="nav-bar-cell1-rev">Use</li>
          -<li><a href="../package-tree.html">Tree</a></li>
          -<li><a href="../../../index-all.html">Index</a></li>
          -<li><a href="../../../help-doc.html">Help</a></li>
          -</ul>
          -</div>
          -<div class="sub-nav">
          -<div class="nav-list-search"><label for="search">SEARCH:</label>
          -<input type="text" id="search" value="search" disabled="disabled">
          -<input type="reset" id="reset" value="reset" disabled="disabled">
          -</div>
          -</div>
          -<!-- ========= END OF TOP NAVBAR ========= -->
          -<span class="skip-nav" id="skip.navbar.top">
          -<!--   -->
          -</span></nav>
          -</header>
          -<div class="flex-content">
          -<main role="main">
          -<div class="header">
          -<h1 title="Uses of Class musichub.util.XMLHandler" class="title">Uses of Class<br>musichub.util.XMLHandler</h1>
          -</div>
          -No usage of musichub.util.XMLHandler</main>
          -<footer role="contentinfo">
          -<hr>
          -<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          -</footer>
          -</div>
          -</div>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/musichub/util/package-summary.html b/target/site/apidocs/musichub/util/package-summary.html
          deleted file mode 100644
          index 24257be..0000000
          --- a/target/site/apidocs/musichub/util/package-summary.html
          +++ /dev/null
          @@ -1,88 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
          -<title>musichub.util (spoteezer 0.1.0 API)</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="declaration: package: musichub.util">
          -<meta name="generator" content="javadoc/PackageWriterImpl">
          -<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          -<script type="text/javascript" src="../../script.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          -</head>
          -<body class="package-declaration-page">
          -<script type="text/javascript">var pathtoroot = "../../";
          -loadScripts(document, 'script');</script>
          -<noscript>
          -<div>JavaScript is disabled on your browser.</div>
          -</noscript>
          -<div class="flex-box">
          -<header role="banner" class="flex-header">
          -<nav role="navigation">
          -<!-- ========= START OF TOP NAVBAR ======= -->
          -<div class="top-nav" id="navbar.top">
          -<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          -<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          -<li><a href="../../index.html">Overview</a></li>
          -<li class="nav-bar-cell1-rev">Package</li>
          -<li>Class</li>
          -<li><a href="package-use.html">Use</a></li>
          -<li><a href="package-tree.html">Tree</a></li>
          -<li><a href="../../index-all.html">Index</a></li>
          -<li><a href="../../help-doc.html">Help</a></li>
          -</ul>
          -</div>
          -<div class="sub-nav">
          -<div class="nav-list-search"><label for="search">SEARCH:</label>
          -<input type="text" id="search" value="search" disabled="disabled">
          -<input type="reset" id="reset" value="reset" disabled="disabled">
          -</div>
          -</div>
          -<!-- ========= END OF TOP NAVBAR ========= -->
          -<span class="skip-nav" id="skip.navbar.top">
          -<!--   -->
          -</span></nav>
          -</header>
          -<div class="flex-content">
          -<main role="main">
          -<div class="header">
          -<h1 title="Package" class="title">Package&nbsp;musichub.util</h1>
          -</div>
          -<hr>
          -<div class="package-signature">package <span class="element-name">musichub.util</span></div>
          -<section class="summary">
          -<ul class="summary-list">
          -<li>
          -<div class="caption"><span>Class Summary</span></div>
          -<div class="summary-table two-column-summary">
          -<div class="table-header col-first">Class</div>
          -<div class="table-header col-last">Description</div>
          -<div class="col-first even-row-color"><a href="LogHandler.html" title="class in musichub.util">LogHandler</a></div>
          -<div class="col-last even-row-color">
          -<div class="block">Class offering a log writing method.</div>
          -</div>
          -<div class="col-first odd-row-color"><a href="PathValidation.html" title="class in musichub.util">PathValidation</a></div>
          -<div class="col-last odd-row-color">
          -<div class="block">Class offering a path validation method.</div>
          -</div>
          -<div class="col-first even-row-color"><a href="XMLHandler.html" title="class in musichub.util">XMLHandler</a></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          -</div>
          -</li>
          -</ul>
          -</section>
          -</main>
          -<footer role="contentinfo">
          -<hr>
          -<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          -</footer>
          -</div>
          -</div>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/musichub/util/package-tree.html b/target/site/apidocs/musichub/util/package-tree.html
          deleted file mode 100644
          index ace19b6..0000000
          --- a/target/site/apidocs/musichub/util/package-tree.html
          +++ /dev/null
          @@ -1,81 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
          -<title>musichub.util Class Hierarchy (spoteezer 0.1.0 API)</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="tree: package: musichub.util">
          -<meta name="generator" content="javadoc/PackageTreeWriter">
          -<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          -<script type="text/javascript" src="../../script.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          -</head>
          -<body class="package-tree-page">
          -<script type="text/javascript">var pathtoroot = "../../";
          -loadScripts(document, 'script');</script>
          -<noscript>
          -<div>JavaScript is disabled on your browser.</div>
          -</noscript>
          -<div class="flex-box">
          -<header role="banner" class="flex-header">
          -<nav role="navigation">
          -<!-- ========= START OF TOP NAVBAR ======= -->
          -<div class="top-nav" id="navbar.top">
          -<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          -<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          -<li><a href="../../index.html">Overview</a></li>
          -<li><a href="package-summary.html">Package</a></li>
          -<li>Class</li>
          -<li>Use</li>
          -<li class="nav-bar-cell1-rev">Tree</li>
          -<li><a href="../../index-all.html">Index</a></li>
          -<li><a href="../../help-doc.html">Help</a></li>
          -</ul>
          -</div>
          -<div class="sub-nav">
          -<div class="nav-list-search"><label for="search">SEARCH:</label>
          -<input type="text" id="search" value="search" disabled="disabled">
          -<input type="reset" id="reset" value="reset" disabled="disabled">
          -</div>
          -</div>
          -<!-- ========= END OF TOP NAVBAR ========= -->
          -<span class="skip-nav" id="skip.navbar.top">
          -<!--   -->
          -</span></nav>
          -</header>
          -<div class="flex-content">
          -<main role="main">
          -<div class="header">
          -<h1 class="title">Hierarchy For Package musichub.util</h1>
          -<span class="package-hierarchy-label">Package Hierarchies:</span>
          -<ul class="horizontal">
          -<li><a href="../../overview-tree.html">All Packages</a></li>
          -</ul>
          -</div>
          -<section class="hierarchy">
          -<h2 title="Class Hierarchy">Class Hierarchy</h2>
          -<ul>
          -<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link"><span class="type-name-link">Object</span></a>
          -<ul>
          -<li class="circle">musichub.util.<a href="LogHandler.html" title="class in musichub.util"><span class="type-name-link">LogHandler</span></a></li>
          -<li class="circle">musichub.util.<a href="PathValidation.html" title="class in musichub.util"><span class="type-name-link">PathValidation</span></a></li>
          -<li class="circle">musichub.util.<a href="XMLHandler.html" title="class in musichub.util"><span class="type-name-link">XMLHandler</span></a></li>
          -</ul>
          -</li>
          -</ul>
          -</section>
          -</main>
          -<footer role="contentinfo">
          -<hr>
          -<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          -</footer>
          -</div>
          -</div>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/musichub/util/package-use.html b/target/site/apidocs/musichub/util/package-use.html
          deleted file mode 100644
          index 02a3fc7..0000000
          --- a/target/site/apidocs/musichub/util/package-use.html
          +++ /dev/null
          @@ -1,65 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
          -<title>Uses of Package musichub.util (spoteezer 0.1.0 API)</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="use: package: musichub.util">
          -<meta name="generator" content="javadoc/PackageUseWriter">
          -<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          -<script type="text/javascript" src="../../script.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          -<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          -</head>
          -<body class="package-use-page">
          -<script type="text/javascript">var pathtoroot = "../../";
          -loadScripts(document, 'script');</script>
          -<noscript>
          -<div>JavaScript is disabled on your browser.</div>
          -</noscript>
          -<div class="flex-box">
          -<header role="banner" class="flex-header">
          -<nav role="navigation">
          -<!-- ========= START OF TOP NAVBAR ======= -->
          -<div class="top-nav" id="navbar.top">
          -<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          -<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          -<li><a href="../../index.html">Overview</a></li>
          -<li><a href="package-summary.html">Package</a></li>
          -<li>Class</li>
          -<li class="nav-bar-cell1-rev">Use</li>
          -<li><a href="package-tree.html">Tree</a></li>
          -<li><a href="../../index-all.html">Index</a></li>
          -<li><a href="../../help-doc.html">Help</a></li>
          -</ul>
          -</div>
          -<div class="sub-nav">
          -<div class="nav-list-search"><label for="search">SEARCH:</label>
          -<input type="text" id="search" value="search" disabled="disabled">
          -<input type="reset" id="reset" value="reset" disabled="disabled">
          -</div>
          -</div>
          -<!-- ========= END OF TOP NAVBAR ========= -->
          -<span class="skip-nav" id="skip.navbar.top">
          -<!--   -->
          -</span></nav>
          -</header>
          -<div class="flex-content">
          -<main role="main">
          -<div class="header">
          -<h1 title="Uses of Package musichub.util" class="title">Uses of Package<br>musichub.util</h1>
          -</div>
          -No usage of musichub.util</main>
          -<footer role="contentinfo">
          -<hr>
          -<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          -</footer>
          -</div>
          -</div>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/overview-summary.html b/target/site/apidocs/overview-summary.html
          deleted file mode 100644
          index 370d2cb..0000000
          --- a/target/site/apidocs/overview-summary.html
          +++ /dev/null
          @@ -1,27 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
          -<title>spoteezer 0.1.0 API</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="index redirect">
          -<meta name="generator" content="javadoc/IndexRedirectWriter">
          -<link rel="canonical" href="index.html">
          -<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
          -<script type="text/javascript">window.location.replace('index.html')</script>
          -<noscript>
          -<meta http-equiv="Refresh" content="0;index.html">
          -</noscript>
          -</head>
          -<body class="index-redirect-page">
          -<main role="main">
          -<noscript>
          -<p>JavaScript is disabled on your browser.</p>
          -</noscript>
          -<p><a href="index.html">index.html</a></p>
          -</main>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/overview-tree.html b/target/site/apidocs/overview-tree.html
          deleted file mode 100644
          index 943af3e..0000000
          --- a/target/site/apidocs/overview-tree.html
          +++ /dev/null
          @@ -1,120 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
          -<title>Class Hierarchy (spoteezer 0.1.0 API)</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="class tree">
          -<meta name="generator" content="javadoc/TreeWriter">
          -<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="jquery-ui.overrides.css" title="Style">
          -<script type="text/javascript" src="script.js"></script>
          -<script type="text/javascript" src="script-dir/jquery-3.5.1.min.js"></script>
          -<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
          -</head>
          -<body class="tree-page">
          -<script type="text/javascript">var pathtoroot = "./";
          -loadScripts(document, 'script');</script>
          -<noscript>
          -<div>JavaScript is disabled on your browser.</div>
          -</noscript>
          -<div class="flex-box">
          -<header role="banner" class="flex-header">
          -<nav role="navigation">
          -<!-- ========= START OF TOP NAVBAR ======= -->
          -<div class="top-nav" id="navbar.top">
          -<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          -<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          -<li><a href="index.html">Overview</a></li>
          -<li>Package</li>
          -<li>Class</li>
          -<li>Use</li>
          -<li class="nav-bar-cell1-rev">Tree</li>
          -<li><a href="index-all.html">Index</a></li>
          -<li><a href="help-doc.html">Help</a></li>
          -</ul>
          -</div>
          -<div class="sub-nav">
          -<div class="nav-list-search"><label for="search">SEARCH:</label>
          -<input type="text" id="search" value="search" disabled="disabled">
          -<input type="reset" id="reset" value="reset" disabled="disabled">
          -</div>
          -</div>
          -<!-- ========= END OF TOP NAVBAR ========= -->
          -<span class="skip-nav" id="skip.navbar.top">
          -<!--   -->
          -</span></nav>
          -</header>
          -<div class="flex-content">
          -<main role="main">
          -<div class="header">
          -<h1 class="title">Hierarchy For All Packages</h1>
          -<span class="package-hierarchy-label">Package Hierarchies:</span>
          -<ul class="horizontal">
          -<li><a href="musichub/business/package-tree.html">musichub.business</a>, </li>
          -<li><a href="musichub/main/package-tree.html">musichub.main</a>, </li>
          -<li><a href="musichub/util/package-tree.html">musichub.util</a></li>
          -</ul>
          -</div>
          -<section class="hierarchy">
          -<h2 title="Class Hierarchy">Class Hierarchy</h2>
          -<ul>
          -<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link"><span class="type-name-link">Object</span></a>
          -<ul>
          -<li class="circle">musichub.business.<a href="musichub/business/Album.html" title="class in musichub.business"><span class="type-name-link">Album</span></a></li>
          -<li class="circle">musichub.business.<a href="musichub/business/AudioElement.html" title="class in musichub.business"><span class="type-name-link">AudioElement</span></a>
          -<ul>
          -<li class="circle">musichub.business.<a href="musichub/business/AudioBook.html" title="class in musichub.business"><span class="type-name-link">AudioBook</span></a></li>
          -<li class="circle">musichub.business.<a href="musichub/business/Song.html" title="class in musichub.business"><span class="type-name-link">Song</span></a></li>
          -</ul>
          -</li>
          -<li class="circle">musichub.util.<a href="musichub/util/LogHandler.html" title="class in musichub.util"><span class="type-name-link">LogHandler</span></a></li>
          -<li class="circle">musichub.main.<a href="musichub/main/Main.html" title="class in musichub.main"><span class="type-name-link">Main</span></a></li>
          -<li class="circle">musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business"><span class="type-name-link">MusicHub</span></a></li>
          -<li class="circle">musichub.util.<a href="musichub/util/PathValidation.html" title="class in musichub.util"><span class="type-name-link">PathValidation</span></a></li>
          -<li class="circle">musichub.business.<a href="musichub/business/PlayList.html" title="class in musichub.business"><span class="type-name-link">PlayList</span></a></li>
          -<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html" title="class or interface in java.lang" class="external-link"><span class="type-name-link">Throwable</span></a> (implements java.io.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a>)
          -<ul>
          -<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link"><span class="type-name-link">Exception</span></a>
          -<ul>
          -<li class="circle">musichub.business.<a href="musichub/business/NoAlbumFoundException.html" title="class in musichub.business"><span class="type-name-link">NoAlbumFoundException</span></a></li>
          -<li class="circle">musichub.business.<a href="musichub/business/NoElementFoundException.html" title="class in musichub.business"><span class="type-name-link">NoElementFoundException</span></a></li>
          -<li class="circle">musichub.business.<a href="musichub/business/NoPlayListFoundException.html" title="class in musichub.business"><span class="type-name-link">NoPlayListFoundException</span></a></li>
          -</ul>
          -</li>
          -</ul>
          -</li>
          -<li class="circle">musichub.util.<a href="musichub/util/XMLHandler.html" title="class in musichub.util"><span class="type-name-link">XMLHandler</span></a></li>
          -</ul>
          -</li>
          -</ul>
          -</section>
          -<section class="hierarchy">
          -<h2 title="Enum Class Hierarchy">Enum Class Hierarchy</h2>
          -<ul>
          -<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link"><span class="type-name-link">Object</span></a>
          -<ul>
          -<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link"><span class="type-name-link">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Comparable.html" title="class or interface in java.lang" class="external-link">Comparable</a>&lt;T&gt;, java.lang.constant.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/constant/Constable.html" title="class or interface in java.lang.constant" class="external-link">Constable</a>, java.io.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a>)
          -<ul>
          -<li class="circle">musichub.business.<a href="musichub/business/Category.html" title="enum class in musichub.business"><span class="type-name-link">Category</span></a></li>
          -<li class="circle">musichub.business.<a href="musichub/business/Genre.html" title="enum class in musichub.business"><span class="type-name-link">Genre</span></a></li>
          -<li class="circle">musichub.business.<a href="musichub/business/Language.html" title="enum class in musichub.business"><span class="type-name-link">Language</span></a></li>
          -</ul>
          -</li>
          -</ul>
          -</li>
          -</ul>
          -</section>
          -</main>
          -<footer role="contentinfo">
          -<hr>
          -<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          -</footer>
          -</div>
          -</div>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/package-search-index.js b/target/site/apidocs/package-search-index.js
          deleted file mode 100644
          index 3098d0e..0000000
          --- a/target/site/apidocs/package-search-index.js
          +++ /dev/null
          @@ -1 +0,0 @@
          -packageSearchIndex = [{"l":"All Packages","u":"allpackages-index.html"},{"l":"musichub.business"},{"l":"musichub.main"},{"l":"musichub.util"}];updateSearchResults();
          \ No newline at end of file
          diff --git a/target/site/apidocs/resources/glass.png b/target/site/apidocs/resources/glass.png
          deleted file mode 100644
          index a7f591f..0000000
          Binary files a/target/site/apidocs/resources/glass.png and /dev/null differ
          diff --git a/target/site/apidocs/resources/x.png b/target/site/apidocs/resources/x.png
          deleted file mode 100644
          index 30548a7..0000000
          Binary files a/target/site/apidocs/resources/x.png and /dev/null differ
          diff --git a/target/site/apidocs/script-dir/images/ui-bg_glass_55_fbf9ee_1x400.png b/target/site/apidocs/script-dir/images/ui-bg_glass_55_fbf9ee_1x400.png
          deleted file mode 100644
          index 34abd18..0000000
          Binary files a/target/site/apidocs/script-dir/images/ui-bg_glass_55_fbf9ee_1x400.png and /dev/null differ
          diff --git a/target/site/apidocs/script-dir/images/ui-bg_glass_65_dadada_1x400.png b/target/site/apidocs/script-dir/images/ui-bg_glass_65_dadada_1x400.png
          deleted file mode 100644
          index f058a93..0000000
          Binary files a/target/site/apidocs/script-dir/images/ui-bg_glass_65_dadada_1x400.png and /dev/null differ
          diff --git a/target/site/apidocs/script-dir/images/ui-bg_glass_75_dadada_1x400.png b/target/site/apidocs/script-dir/images/ui-bg_glass_75_dadada_1x400.png
          deleted file mode 100644
          index 2ce04c1..0000000
          Binary files a/target/site/apidocs/script-dir/images/ui-bg_glass_75_dadada_1x400.png and /dev/null differ
          diff --git a/target/site/apidocs/script-dir/images/ui-bg_glass_75_e6e6e6_1x400.png b/target/site/apidocs/script-dir/images/ui-bg_glass_75_e6e6e6_1x400.png
          deleted file mode 100644
          index a90afb8..0000000
          Binary files a/target/site/apidocs/script-dir/images/ui-bg_glass_75_e6e6e6_1x400.png and /dev/null differ
          diff --git a/target/site/apidocs/script-dir/images/ui-bg_glass_95_fef1ec_1x400.png b/target/site/apidocs/script-dir/images/ui-bg_glass_95_fef1ec_1x400.png
          deleted file mode 100644
          index dbe091f..0000000
          Binary files a/target/site/apidocs/script-dir/images/ui-bg_glass_95_fef1ec_1x400.png and /dev/null differ
          diff --git a/target/site/apidocs/script-dir/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/target/site/apidocs/script-dir/images/ui-bg_highlight-soft_75_cccccc_1x100.png
          deleted file mode 100644
          index 5dc3593..0000000
          Binary files a/target/site/apidocs/script-dir/images/ui-bg_highlight-soft_75_cccccc_1x100.png and /dev/null differ
          diff --git a/target/site/apidocs/script-dir/images/ui-icons_222222_256x240.png b/target/site/apidocs/script-dir/images/ui-icons_222222_256x240.png
          deleted file mode 100644
          index e723e17..0000000
          Binary files a/target/site/apidocs/script-dir/images/ui-icons_222222_256x240.png and /dev/null differ
          diff --git a/target/site/apidocs/script-dir/images/ui-icons_2e83ff_256x240.png b/target/site/apidocs/script-dir/images/ui-icons_2e83ff_256x240.png
          deleted file mode 100644
          index 1f5f497..0000000
          Binary files a/target/site/apidocs/script-dir/images/ui-icons_2e83ff_256x240.png and /dev/null differ
          diff --git a/target/site/apidocs/script-dir/images/ui-icons_454545_256x240.png b/target/site/apidocs/script-dir/images/ui-icons_454545_256x240.png
          deleted file mode 100644
          index 618f5b0..0000000
          Binary files a/target/site/apidocs/script-dir/images/ui-icons_454545_256x240.png and /dev/null differ
          diff --git a/target/site/apidocs/script-dir/images/ui-icons_888888_256x240.png b/target/site/apidocs/script-dir/images/ui-icons_888888_256x240.png
          deleted file mode 100644
          index ee5e33f..0000000
          Binary files a/target/site/apidocs/script-dir/images/ui-icons_888888_256x240.png and /dev/null differ
          diff --git a/target/site/apidocs/script-dir/images/ui-icons_cd0a0a_256x240.png b/target/site/apidocs/script-dir/images/ui-icons_cd0a0a_256x240.png
          deleted file mode 100644
          index 7e8ebc1..0000000
          Binary files a/target/site/apidocs/script-dir/images/ui-icons_cd0a0a_256x240.png and /dev/null differ
          diff --git a/target/site/apidocs/script-dir/jquery-3.5.1.min.js b/target/site/apidocs/script-dir/jquery-3.5.1.min.js
          deleted file mode 100644
          index b061403..0000000
          --- a/target/site/apidocs/script-dir/jquery-3.5.1.min.js
          +++ /dev/null
          @@ -1,2 +0,0 @@
          -/*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license */
          -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}S.fn=S.prototype={jquery:f,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(n){return this.pushStack(S.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},S.extend=S.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(S.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||S.isPlainObject(n)?n:{},i=!1,a[t]=S.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?S.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:y}),"function"==typeof Symbol&&(S.fn[Symbol.iterator]=t[Symbol.iterator]),S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,S="sizzle"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",B=new RegExp(M+"+","g"),$=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+S+"'></a><select id='"+S+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(B," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[k,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[S]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace($,"$1"));return s[S]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[S]||(e[S]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===k&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[S]&&(v=Ce(v)),y&&!y[S]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[S]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace($,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace($," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=A[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[S]?i.push(a):o.push(a);(a=A(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=k+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(k=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(k=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=S.split("").sort(D).join("")===S,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);S.find=d,S.expr=d.selectors,S.expr[":"]=S.expr.pseudos,S.uniqueSort=S.unique=d.uniqueSort,S.text=d.getText,S.isXMLDoc=d.isXML,S.contains=d.contains,S.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=S.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1<i.call(n,e)!==r}):S.filter(n,e,r)}S.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?S.find.matchesSelector(r,e)?[r]:[]:S.find.matches(e,S.grep(t,function(e){return 1===e.nodeType}))},S.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(S(e).filter(function(){for(t=0;t<r;t++)if(S.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)S.find(e,i[t],n);return 1<r?S.uniqueSort(n):n},filter:function(e){return this.pushStack(D(this,e||[],!1))},not:function(e){return this.pushStack(D(this,e||[],!0))},is:function(e){return!!D(this,"string"==typeof e&&k.test(e)?S(e):e||[],!1).length}});var j,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(S.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&S(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&S.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?S.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(S(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),S.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return O(e,"nextSibling")},prev:function(e){return O(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),S.merge([],e.childNodes))}},function(r,i){S.fn[r]=function(e,t){var n=S.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=S.filter(t,n)),1<this.length&&(H[r]||S.uniqueSort(n),L.test(r)&&n.reverse()),this.pushStack(n)}});var P=/[^\x20\t\r\n\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}S.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},S.each(e.match(P)||[],function(e,t){n[t]=!0}),n):S.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){S.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return S.each(arguments,function(e,t){var n;while(-1<(n=S.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<S.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},S.extend({Deferred:function(e){var o=[["notify","progress",S.Callbacks("memory"),S.Callbacks("memory"),2],["resolve","done",S.Callbacks("once memory"),S.Callbacks("once memory"),0,"resolved"],["reject","fail",S.Callbacks("once memory"),S.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return S.Deferred(function(r){S.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,R,s),l(u,o,M,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,M,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){S.Deferred.exceptionHook&&S.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(S.Deferred.getStackHook&&(t.stackTrace=S.Deferred.getStackHook()),C.setTimeout(t))}}return S.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?S.extend(e,a):a}},s={};return S.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=S.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(I(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},S.readyException=function(e){C.setTimeout(function(){throw e})};var F=S.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),S.ready()}S.fn.ready=function(e){return F.then(e)["catch"](function(e){S.readyException(e)}),this},S.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--S.readyWait:S.isReady)||(S.isReady=!0)!==e&&0<--S.readyWait||F.resolveWith(E,[S])}}),S.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(S.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(S(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=S.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;while(n--)delete r[t[n]]}(void 0===t||S.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!S.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}S.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),S.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=Q.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){Q.set(this,n)}):$(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=Q.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){Q.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),S.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,S.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=S.queue(e,t),r=n.length,i=n.shift(),o=S._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){S.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:S.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),S.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?S.queue(this[0],t):void 0===n?this:this.each(function(){var e=S.queue(this,t,n);S._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&S.dequeue(this,t)})},dequeue:function(e){return this.each(function(){S.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=S.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=E.documentElement,ie=function(e){return S.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return S.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===S.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return S.css(e,t,"")},u=s(),l=n&&n[3]||(S.cssNumber[t]?"":"px"),c=e.nodeType&&(S.cssNumber[t]||"px"!==l&&+u)&&te.exec(S.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)S.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,S.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ue[s])||(o=a.body.appendChild(a.createElement(s)),u=S.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ue[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}S.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?S(this).show():S(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",y.option=!!ce.lastChild;var ge={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,y.option||(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))S.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+S.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;S.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<S.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}var be=/^key/,we=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Te=/^([^.]*)(?:\.(.+)|)/;function Ce(){return!0}function Ee(){return!1}function Se(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function ke(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)ke(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Ee;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return S().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=S.guid++)),e.each(function(){S.event.add(this,t,i,r,n)})}function Ae(e,i,o){o?(Y.set(e,i,!1),S.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(S.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Y.set(this,i,{value:S.event.trigger(S.extend(r[0],S.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&S.event.add(e,i,Ce)}S.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.get(t);if(V(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&S.find.matchesSelector(re,i),n.guid||(n.guid=S.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof S&&S.event.triggered!==e.type?S.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(P)||[""]).length;while(l--)d=g=(s=Te.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=S.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=S.event.special[d]||{},c=S.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&S.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),S.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(P)||[""]).length;while(l--)if(d=g=(s=Te.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=S.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||S.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)S.event.remove(e,d+t[l],n,r,!0);S.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=S.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=S.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=S.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((S.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<S(i,this).index(l):S.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(S.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[S.expando]?e:new S.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Ae(t,"click",Ce),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Ae(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Y.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},S.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},S.Event=function(e,t){if(!(this instanceof S.Event))return new S.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ce:Ee,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&S.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[S.expando]=!0},S.Event.prototype={constructor:S.Event,isDefaultPrevented:Ee,isPropagationStopped:Ee,isImmediatePropagationStopped:Ee,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ce,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ce,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ce,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},S.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&be.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&we.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},S.event.addProp),S.each({focus:"focusin",blur:"focusout"},function(e,t){S.event.special[e]={setup:function(){return Ae(this,e,Se),!1},trigger:function(){return Ae(this,e),!0},delegateType:t}}),S.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){S.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||S.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),S.fn.extend({on:function(e,t,n,r){return ke(this,e,t,n,r)},one:function(e,t,n,r){return ke(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,S(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Ee),this.each(function(){S.event.remove(this,e,n,t)})}});var Ne=/<script|<style|<link/i,De=/checked\s*(?:[^=]|=\s*.checked.)/i,je=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)S.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=S.extend({},o),Q.set(t,a))}}function Pe(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&De.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Pe(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=S.map(ve(e,"script"),Le)).length;c<f;c++)u=e,c!==p&&(u=S.clone(u,!0,!0),s&&S.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,S.map(a,He),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Y.access(u,"globalEval")&&S.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?S._evalUrl&&!u.noModule&&S._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):b(u.textContent.replace(je,""),u,l))}return n}function Re(e,t,n){for(var r,i=t?S.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||S.cleanData(ve(r)),r.parentNode&&(n&&ie(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}S.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||S.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Oe(o[r],a[r]);else Oe(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=S.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),S.fn.extend({detach:function(e){return Re(this,e,!0)},remove:function(e){return Re(this,e)},text:function(e){return $(this,function(e){return void 0===e?S.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Pe(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||qe(this,e).appendChild(e)})},prepend:function(){return Pe(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=qe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(S.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return S.clone(this,e,t)})},html:function(e){return $(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ne.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=S.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(S.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Pe(this,arguments,function(e){var t=this.parentNode;S.inArray(this,n)<0&&(S.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),S.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){S.fn[e]=function(e){for(var t,n=[],r=S(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),S(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Me=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Ie=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},We=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Fe=new RegExp(ne.join("|"),"i");function Be(e,t,n){var r,i,o,a,s=e.style;return(n=n||Ie(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=S.style(e,t)),!y.pixelBoxStyles()&&Me.test(a)&&Fe.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function $e(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(u).appendChild(l);var e=C.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=E.createElement("div"),l=E.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===l.style.backgroundClip,S.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=E.createElement("table"),t=E.createElement("tr"),n=E.createElement("div"),e.style.cssText="position:absolute;left:-11111px",t.style.height="1px",n.style.height="9px",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=3<parseInt(r.height),re.removeChild(e)),a}}))}();var _e=["Webkit","Moz","ms"],ze=E.createElement("div").style,Ue={};function Xe(e){var t=S.cssProps[e]||Ue[e];return t||(e in ze?e:Ue[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=_e.length;while(n--)if((e=_e[n]+t)in ze)return e}(e)||e)}var Ve=/^(none|table(?!-c[ea]).+)/,Ge=/^--/,Ye={position:"absolute",visibility:"hidden",display:"block"},Qe={letterSpacing:"0",fontWeight:"400"};function Je(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ke(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=S.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=S.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=S.css(e,"border"+ne[a]+"Width",!0,i))):(u+=S.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=S.css(e,"border"+ne[a]+"Width",!0,i):s+=S.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Ze(e,t,n){var r=Ie(e),i=(!y.boxSizingReliable()||n)&&"border-box"===S.css(e,"boxSizing",!1,r),o=i,a=Be(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Me.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||!y.reliableTrDimensions()&&A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===S.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===S.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Ke(e,t,n||(i?"border":"content"),o,r,a)+"px"}function et(e,t,n,r,i){return new et.prototype.init(e,t,n,r,i)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Be(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Ge.test(t),l=e.style;if(u||(t=Xe(s)),a=S.cssHooks[t]||S.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(S.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Ge.test(t)||(t=Xe(s)),(a=S.cssHooks[t]||S.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Be(e,t,r)),"normal"===i&&t in Qe&&(i=Qe[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),S.each(["height","width"],function(e,u){S.cssHooks[u]={get:function(e,t,n){if(t)return!Ve.test(S.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Ze(e,u,n):We(e,Ye,function(){return Ze(e,u,n)})},set:function(e,t,n){var r,i=Ie(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===S.css(e,"boxSizing",!1,i),s=n?Ke(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Ke(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=S.css(e,u)),Je(0,t,s)}}}),S.cssHooks.marginLeft=$e(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Be(e,"marginLeft"))||e.getBoundingClientRect().left-We(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),S.each({margin:"",padding:"",border:"Width"},function(i,o){S.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(S.cssHooks[i+o].set=Je)}),S.fn.extend({css:function(e,t){return $(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Ie(e),i=t.length;a<i;a++)o[t[a]]=S.css(e,t[a],!1,r);return o}return void 0!==n?S.style(e,t,n):S.css(e,t)},e,t,1<arguments.length)}}),((S.Tween=et).prototype={constructor:et,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||S.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(S.cssNumber[n]?"":"px")},cur:function(){var e=et.propHooks[this.prop];return e&&e.get?e.get(this):et.propHooks._default.get(this)},run:function(e){var t,n=et.propHooks[this.prop];return this.options.duration?this.pos=t=S.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):et.propHooks._default.set(this),this}}).init.prototype=et.prototype,(et.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=S.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){S.fx.step[e.prop]?S.fx.step[e.prop](e):1!==e.elem.nodeType||!S.cssHooks[e.prop]&&null==e.elem.style[Xe(e.prop)]?e.elem[e.prop]=e.now:S.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=et.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},S.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},S.fx=et.prototype.init,S.fx.step={};var tt,nt,rt,it,ot=/^(?:toggle|show|hide)$/,at=/queueHooks$/;function st(){nt&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(st):C.setTimeout(st,S.fx.interval),S.fx.tick())}function ut(){return C.setTimeout(function(){tt=void 0}),tt=Date.now()}function lt(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ne[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ct(e,t,n){for(var r,i=(ft.tweeners[t]||[]).concat(ft.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function ft(o,e,t){var n,a,r=0,i=ft.prefilters.length,s=S.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=tt||ut(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:S.extend({},e),opts:S.extend(!0,{specialEasing:{},easing:S.easing._default},t),originalProperties:e,originalOptions:t,startTime:tt||ut(),duration:t.duration,tweens:[],createTween:function(e,t){var n=S.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=S.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=ft.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(S._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return S.map(c,ct,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),S.fx.timer(S.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}S.Animation=S.extend(ft,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],ft.tweeners[n]=ft.tweeners[n]||[],ft.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),v=Y.get(e,"fxshow");for(r in n.queue||(null==(a=S._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,S.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],ot.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||S.style(e,r)}if((u=!S.isEmptyObject(t))||!S.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Y.get(e,"display")),"none"===(c=S.css(e,"display"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=S.css(e,"display"),le([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===S.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Y.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,"fxshow"),d)S.style(e,r,d[r])})),u=ct(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?ft.prefilters.unshift(e):ft.prefilters.push(e)}}),S.speed=function(e,t,n){var r=e&&"object"==typeof e?S.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return S.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in S.fx.speeds?r.duration=S.fx.speeds[r.duration]:r.duration=S.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&S.dequeue(this,r.queue)},r},S.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=S.isEmptyObject(t),o=S.speed(e,n,r),a=function(){var e=ft(this,S.extend({},t),o);(i||Y.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=S.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&at.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||S.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Y.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=S.timers,o=n?n.length:0;for(t.finish=!0,S.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),S.each(["toggle","show","hide"],function(e,r){var i=S.fn[r];S.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(lt(r,!0),e,t,n)}}),S.each({slideDown:lt("show"),slideUp:lt("hide"),slideToggle:lt("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){S.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),S.timers=[],S.fx.tick=function(){var e,t=0,n=S.timers;for(tt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||S.fx.stop(),tt=void 0},S.fx.timer=function(e){S.timers.push(e),S.fx.start()},S.fx.interval=13,S.fx.start=function(){nt||(nt=!0,st())},S.fx.stop=function(){nt=null},S.fx.speeds={slow:600,fast:200,_default:400},S.fn.delay=function(r,e){return r=S.fx&&S.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},rt=E.createElement("input"),it=E.createElement("select").appendChild(E.createElement("option")),rt.type="checkbox",y.checkOn=""!==rt.value,y.optSelected=it.selected,(rt=E.createElement("input")).value="t",rt.type="radio",y.radioValue="t"===rt.value;var pt,dt=S.expr.attrHandle;S.fn.extend({attr:function(e,t){return $(this,S.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){S.removeAttr(this,e)})}}),S.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?S.prop(e,t,n):(1===o&&S.isXMLDoc(e)||(i=S.attrHooks[t.toLowerCase()]||(S.expr.match.bool.test(t)?pt:void 0)),void 0!==n?null===n?void S.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=S.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),pt={set:function(e,t,n){return!1===t?S.removeAttr(e,n):e.setAttribute(n,n),n}},S.each(S.expr.match.bool.source.match(/\w+/g),function(e,t){var a=dt[t]||S.find.attr;dt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=dt[o],dt[o]=r,r=null!=a(e,t,n)?o:null,dt[o]=i),r}});var ht=/^(?:input|select|textarea|button)$/i,gt=/^(?:a|area)$/i;function vt(e){return(e.match(P)||[]).join(" ")}function yt(e){return e.getAttribute&&e.getAttribute("class")||""}function mt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}S.fn.extend({prop:function(e,t){return $(this,S.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[S.propFix[e]||e]})}}),S.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&S.isXMLDoc(e)||(t=S.propFix[t]||t,i=S.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=S.find.attr(e,"tabindex");return t?parseInt(t,10):ht.test(e.nodeName)||gt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(S.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),S.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){S.propFix[this.toLowerCase()]=this}),S.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).addClass(t.call(this,e,yt(this)))});if((e=mt(t)).length)while(n=this[u++])if(i=yt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).removeClass(t.call(this,e,yt(this)))});if(!arguments.length)return this.attr("class","");if((e=mt(t)).length)while(n=this[u++])if(i=yt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){S(this).toggleClass(i.call(this,e,yt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=S(this),r=mt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=yt(this))&&Y.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Y.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+vt(yt(n))+" ").indexOf(t))return!0;return!1}});var xt=/\r/g;S.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,S(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=S.map(t,function(e){return null==e?"":e+""})),(r=S.valHooks[this.type]||S.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=S.valHooks[t.type]||S.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(xt,""):null==e?"":e:void 0}}),S.extend({valHooks:{option:{get:function(e){var t=S.find.attr(e,"value");return null!=t?t:vt(S.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=S(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=S.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<S.inArray(S.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),S.each(["radio","checkbox"],function(){S.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<S.inArray(S(e).val(),t)}},y.checkOn||(S.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var bt=/^(?:focusinfocus|focusoutblur)$/,wt=function(e){e.stopPropagation()};S.extend(S.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!bt.test(d+S.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[S.expando]?e:new S.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:S.makeArray(t,[e]),c=S.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,bt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&V(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!V(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),S.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,wt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,wt),S.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=S.extend(new S.Event,n,{type:e,isSimulated:!0});S.event.trigger(r,null,t)}}),S.fn.extend({trigger:function(e,t){return this.each(function(){S.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return S.event.trigger(e,t,n,!0)}}),y.focusin||S.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){S.event.simulate(r,e.target,S.event.fix(e))};S.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}});var Tt=C.location,Ct={guid:Date.now()},Et=/\?/;S.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||S.error("Invalid XML: "+e),t};var St=/\[\]$/,kt=/\r?\n/g,At=/^(?:submit|button|image|reset|file)$/i,Nt=/^(?:input|select|textarea|keygen)/i;function Dt(n,e,r,i){var t;if(Array.isArray(e))S.each(e,function(e,t){r||St.test(n)?i(n,t):Dt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)Dt(n+"["+t+"]",e[t],r,i)}S.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!S.isPlainObject(e))S.each(e,function(){i(this.name,this.value)});else for(n in e)Dt(n,e[n],t,i);return r.join("&")},S.fn.extend({serialize:function(){return S.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=S.prop(this,"elements");return e?S.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!S(this).is(":disabled")&&Nt.test(this.nodeName)&&!At.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=S(this).val();return null==n?null:Array.isArray(n)?S.map(n,function(e){return{name:t.name,value:e.replace(kt,"\r\n")}}):{name:t.name,value:n.replace(kt,"\r\n")}}).get()}});var jt=/%20/g,qt=/#.*$/,Lt=/([?&])_=[^&]*/,Ht=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ot=/^(?:GET|HEAD)$/,Pt=/^\/\//,Rt={},Mt={},It="*/".concat("*"),Wt=E.createElement("a");function Ft(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(P)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function Bt(t,i,o,a){var s={},u=t===Mt;function l(e){var r;return s[e]=!0,S.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function $t(e,t){var n,r,i=S.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&S.extend(!0,e,r),e}Wt.href=Tt.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Tt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Tt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":It,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":S.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?$t($t(e,S.ajaxSettings),t):$t(S.ajaxSettings,e)},ajaxPrefilter:Ft(Rt),ajaxTransport:Ft(Mt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=S.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?S(y):S.event,x=S.Deferred(),b=S.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Ht.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Tt.href)+"").replace(Pt,Tt.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(P)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Wt.protocol+"//"+Wt.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=S.param(v.data,v.traditional)),Bt(Rt,v,t,T),h)return T;for(i in(g=S.event&&v.global)&&0==S.active++&&S.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Ot.test(v.type),f=v.url.replace(qt,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(jt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(Et.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Lt,"$1"),o=(Et.test(f)?"&":"?")+"_="+Ct.guid+++o),v.url=f+o),v.ifModified&&(S.lastModified[f]&&T.setRequestHeader("If-Modified-Since",S.lastModified[f]),S.etag[f]&&T.setRequestHeader("If-None-Match",S.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+It+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=Bt(Mt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),!i&&-1<S.inArray("script",v.dataTypes)&&(v.converters["text script"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(S.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(S.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--S.active||S.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return S.get(e,t,n,"json")},getScript:function(e,t){return S.get(e,void 0,t,"script")}}),S.each(["get","post"],function(e,i){S[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),S.ajax(S.extend({url:e,type:i,dataType:r,data:t,success:n},S.isPlainObject(e)&&e))}}),S.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),S._evalUrl=function(e,t,n){return S.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){S.globalEval(e,t,n)}})},S.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=S(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){S(this).wrapInner(n.call(this,e))}):this.each(function(){var e=S(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){S(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){S(this).replaceWith(this.childNodes)}),this}}),S.expr.pseudos.hidden=function(e){return!S.expr.pseudos.visible(e)},S.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},S.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var _t={0:200,1223:204},zt=S.ajaxSettings.xhr();y.cors=!!zt&&"withCredentials"in zt,y.ajax=zt=!!zt,S.ajaxTransport(function(i){var o,a;if(y.cors||zt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(_t[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),S.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),S.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return S.globalEval(e),e}}}),S.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),S.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=S("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=vt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&S.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?S("<div>").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var Gt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;S.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||S.guid++,i},S.holdReady=function(e){e?S.readyWait++:S.ready(!0)},S.isArray=Array.isArray,S.parseJSON=JSON.parse,S.nodeName=A,S.isFunction=m,S.isWindow=x,S.camelCase=X,S.type=w,S.now=Date.now,S.isNumeric=function(e){var t=S.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},S.trim=function(e){return null==e?"":(e+"").replace(Gt,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return S});var Yt=C.jQuery,Qt=C.$;return S.noConflict=function(e){return C.$===S&&(C.$=Qt),e&&C.jQuery===S&&(C.jQuery=Yt),S},"undefined"==typeof e&&(C.jQuery=C.$=S),S});
          diff --git a/target/site/apidocs/script-dir/jquery-ui.min.css b/target/site/apidocs/script-dir/jquery-ui.min.css
          deleted file mode 100644
          index 6be72f5..0000000
          --- a/target/site/apidocs/script-dir/jquery-ui.min.css
          +++ /dev/null
          @@ -1,7 +0,0 @@
          -/*! jQuery UI - v1.12.1 - 2018-12-06
          -* http://jqueryui.com
          -* Includes: core.css, autocomplete.css, menu.css, theme.css
          -* To view and modify this theme, visit http://jqueryui.com/themeroller/?scope=&folderName=custom-theme&bgImgOpacityError=95&bgImgOpacityHighlight=55&bgImgOpacityActive=65&bgImgOpacityHover=75&bgImgOpacityDefault=75&bgImgOpacityContent=75&bgImgOpacityHeader=75&cornerRadiusShadow=8px&offsetLeftShadow=-8px&offsetTopShadow=-8px&thicknessShadow=8px&opacityShadow=30&bgImgOpacityShadow=0&bgTextureShadow=flat&bgColorShadow=%23aaaaaa&opacityOverlay=30&bgImgOpacityOverlay=0&bgTextureOverlay=flat&bgColorOverlay=%23aaaaaa&iconColorError=%23cd0a0a&fcError=%23cd0a0a&borderColorError=%23cd0a0a&bgTextureError=glass&bgColorError=%23fef1ec&iconColorHighlight=%232e83ff&fcHighlight=%23363636&borderColorHighlight=%23fcefa1&bgTextureHighlight=glass&bgColorHighlight=%23fbf9ee&iconColorActive=%23454545&fcActive=%23212121&borderColorActive=%23aaaaaa&bgTextureActive=glass&bgColorActive=%23dadada&iconColorHover=%23454545&fcHover=%23212121&borderColorHover=%23999999&bgTextureHover=glass&bgColorHover=%23dadada&iconColorDefault=%23888888&fcDefault=%23555555&borderColorDefault=%23d3d3d3&bgTextureDefault=glass&bgColorDefault=%23e6e6e6&iconColorContent=%23222222&fcContent=%23222222&borderColorContent=%23aaaaaa&bgTextureContent=flat&bgColorContent=%23ffffff&iconColorHeader=%23222222&fcHeader=%23222222&borderColorHeader=%23aaaaaa&bgTextureHeader=highlight_soft&bgColorHeader=%23cccccc&cornerRadius=4px&fwDefault=normal&fsDefault=1.1em&ffDefault=Verdana%2CArial%2Csans-serif
          -* Copyright jQuery Foundation and other contributors; Licensed MIT */
          -
          -.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{margin:0;cursor:pointer;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-item-wrapper{position:relative;padding:3px 1em 3px .4em}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}.ui-widget{font-family:Verdana,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Verdana,Arial,sans-serif;font-size:1em}.ui-widget.ui-widget-content{border:1px solid #d3d3d3}.ui-widget-content{border:1px solid #aaa;background:#fff;color:#222}.ui-widget-content a{color:#222}.ui-widget-header{border:1px solid #aaa;background:#ccc url("images/ui-bg_highlight-soft_75_cccccc_1x100.png") 50% 50% repeat-x;color:#222;font-weight:bold}.ui-widget-header a{color:#222}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default,.ui-button,html .ui-button.ui-state-disabled:hover,html .ui-button.ui-state-disabled:active{border:1px solid #d3d3d3;background:#e6e6e6 url("images/ui-bg_glass_75_e6e6e6_1x400.png") 50% 50% repeat-x;font-weight:normal;color:#555}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited,a.ui-button,a:link.ui-button,a:visited.ui-button,.ui-button{color:#555;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus,.ui-button:hover,.ui-button:focus{border:1px solid #999;background:#dadada url("images/ui-bg_glass_75_dadada_1x400.png") 50% 50% repeat-x;font-weight:normal;color:#212121}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited,a.ui-button:hover,a.ui-button:focus{color:#212121;text-decoration:none}.ui-visual-focus{box-shadow:0 0 3px 1px rgb(94,158,214)}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active,a.ui-button:active,.ui-button:active,.ui-button.ui-state-active:hover{border:1px solid #aaa;background:#dadada url("images/ui-bg_glass_65_dadada_1x400.png") 50% 50% repeat-x;font-weight:normal;color:#212121}.ui-icon-background,.ui-state-active .ui-icon-background{border:#aaa;background-color:#212121}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#212121;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #fcefa1;background:#fbf9ee url("images/ui-bg_glass_55_fbf9ee_1x400.png") 50% 50% repeat-x;color:#363636}.ui-state-checked{border:1px solid #fcefa1;background:#fbf9ee}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#fef1ec url("images/ui-bg_glass_95_fef1ec_1x400.png") 50% 50% repeat-x;color:#cd0a0a}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#cd0a0a}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#cd0a0a}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("images/ui-icons_222222_256x240.png")}.ui-widget-header .ui-icon{background-image:url("images/ui-icons_222222_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon,.ui-button:hover .ui-icon,.ui-button:focus .ui-icon{background-image:url("images/ui-icons_454545_256x240.png")}.ui-state-active .ui-icon,.ui-button:active .ui-icon{background-image:url("images/ui-icons_454545_256x240.png")}.ui-state-highlight .ui-icon,.ui-button .ui-state-highlight.ui-icon{background-image:url("images/ui-icons_2e83ff_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_cd0a0a_256x240.png")}.ui-button .ui-icon{background-image:url("images/ui-icons_888888_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-caret-1-n{background-position:0 0}.ui-icon-caret-1-ne{background-position:-16px 0}.ui-icon-caret-1-e{background-position:-32px 0}.ui-icon-caret-1-se{background-position:-48px 0}.ui-icon-caret-1-s{background-position:-65px 0}.ui-icon-caret-1-sw{background-position:-80px 0}.ui-icon-caret-1-w{background-position:-96px 0}.ui-icon-caret-1-nw{background-position:-112px 0}.ui-icon-caret-2-n-s{background-position:-128px 0}.ui-icon-caret-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-65px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-65px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:1px -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:4px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:4px}.ui-widget-overlay{background:#aaa;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{-webkit-box-shadow:-8px -8px 8px #aaa;box-shadow:-8px -8px 8px #aaa}
          \ No newline at end of file
          diff --git a/target/site/apidocs/script-dir/jquery-ui.min.js b/target/site/apidocs/script-dir/jquery-ui.min.js
          deleted file mode 100644
          index 54d4beb..0000000
          --- a/target/site/apidocs/script-dir/jquery-ui.min.js
          +++ /dev/null
          @@ -1,6 +0,0 @@
          -/*! jQuery UI - v1.12.1 - 2018-12-06
          -* http://jqueryui.com
          -* Includes: widget.js, position.js, keycode.js, unique-id.js, widgets/autocomplete.js, widgets/menu.js
          -* Copyright jQuery Foundation and other contributors; Licensed MIT */
          -
          -(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)})(function(t){t.ui=t.ui||{},t.ui.version="1.12.1";var e=0,i=Array.prototype.slice;t.cleanData=function(e){return function(i){var s,n,o;for(o=0;null!=(n=i[o]);o++)try{s=t._data(n,"events"),s&&s.remove&&t(n).triggerHandler("remove")}catch(a){}e(i)}}(t.cleanData),t.widget=function(e,i,s){var n,o,a,r={},l=e.split(".")[0];e=e.split(".")[1];var h=l+"-"+e;return s||(s=i,i=t.Widget),t.isArray(s)&&(s=t.extend.apply(null,[{}].concat(s))),t.expr[":"][h.toLowerCase()]=function(e){return!!t.data(e,h)},t[l]=t[l]||{},n=t[l][e],o=t[l][e]=function(t,e){return this._createWidget?(arguments.length&&this._createWidget(t,e),void 0):new o(t,e)},t.extend(o,n,{version:s.version,_proto:t.extend({},s),_childConstructors:[]}),a=new i,a.options=t.widget.extend({},a.options),t.each(s,function(e,s){return t.isFunction(s)?(r[e]=function(){function t(){return i.prototype[e].apply(this,arguments)}function n(t){return i.prototype[e].apply(this,t)}return function(){var e,i=this._super,o=this._superApply;return this._super=t,this._superApply=n,e=s.apply(this,arguments),this._super=i,this._superApply=o,e}}(),void 0):(r[e]=s,void 0)}),o.prototype=t.widget.extend(a,{widgetEventPrefix:n?a.widgetEventPrefix||e:e},r,{constructor:o,namespace:l,widgetName:e,widgetFullName:h}),n?(t.each(n._childConstructors,function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete n._childConstructors):i._childConstructors.push(o),t.widget.bridge(e,o),o},t.widget.extend=function(e){for(var s,n,o=i.call(arguments,1),a=0,r=o.length;r>a;a++)for(s in o[a])n=o[a][s],o[a].hasOwnProperty(s)&&void 0!==n&&(e[s]=t.isPlainObject(n)?t.isPlainObject(e[s])?t.widget.extend({},e[s],n):t.widget.extend({},n):n);return e},t.widget.bridge=function(e,s){var n=s.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=i.call(arguments,1),l=this;return a?this.length||"instance"!==o?this.each(function(){var i,s=t.data(this,n);return"instance"===o?(l=s,!1):s?t.isFunction(s[o])&&"_"!==o.charAt(0)?(i=s[o].apply(s,r),i!==s&&void 0!==i?(l=i&&i.jquery?l.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+o+"'")}):l=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each(function(){var e=t.data(this,n);e?(e.option(o||{}),e._init&&e._init()):t.data(this,n,new s(o,this))})),l}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(i,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=e++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),i),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var l=s.match(/^([\w:-]*)\s*(.*)$/),h=l[1]+o.eventNamespace,c=l[2];c?n.on(h,c,r):i.on(h,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,l=/top|center|bottom/,h=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.width<e.element[0].scrollWidth,o="scroll"===s||"auto"===s&&e.height<e.element[0].scrollHeight;return{width:o?t.position.scrollbarWidth():0,height:n?t.position.scrollbarWidth():0}},getWithinInfo:function(e){var i=t(e||window),s=t.isWindow(i[0]),n=!!i[0]&&9===i[0].nodeType,o=!s&&!n;return{element:i,isWindow:s,isDocument:n,offset:o?t(e).offset():{left:0,top:0},scrollLeft:i.scrollLeft(),scrollTop:i.scrollTop(),width:i.outerWidth(),height:i.outerHeight()}}},t.fn.position=function(n){if(!n||!n.of)return d.apply(this,arguments);n=t.extend({},n);var u,p,f,g,m,_,v=t(n.of),b=t.position.getWithinInfo(n.within),y=t.position.getScrollInfo(b),w=(n.collision||"flip").split(" "),k={};return _=s(v),v[0].preventDefault&&(n.at="left top"),p=_.width,f=_.height,g=_.offset,m=t.extend({},g),t.each(["my","at"],function(){var t,e,i=(n[this]||"").split(" ");1===i.length&&(i=r.test(i[0])?i.concat(["center"]):l.test(i[0])?["center"].concat(i):["center","center"]),i[0]=r.test(i[0])?i[0]:"center",i[1]=l.test(i[1])?i[1]:"center",t=h.exec(i[0]),e=h.exec(i[1]),k[this]=[t?t[0]:0,e?e[0]:0],n[this]=[c.exec(i[0])[0],c.exec(i[1])[0]]}),1===w.length&&(w[1]=w[0]),"right"===n.at[0]?m.left+=p:"center"===n.at[0]&&(m.left+=p/2),"bottom"===n.at[1]?m.top+=f:"center"===n.at[1]&&(m.top+=f/2),u=e(k.at,p,f),m.left+=u[0],m.top+=u[1],this.each(function(){var s,r,l=t(this),h=l.outerWidth(),c=l.outerHeight(),d=i(this,"marginLeft"),_=i(this,"marginTop"),x=h+d+i(this,"marginRight")+y.width,C=c+_+i(this,"marginBottom")+y.height,D=t.extend({},m),T=e(k.my,l.outerWidth(),l.outerHeight());"right"===n.my[0]?D.left-=h:"center"===n.my[0]&&(D.left-=h/2),"bottom"===n.my[1]?D.top-=c:"center"===n.my[1]&&(D.top-=c/2),D.left+=T[0],D.top+=T[1],s={marginLeft:d,marginTop:_},t.each(["left","top"],function(e,i){t.ui.position[w[e]]&&t.ui.position[w[e]][i](D,{targetWidth:p,targetHeight:f,elemWidth:h,elemHeight:c,collisionPosition:s,collisionWidth:x,collisionHeight:C,offset:[u[0]+T[0],u[1]+T[1]],my:n.my,at:n.at,within:b,elem:l})}),n.using&&(r=function(t){var e=g.left-D.left,i=e+p-h,s=g.top-D.top,r=s+f-c,u={target:{element:v,left:g.left,top:g.top,width:p,height:f},element:{element:l,left:D.left,top:D.top,width:h,height:c},horizontal:0>i?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};h>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),l.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,l=n-r,h=r+e.collisionWidth-a-n;e.collisionWidth>a?l>0&&0>=h?(i=t.left+l+e.collisionWidth-a-n,t.left+=l-i):t.left=h>0&&0>=l?n:l>h?n+a-e.collisionWidth:n:l>0?t.left+=l:h>0?t.left-=h:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,l=n-r,h=r+e.collisionHeight-a-n;e.collisionHeight>a?l>0&&0>=h?(i=t.top+l+e.collisionHeight-a-n,t.top+=l-i):t.top=h>0&&0>=l?n:l>h?n+a-e.collisionHeight:n:l>0?t.top+=l:h>0?t.top-=h:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,l=n.isWindow?n.scrollLeft:n.offset.left,h=t.left-e.collisionPosition.marginLeft,c=h-l,u=h+e.collisionWidth-r-l,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-l,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,l=n.isWindow?n.scrollTop:n.offset.top,h=t.top-e.collisionPosition.marginTop,c=h-l,u=h+e.collisionHeight-r-l,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,g=-2*e.offset[1];0>c?(s=t.top+p+f+g+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+g)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+g-l,(i>0||u>a(i))&&(t.top+=p+f+g))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.ui.safeActiveElement=function(t){var e;try{e=t.activeElement}catch(i){e=t.body}return e||(e=t.body),e.nodeName||(e=t.body),e},t.widget("ui.menu",{version:"1.12.1",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault()},"click .ui-menu-item":function(e){var i=t(e.target),s=t(t.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(e),e.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(e):!this.element.is(":focus")&&s.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(e){if(!this.previousFilter){var i=t(e.target).closest(".ui-menu-item"),s=t(e.currentTarget);i[0]===s[0]&&(this._removeClass(s.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(e,s))}},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this.element.find(this.options.items).eq(0);e||this.focus(t,i)},blur:function(e){this._delay(function(){var i=!t.contains(this.element[0],t.ui.safeActiveElement(this.document[0]));i&&this.collapseAll(e)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t),this.mouseHandled=!1}})},_destroy:function(){var e=this.element.find(".ui-menu-item").removeAttr("role aria-disabled"),i=e.children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),i.children().each(function(){var e=t(this);e.data("ui-menu-submenu-caret")&&e.remove()})},_keydown:function(e){var i,s,n,o,a=!0;switch(e.keyCode){case t.ui.keyCode.PAGE_UP:this.previousPage(e);break;case t.ui.keyCode.PAGE_DOWN:this.nextPage(e);break;case t.ui.keyCode.HOME:this._move("first","first",e);break;case t.ui.keyCode.END:this._move("last","last",e);break;case t.ui.keyCode.UP:this.previous(e);break;case t.ui.keyCode.DOWN:this.next(e);break;case t.ui.keyCode.LEFT:this.collapse(e);break;case t.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(e);break;case t.ui.keyCode.ENTER:case t.ui.keyCode.SPACE:this._activate(e);break;case t.ui.keyCode.ESCAPE:this.collapse(e);break;default:a=!1,s=this.previousFilter||"",o=!1,n=e.keyCode>=96&&105>=e.keyCode?""+(e.keyCode-96):String.fromCharCode(e.keyCode),clearTimeout(this.filterTimer),n===s?o=!0:n=s+n,i=this._filterMenuItems(n),i=o&&-1!==i.index(this.active.next())?this.active.nextAll(".ui-menu-item"):i,i.length||(n=String.fromCharCode(e.keyCode),i=this._filterMenuItems(n)),i.length?(this.focus(e,i),this.previousFilter=n,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}a&&e.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var e,i,s,n,o,a=this,r=this.options.icons.submenu,l=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),s=l.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var e=t(this),i=e.prev(),s=t("<span>").data("ui-menu-submenu-caret",!0);a._addClass(s,"ui-menu-icon","ui-icon "+r),i.attr("aria-haspopup","true").prepend(s),e.attr("aria-labelledby",i.attr("id"))}),this._addClass(s,"ui-menu","ui-widget ui-widget-content ui-front"),e=l.add(this.element),i=e.find(this.options.items),i.not(".ui-menu-item").each(function(){var e=t(this);a._isDivider(e)&&a._addClass(e,"ui-menu-divider","ui-widget-content")}),n=i.not(".ui-menu-item, .ui-menu-divider"),o=n.children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(n,"ui-menu-item")._addClass(o,"ui-menu-item-wrapper"),i.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!t.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){if("icons"===t){var i=this.element.find(".ui-menu-icon");this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)}this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t+""),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i,s,n;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),s=this.active.children(".ui-menu-item-wrapper"),this._addClass(s,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),n=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(n,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),i=e.children(".ui-menu"),i.length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(e){var i,s,n,o,a,r;this._hasScroll()&&(i=parseFloat(t.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(t.css(this.activeMenu[0],"paddingTop"))||0,n=e.offset().top-this.activeMenu.offset().top-i-s,o=this.activeMenu.scrollTop(),a=this.activeMenu.height(),r=e.outerHeight(),0>n?this.activeMenu.scrollTop(o+n):n+r>a&&this.activeMenu.scrollTop(o+n-a+r))},blur:function(t,e){e||clearTimeout(this.timer),this.active&&(this._removeClass(this.active.children(".ui-menu-item-wrapper"),null,"ui-state-active"),this._trigger("blur",t,{item:this.active}),this.active=null)},_startOpening:function(t){clearTimeout(this.timer),"true"===t.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(t)},this.delay))},_open:function(e){var i=t.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(e.parents(".ui-menu")).hide().attr("aria-hidden","true"),e.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(e,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:t(e&&e.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(e),this._removeClass(s.find(".ui-state-active"),null,"ui-state-active"),this.activeMenu=s},this.delay)},_close:function(t){t||(t=this.active?this.active.parent():this.element),t.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false")},_closeOnDocumentClick:function(e){return!t(e.target).closest(".ui-menu").length},_isDivider:function(t){return!/[^\-\u2014\u2013\s]/.test(t.text())},collapse:function(t){var e=this.active&&this.active.parent().closest(".ui-menu-item",this.element);e&&e.length&&(this._close(),this.focus(t,e))},expand:function(t){var e=this.active&&this.active.children(".ui-menu ").find(this.options.items).first();e&&e.length&&(this._open(e.parent()),this._delay(function(){this.focus(t,e)}))},next:function(t){this._move("next","first",t)},previous:function(t){this._move("prev","last",t)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(t,e,i){var s;this.active&&(s="first"===t||"last"===t?this.active["first"===t?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[t+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.find(this.options.items)[e]()),this.focus(i,s)},nextPage:function(e){var i,s,n;return this.active?(this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return i=t(this),0>i.offset().top-s-n}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items)[this.active?"last":"first"]())),void 0):(this.next(e),void 0)},previousPage:function(e){var i,s,n;return this.active?(this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return i=t(this),i.offset().top-s+n>0}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items).first())),void 0):(this.next(e),void 0)},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(e){this.active=this.active||t(e.target).closest(".ui-menu-item");var i={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(e,!0),this._trigger("select",e,i)},_filterMenuItems:function(e){var i=e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&"),s=RegExp("^"+i,"i");return this.activeMenu.find(this.options.items).filter(".ui-menu-item").filter(function(){return s.test(t.trim(t(this).children(".ui-menu-item-wrapper").text()))})}}),t.widget("ui.autocomplete",{version:"1.12.1",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var e,i,s,n=this.element[0].nodeName.toLowerCase(),o="textarea"===n,a="input"===n;this.isMultiLine=o||!a&&this._isContentEditable(this.element),this.valueMethod=this.element[o||a?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return e=!0,s=!0,i=!0,void 0;e=!1,s=!1,i=!1;var o=t.ui.keyCode;switch(n.keyCode){case o.PAGE_UP:e=!0,this._move("previousPage",n);break;case o.PAGE_DOWN:e=!0,this._move("nextPage",n);break;case o.UP:e=!0,this._keyEvent("previous",n);break;case o.DOWN:e=!0,this._keyEvent("next",n);break;case o.ENTER:this.menu.active&&(e=!0,n.preventDefault(),this.menu.select(n));break;case o.TAB:this.menu.active&&this.menu.select(n);break;case o.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(e)return e=!1,(!this.isMultiLine||this.menu.element.is(":visible"))&&s.preventDefault(),void 0;if(!i){var n=t.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(t){return s?(s=!1,t.preventDefault(),void 0):(this._searchTimeout(t),void 0)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){return this.cancelBlur?(delete this.cancelBlur,void 0):(clearTimeout(this.searching),this.close(t),this._change(t),void 0)}}),this._initSource(),this.menu=t("<ul>").appendTo(this._appendTo()).menu({role:null}).hide().menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(e){e.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,this.element[0]!==t.ui.safeActiveElement(this.document[0])&&this.element.trigger("focus")})},menufocus:function(e,i){var s,n;return this.isNewMenu&&(this.isNewMenu=!1,e.originalEvent&&/^mouse/.test(e.originalEvent.type))?(this.menu.blur(),this.document.one("mousemove",function(){t(e.target).trigger(e.originalEvent)}),void 0):(n=i.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",e,{item:n})&&e.originalEvent&&/^key/.test(e.originalEvent.type)&&this._value(n.value),s=i.item.attr("aria-label")||n.value,s&&t.trim(s).length&&(this.liveRegion.children().hide(),t("<div>").text(s).appendTo(this.liveRegion)),void 0)},menuselect:function(e,i){var s=i.item.data("ui-autocomplete-item"),n=this.previous;this.element[0]!==t.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=n,this._delay(function(){this.previous=n,this.selectedItem=s})),!1!==this._trigger("select",e,{item:s})&&this._value(s.value),this.term=this._value(),this.close(e),this.selectedItem=s}}),this.liveRegion=t("<div>",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(e){var i=this.menu.element[0];return e.target===this.element[0]||e.target===i||t.contains(i,e.target)},_closeOnClickOutside:function(t){this._isEventTargetInWidget(t)||this.close()},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?t(e):this.document.find(e).eq(0)),e&&e[0]||(e=this.element.closest(".ui-front, dialog")),e.length||(e=this.document[0].body),e},_initSource:function(){var e,i,s=this;t.isArray(this.options.source)?(e=this.options.source,this.source=function(i,s){s(t.ui.autocomplete.filter(e,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(e,n){s.xhr&&s.xhr.abort(),s.xhr=t.ajax({url:i,data:e,dataType:"json",success:function(t){n(t)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(t){clearTimeout(this.searching),this.searching=this._delay(function(){var e=this.term===this._value(),i=this.menu.element.is(":visible"),s=t.altKey||t.ctrlKey||t.metaKey||t.shiftKey;(!e||e&&!i&&!s)&&(this.selectedItem=null,this.search(null,t))},this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length<this.options.minLength?this.close(e):this._trigger("search",e)!==!1?this._search(t):void 0},_search:function(t){this.pending++,this._addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:t},this._response())},_response:function(){var e=++this.requestIndex;return t.proxy(function(t){e===this.requestIndex&&this.__response(t),this.pending--,this.pending||this._removeClass("ui-autocomplete-loading")},this)},__response:function(t){t&&(t=this._normalize(t)),this._trigger("response",null,{content:t}),!this.options.disabled&&t&&t.length&&!this.cancelSearch?(this._suggest(t),this._trigger("open")):this._close()},close:function(t){this.cancelSearch=!0,this._close(t)},_close:function(t){this._off(this.document,"mousedown"),this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",t))},_change:function(t){this.previous!==this._value()&&this._trigger("change",t,{item:this.selectedItem})},_normalize:function(e){return e.length&&e[0].label&&e[0].value?e:t.map(e,function(e){return"string"==typeof e?{label:e,value:e}:t.extend({},e,{label:e.label||e.value,value:e.value||e.label})})},_suggest:function(e){var i=this.menu.element.empty();this._renderMenu(i,e),this.isNewMenu=!0,this.menu.refresh(),i.show(),this._resizeMenu(),i.position(t.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next(),this._on(this.document,{mousedown:"_closeOnClickOutside"})},_resizeMenu:function(){var t=this.menu.element;t.outerWidth(Math.max(t.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(e,i){var s=this;t.each(i,function(t,i){s._renderItemData(e,i)})},_renderItemData:function(t,e){return this._renderItem(t,e).data("ui-autocomplete-item",e)},_renderItem:function(e,i){return t("<li>").append(t("<div>").text(i.label)).appendTo(e)},_move:function(t,e){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this.isMultiLine||this._value(this.term),this.menu.blur(),void 0):(this.menu[t](e),void 0):(this.search(null,e),void 0)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(t,e),e.preventDefault())},_isContentEditable:function(t){if(!t.length)return!1;var e=t.prop("contentEditable");return"inherit"===e?this._isContentEditable(t.parent()):"true"===e}}),t.extend(t.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(e,i){var s=RegExp(t.ui.autocomplete.escapeRegex(i),"i");return t.grep(e,function(t){return s.test(t.label||t.value||t)})}}),t.widget("ui.autocomplete",t.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(t>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(e){var i;this._superApply(arguments),this.options.disabled||this.cancelSearch||(i=e&&e.length?this.options.messages.results(e.length):this.options.messages.noResults,this.liveRegion.children().hide(),t("<div>").text(i).appendTo(this.liveRegion))}}),t.ui.autocomplete});
          \ No newline at end of file
          diff --git a/target/site/apidocs/script-dir/jquery-ui.structure.min.css b/target/site/apidocs/script-dir/jquery-ui.structure.min.css
          deleted file mode 100644
          index e880892..0000000
          --- a/target/site/apidocs/script-dir/jquery-ui.structure.min.css
          +++ /dev/null
          @@ -1,5 +0,0 @@
          -/*! jQuery UI - v1.12.1 - 2018-12-06
          -* http://jqueryui.com
          -* Copyright jQuery Foundation and other contributors; Licensed MIT */
          -
          -.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{margin:0;cursor:pointer;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-item-wrapper{position:relative;padding:3px 1em 3px .4em}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}
          \ No newline at end of file
          diff --git a/target/site/apidocs/script.js b/target/site/apidocs/script.js
          deleted file mode 100644
          index 864989c..0000000
          --- a/target/site/apidocs/script.js
          +++ /dev/null
          @@ -1,132 +0,0 @@
          -/*
          - * Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved.
          - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
          - *
          - * This code is free software; you can redistribute it and/or modify it
          - * under the terms of the GNU General Public License version 2 only, as
          - * published by the Free Software Foundation.  Oracle designates this
          - * particular file as subject to the "Classpath" exception as provided
          - * by Oracle in the LICENSE file that accompanied this code.
          - *
          - * This code is distributed in the hope that it will be useful, but WITHOUT
          - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
          - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
          - * version 2 for more details (a copy is included in the LICENSE file that
          - * accompanied this code).
          - *
          - * You should have received a copy of the GNU General Public License version
          - * 2 along with this work; if not, write to the Free Software Foundation,
          - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
          - *
          - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
          - * or visit www.oracle.com if you need additional information or have any
          - * questions.
          - */
          -
          -var moduleSearchIndex;
          -var packageSearchIndex;
          -var typeSearchIndex;
          -var memberSearchIndex;
          -var tagSearchIndex;
          -function loadScripts(doc, tag) {
          -    createElem(doc, tag, 'search.js');
          -
          -    createElem(doc, tag, 'module-search-index.js');
          -    createElem(doc, tag, 'package-search-index.js');
          -    createElem(doc, tag, 'type-search-index.js');
          -    createElem(doc, tag, 'member-search-index.js');
          -    createElem(doc, tag, 'tag-search-index.js');
          -}
          -
          -function createElem(doc, tag, path) {
          -    var script = doc.createElement(tag);
          -    var scriptElement = doc.getElementsByTagName(tag)[0];
          -    script.src = pathtoroot + path;
          -    scriptElement.parentNode.insertBefore(script, scriptElement);
          -}
          -
          -function show(tableId, selected, columns) {
          -    if (tableId !== selected) {
          -        document.querySelectorAll('div.' + tableId + ':not(.' + selected + ')')
          -            .forEach(function(elem) {
          -                elem.style.display = 'none';
          -            });
          -    }
          -    document.querySelectorAll('div.' + selected)
          -        .forEach(function(elem, index) {
          -            elem.style.display = '';
          -            var isEvenRow = index % (columns * 2) < columns;
          -            elem.classList.remove(isEvenRow ? oddRowColor : evenRowColor);
          -            elem.classList.add(isEvenRow ? evenRowColor : oddRowColor);
          -        });
          -    updateTabs(tableId, selected);
          -}
          -
          -function updateTabs(tableId, selected) {
          -    document.querySelector('div#' + tableId +' .summary-table')
          -        .setAttribute('aria-labelledby', selected);
          -    document.querySelectorAll('button[id^="' + tableId + '"]')
          -        .forEach(function(tab, index) {
          -            if (selected === tab.id || (tableId === selected && index === 0)) {
          -                tab.className = activeTableTab;
          -                tab.setAttribute('aria-selected', true);
          -                tab.setAttribute('tabindex',0);
          -            } else {
          -                tab.className = tableTab;
          -                tab.setAttribute('aria-selected', false);
          -                tab.setAttribute('tabindex',-1);
          -            }
          -        });
          -}
          -
          -function switchTab(e) {
          -    var selected = document.querySelector('[aria-selected=true]');
          -    if (selected) {
          -        if ((e.keyCode === 37 || e.keyCode === 38) && selected.previousSibling) {
          -            // left or up arrow key pressed: move focus to previous tab
          -            selected.previousSibling.click();
          -            selected.previousSibling.focus();
          -            e.preventDefault();
          -        } else if ((e.keyCode === 39 || e.keyCode === 40) && selected.nextSibling) {
          -            // right or down arrow key pressed: move focus to next tab
          -            selected.nextSibling.click();
          -            selected.nextSibling.focus();
          -            e.preventDefault();
          -        }
          -    }
          -}
          -
          -var updateSearchResults = function() {};
          -
          -function indexFilesLoaded() {
          -    return moduleSearchIndex
          -        && packageSearchIndex
          -        && typeSearchIndex
          -        && memberSearchIndex
          -        && tagSearchIndex;
          -}
          -
          -// Workaround for scroll position not being included in browser history (8249133)
          -document.addEventListener("DOMContentLoaded", function(e) {
          -    var contentDiv = document.querySelector("div.flex-content");
          -    window.addEventListener("popstate", function(e) {
          -        if (e.state !== null) {
          -            contentDiv.scrollTop = e.state;
          -        }
          -    });
          -    window.addEventListener("hashchange", function(e) {
          -        history.replaceState(contentDiv.scrollTop, document.title);
          -    });
          -    contentDiv.addEventListener("scroll", function(e) {
          -        var timeoutID;
          -        if (!timeoutID) {
          -            timeoutID = setTimeout(function() {
          -                history.replaceState(contentDiv.scrollTop, document.title);
          -                timeoutID = null;
          -            }, 100);
          -        }
          -    });
          -    if (!location.hash) {
          -        history.replaceState(contentDiv.scrollTop, document.title);
          -    }
          -});
          diff --git a/target/site/apidocs/search.js b/target/site/apidocs/search.js
          deleted file mode 100644
          index 2c2ced0..0000000
          --- a/target/site/apidocs/search.js
          +++ /dev/null
          @@ -1,354 +0,0 @@
          -/*
          - * Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved.
          - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
          - *
          - * This code is free software; you can redistribute it and/or modify it
          - * under the terms of the GNU General Public License version 2 only, as
          - * published by the Free Software Foundation.  Oracle designates this
          - * particular file as subject to the "Classpath" exception as provided
          - * by Oracle in the LICENSE file that accompanied this code.
          - *
          - * This code is distributed in the hope that it will be useful, but WITHOUT
          - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
          - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
          - * version 2 for more details (a copy is included in the LICENSE file that
          - * accompanied this code).
          - *
          - * You should have received a copy of the GNU General Public License version
          - * 2 along with this work; if not, write to the Free Software Foundation,
          - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
          - *
          - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
          - * or visit www.oracle.com if you need additional information or have any
          - * questions.
          - */
          -
          -var noResult = {l: "No results found"};
          -var loading = {l: "Loading search index..."};
          -var catModules = "Modules";
          -var catPackages = "Packages";
          -var catTypes = "Classes and Interfaces";
          -var catMembers = "Members";
          -var catSearchTags = "Search Tags";
          -var highlight = "<span class=\"result-highlight\">$&</span>";
          -var searchPattern = "";
          -var fallbackPattern = "";
          -var RANKING_THRESHOLD = 2;
          -var NO_MATCH = 0xffff;
          -var MIN_RESULTS = 3;
          -var MAX_RESULTS = 500;
          -var UNNAMED = "<Unnamed>";
          -function escapeHtml(str) {
          -    return str.replace(/</g, "&lt;").replace(/>/g, "&gt;");
          -}
          -function getHighlightedText(item, matcher, fallbackMatcher) {
          -    var escapedItem = escapeHtml(item);
          -    var highlighted = escapedItem.replace(matcher, highlight);
          -    if (highlighted === escapedItem) {
          -        highlighted = escapedItem.replace(fallbackMatcher, highlight)
          -    }
          -    return highlighted;
          -}
          -function getURLPrefix(ui) {
          -    var urlPrefix="";
          -    var slash = "/";
          -    if (ui.item.category === catModules) {
          -        return ui.item.l + slash;
          -    } else if (ui.item.category === catPackages && ui.item.m) {
          -        return ui.item.m + slash;
          -    } else if (ui.item.category === catTypes || ui.item.category === catMembers) {
          -        if (ui.item.m) {
          -            urlPrefix = ui.item.m + slash;
          -        } else {
          -            $.each(packageSearchIndex, function(index, item) {
          -                if (item.m && ui.item.p === item.l) {
          -                    urlPrefix = item.m + slash;
          -                }
          -            });
          -        }
          -    }
          -    return urlPrefix;
          -}
          -function createSearchPattern(term) {
          -    var pattern = "";
          -    var isWordToken = false;
          -    term.replace(/,\s*/g, ", ").trim().split(/\s+/).forEach(function(w, index) {
          -        if (index > 0) {
          -            // whitespace between identifiers is significant
          -            pattern += (isWordToken && /^\w/.test(w)) ? "\\s+" : "\\s*";
          -        }
          -        var tokens = w.split(/(?=[A-Z,.()<>[\/])/);
          -        for (var i = 0; i < tokens.length; i++) {
          -            var s = tokens[i];
          -            if (s === "") {
          -                continue;
          -            }
          -            pattern += $.ui.autocomplete.escapeRegex(s);
          -            isWordToken =  /\w$/.test(s);
          -            if (isWordToken) {
          -                pattern += "([a-z0-9_$<>\\[\\]]*?)";
          -            }
          -        }
          -    });
          -    return pattern;
          -}
          -function createMatcher(pattern, flags) {
          -    var isCamelCase = /[A-Z]/.test(pattern);
          -    return new RegExp(pattern, flags + (isCamelCase ? "" : "i"));
          -}
          -var watermark = 'Search';
          -$(function() {
          -    var search = $("#search");
          -    var reset = $("#reset");
          -    search.val('');
          -    search.prop("disabled", false);
          -    reset.prop("disabled", false);
          -    search.val(watermark).addClass('watermark');
          -    search.blur(function() {
          -        if ($(this).val().length === 0) {
          -            $(this).val(watermark).addClass('watermark');
          -        }
          -    });
          -    search.on('click keydown paste', function() {
          -        if ($(this).val() === watermark) {
          -            $(this).val('').removeClass('watermark');
          -        }
          -    });
          -    reset.click(function() {
          -        search.val('').focus();
          -    });
          -    search.focus()[0].setSelectionRange(0, 0);
          -});
          -$.widget("custom.catcomplete", $.ui.autocomplete, {
          -    _create: function() {
          -        this._super();
          -        this.widget().menu("option", "items", "> :not(.ui-autocomplete-category)");
          -    },
          -    _renderMenu: function(ul, items) {
          -        var rMenu = this;
          -        var currentCategory = "";
          -        rMenu.menu.bindings = $();
          -        $.each(items, function(index, item) {
          -            var li;
          -            if (item.category && item.category !== currentCategory) {
          -                ul.append("<li class=\"ui-autocomplete-category\">" + item.category + "</li>");
          -                currentCategory = item.category;
          -            }
          -            li = rMenu._renderItemData(ul, item);
          -            if (item.category) {
          -                li.attr("aria-label", item.category + " : " + item.l);
          -                li.attr("class", "result-item");
          -            } else {
          -                li.attr("aria-label", item.l);
          -                li.attr("class", "result-item");
          -            }
          -        });
          -    },
          -    _renderItem: function(ul, item) {
          -        var label = "";
          -        var matcher = createMatcher(escapeHtml(searchPattern), "g");
          -        var fallbackMatcher = new RegExp(fallbackPattern, "gi")
          -        if (item.category === catModules) {
          -            label = getHighlightedText(item.l, matcher, fallbackMatcher);
          -        } else if (item.category === catPackages) {
          -            label = getHighlightedText(item.l, matcher, fallbackMatcher);
          -        } else if (item.category === catTypes) {
          -            label = (item.p && item.p !== UNNAMED)
          -                    ? getHighlightedText(item.p + "." + item.l, matcher, fallbackMatcher)
          -                    : getHighlightedText(item.l, matcher, fallbackMatcher);
          -        } else if (item.category === catMembers) {
          -            label = (item.p && item.p !== UNNAMED)
          -                    ? getHighlightedText(item.p + "." + item.c + "." + item.l, matcher, fallbackMatcher)
          -                    : getHighlightedText(item.c + "." + item.l, matcher, fallbackMatcher);
          -        } else if (item.category === catSearchTags) {
          -            label = getHighlightedText(item.l, matcher, fallbackMatcher);
          -        } else {
          -            label = item.l;
          -        }
          -        var li = $("<li/>").appendTo(ul);
          -        var div = $("<div/>").appendTo(li);
          -        if (item.category === catSearchTags && item.h) {
          -            if (item.d) {
          -                div.html(label + "<span class=\"search-tag-holder-result\"> (" + item.h + ")</span><br><span class=\"search-tag-desc-result\">"
          -                                + item.d + "</span><br>");
          -            } else {
          -                div.html(label + "<span class=\"search-tag-holder-result\"> (" + item.h + ")</span>");
          -            }
          -        } else {
          -            if (item.m) {
          -                div.html(item.m + "/" + label);
          -            } else {
          -                div.html(label);
          -            }
          -        }
          -        return li;
          -    }
          -});
          -function rankMatch(match, category) {
          -    if (!match) {
          -        return NO_MATCH;
          -    }
          -    var index = match.index;
          -    var input = match.input;
          -    var leftBoundaryMatch = 2;
          -    var periferalMatch = 0;
          -    // make sure match is anchored on a left word boundary
          -    if (index === 0 || /\W/.test(input[index - 1]) || "_" === input[index]) {
          -        leftBoundaryMatch = 0;
          -    } else if ("_" === input[index - 1] || (input[index] === input[index].toUpperCase() && !/^[A-Z0-9_$]+$/.test(input))) {
          -        leftBoundaryMatch = 1;
          -    }
          -    var matchEnd = index + match[0].length;
          -    var leftParen = input.indexOf("(");
          -    var endOfName = leftParen > -1 ? leftParen : input.length;
          -    // exclude peripheral matches
          -    if (category !== catModules && category !== catSearchTags) {
          -        var delim = category === catPackages ? "/" : ".";
          -        if (leftParen > -1 && leftParen < index) {
          -            periferalMatch += 2;
          -        } else if (input.lastIndexOf(delim, endOfName) >= matchEnd) {
          -            periferalMatch += 2;
          -        }
          -    }
          -    var delta = match[0].length === endOfName ? 0 : 1; // rank full match higher than partial match
          -    for (var i = 1; i < match.length; i++) {
          -        // lower ranking if parts of the name are missing
          -        if (match[i])
          -            delta += match[i].length;
          -    }
          -    if (category === catTypes) {
          -        // lower ranking if a type name contains unmatched camel-case parts
          -        if (/[A-Z]/.test(input.substring(matchEnd)))
          -            delta += 5;
          -        if (/[A-Z]/.test(input.substring(0, index)))
          -            delta += 5;
          -    }
          -    return leftBoundaryMatch + periferalMatch + (delta / 200);
          -
          -}
          -function doSearch(request, response) {
          -    var result = [];
          -    searchPattern = createSearchPattern(request.term);
          -    fallbackPattern = createSearchPattern(request.term.toLowerCase());
          -    if (searchPattern === "") {
          -        return this.close();
          -    }
          -    var camelCaseMatcher = createMatcher(searchPattern, "");
          -    var fallbackMatcher = new RegExp(fallbackPattern, "i");
          -
          -    function searchIndexWithMatcher(indexArray, matcher, category, nameFunc) {
          -        if (indexArray) {
          -            var newResults = [];
          -            $.each(indexArray, function (i, item) {
          -                item.category = category;
          -                var ranking = rankMatch(matcher.exec(nameFunc(item)), category);
          -                if (ranking < RANKING_THRESHOLD) {
          -                    newResults.push({ranking: ranking, item: item});
          -                }
          -                return newResults.length <= MAX_RESULTS;
          -            });
          -            return newResults.sort(function(e1, e2) {
          -                return e1.ranking - e2.ranking;
          -            }).map(function(e) {
          -                return e.item;
          -            });
          -        }
          -        return [];
          -    }
          -    function searchIndex(indexArray, category, nameFunc) {
          -        var primaryResults = searchIndexWithMatcher(indexArray, camelCaseMatcher, category, nameFunc);
          -        result = result.concat(primaryResults);
          -        if (primaryResults.length <= MIN_RESULTS && camelCaseMatcher.flags.indexOf("i") === -1) {
          -            var secondaryResults = searchIndexWithMatcher(indexArray, fallbackMatcher, category, nameFunc);
          -            result = result.concat(secondaryResults.filter(function (item) {
          -                return primaryResults.indexOf(item) === -1;
          -            }));
          -        }
          -    }
          -
          -    searchIndex(moduleSearchIndex, catModules, function(item) { return item.l; });
          -    searchIndex(packageSearchIndex, catPackages, function(item) {
          -        return (item.m && request.term.indexOf("/") > -1)
          -            ? (item.m + "/" + item.l) : item.l;
          -    });
          -    searchIndex(typeSearchIndex, catTypes, function(item) {
          -        return request.term.indexOf(".") > -1 ? item.p + "." + item.l : item.l;
          -    });
          -    searchIndex(memberSearchIndex, catMembers, function(item) {
          -        return request.term.indexOf(".") > -1
          -            ? item.p + "." + item.c + "." + item.l : item.l;
          -    });
          -    searchIndex(tagSearchIndex, catSearchTags, function(item) { return item.l; });
          -
          -    if (!indexFilesLoaded()) {
          -        updateSearchResults = function() {
          -            doSearch(request, response);
          -        }
          -        result.unshift(loading);
          -    } else {
          -        updateSearchResults = function() {};
          -    }
          -    response(result);
          -}
          -$(function() {
          -    $("#search").catcomplete({
          -        minLength: 1,
          -        delay: 300,
          -        source: doSearch,
          -        response: function(event, ui) {
          -            if (!ui.content.length) {
          -                ui.content.push(noResult);
          -            } else {
          -                $("#search").empty();
          -            }
          -        },
          -        autoFocus: true,
          -        focus: function(event, ui) {
          -            return false;
          -        },
          -        position: {
          -            collision: "flip"
          -        },
          -        select: function(event, ui) {
          -            if (ui.item.category) {
          -                var url = getURLPrefix(ui);
          -                if (ui.item.category === catModules) {
          -                    url += "module-summary.html";
          -                } else if (ui.item.category === catPackages) {
          -                    if (ui.item.u) {
          -                        url = ui.item.u;
          -                    } else {
          -                        url += ui.item.l.replace(/\./g, '/') + "/package-summary.html";
          -                    }
          -                } else if (ui.item.category === catTypes) {
          -                    if (ui.item.u) {
          -                        url = ui.item.u;
          -                    } else if (ui.item.p === UNNAMED) {
          -                        url += ui.item.l + ".html";
          -                    } else {
          -                        url += ui.item.p.replace(/\./g, '/') + "/" + ui.item.l + ".html";
          -                    }
          -                } else if (ui.item.category === catMembers) {
          -                    if (ui.item.p === UNNAMED) {
          -                        url += ui.item.c + ".html" + "#";
          -                    } else {
          -                        url += ui.item.p.replace(/\./g, '/') + "/" + ui.item.c + ".html" + "#";
          -                    }
          -                    if (ui.item.u) {
          -                        url += ui.item.u;
          -                    } else {
          -                        url += ui.item.l;
          -                    }
          -                } else if (ui.item.category === catSearchTags) {
          -                    url += ui.item.u;
          -                }
          -                if (top !== window) {
          -                    parent.classFrame.location = pathtoroot + url;
          -                } else {
          -                    window.location.href = pathtoroot + url;
          -                }
          -                $("#search").focus();
          -            }
          -        }
          -    });
          -});
          diff --git a/target/site/apidocs/serialized-form.html b/target/site/apidocs/serialized-form.html
          deleted file mode 100644
          index 781fdeb..0000000
          --- a/target/site/apidocs/serialized-form.html
          +++ /dev/null
          @@ -1,89 +0,0 @@
          -<!DOCTYPE HTML>
          -<!-- NewPage -->
          -<html lang="fr">
          -<head>
          -<!-- Generated by javadoc (16) on Sat Jun 26 22:06:33 CEST 2021 -->
          -<title>Serialized Form (spoteezer 0.1.0 API)</title>
          -<meta name="viewport" content="width=device-width, initial-scale=1">
          -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-26">
          -<meta name="description" content="serialized forms">
          -<meta name="generator" content="javadoc/SerializedFormWriterImpl">
          -<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
          -<link rel="stylesheet" type="text/css" href="jquery-ui.overrides.css" title="Style">
          -<script type="text/javascript" src="script.js"></script>
          -<script type="text/javascript" src="script-dir/jquery-3.5.1.min.js"></script>
          -<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
          -</head>
          -<body class="serialized-form-page">
          -<script type="text/javascript">var pathtoroot = "./";
          -loadScripts(document, 'script');</script>
          -<noscript>
          -<div>JavaScript is disabled on your browser.</div>
          -</noscript>
          -<div class="flex-box">
          -<header role="banner" class="flex-header">
          -<nav role="navigation">
          -<!-- ========= START OF TOP NAVBAR ======= -->
          -<div class="top-nav" id="navbar.top">
          -<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          -<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          -<li><a href="index.html">Overview</a></li>
          -<li>Package</li>
          -<li>Class</li>
          -<li>Use</li>
          -<li><a href="overview-tree.html">Tree</a></li>
          -<li><a href="index-all.html">Index</a></li>
          -<li><a href="help-doc.html">Help</a></li>
          -</ul>
          -</div>
          -<div class="sub-nav">
          -<div class="nav-list-search"><label for="search">SEARCH:</label>
          -<input type="text" id="search" value="search" disabled="disabled">
          -<input type="reset" id="reset" value="reset" disabled="disabled">
          -</div>
          -</div>
          -<!-- ========= END OF TOP NAVBAR ========= -->
          -<span class="skip-nav" id="skip.navbar.top">
          -<!--   -->
          -</span></nav>
          -</header>
          -<div class="flex-content">
          -<main role="main">
          -<div class="header">
          -<h1 title="Serialized Form" class="title">Serialized Form</h1>
          -</div>
          -<ul class="block-list">
          -<li>
          -<section class="serialized-package-container">
          -<h2 title="Package">Package&nbsp;musichub.business</h2>
          -<ul class="block-list">
          -<li>
          -<section class="serialized-class-details" id="musichub.business.NoAlbumFoundException">
          -<h3>Class <a href="musichub/business/NoAlbumFoundException.html" title="class in musichub.business">musichub.business.NoAlbumFoundException</a> extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a> implements Serializable</h3>
          -</section>
          -</li>
          -<li>
          -<section class="serialized-class-details" id="musichub.business.NoElementFoundException">
          -<h3>Class <a href="musichub/business/NoElementFoundException.html" title="class in musichub.business">musichub.business.NoElementFoundException</a> extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a> implements Serializable</h3>
          -</section>
          -</li>
          -<li>
          -<section class="serialized-class-details" id="musichub.business.NoPlayListFoundException">
          -<h3>Class <a href="musichub/business/NoPlayListFoundException.html" title="class in musichub.business">musichub.business.NoPlayListFoundException</a> extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a> implements Serializable</h3>
          -</section>
          -</li>
          -</ul>
          -</section>
          -</li>
          -</ul>
          -</main>
          -<footer role="contentinfo">
          -<hr>
          -<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          -</footer>
          -</div>
          -</div>
          -</body>
          -</html>
          diff --git a/target/site/apidocs/stylesheet.css b/target/site/apidocs/stylesheet.css
          deleted file mode 100644
          index 932e56c..0000000
          --- a/target/site/apidocs/stylesheet.css
          +++ /dev/null
          @@ -1,827 +0,0 @@
          -/*
          - * Javadoc style sheet
          - */
          -
          -@import url('resources/fonts/dejavu.css');
          -
          -/*
          - * Styles for individual HTML elements.
          - *
          - * These are styles that are specific to individual HTML elements. Changing them affects the style of a particular
          - * HTML element throughout the page.
          - */
          -
          -body {
          -    background-color:#ffffff;
          -    color:#353833;
          -    font-family:'DejaVu Sans', Arial, Helvetica, sans-serif;
          -    font-size:14px;
          -    margin:0;
          -    padding:0;
          -    height:100%;
          -    width:100%;
          -}
          -iframe {
          -    margin:0;
          -    padding:0;
          -    height:100%;
          -    width:100%;
          -    overflow-y:scroll;
          -    border:none;
          -}
          -a:link, a:visited {
          -    text-decoration:none;
          -    color:#4A6782;
          -}
          -a[href]:hover, a[href]:focus {
          -    text-decoration:none;
          -    color:#bb7a2a;
          -}
          -a[name] {
          -    color:#353833;
          -}
          -pre {
          -    font-family:'DejaVu Sans Mono', monospace;
          -    font-size:14px;
          -}
          -h1 {
          -    font-size:20px;
          -}
          -h2 {
          -    font-size:18px;
          -}
          -h3 {
          -    font-size:16px;
          -}
          -h4 {
          -    font-size:13px;
          -}
          -h5 {
          -    font-size:12px;
          -}
          -h6 {
          -    font-size:11px;
          -}
          -ul {
          -    list-style-type:disc;
          -}
          -code, tt {
          -    font-family:'DejaVu Sans Mono', monospace;
          -    font-size:14px;
          -    padding-top:4px;
          -    margin-top:8px;
          -    line-height:1.4em;
          -}
          -dt code {
          -    font-family:'DejaVu Sans Mono', monospace;
          -    font-size:14px;
          -    padding-top:4px;
          -}
          -.summary-table dt code {
          -    font-family:'DejaVu Sans Mono', monospace;
          -    font-size:14px;
          -    vertical-align:top;
          -    padding-top:4px;
          -}
          -sup {
          -    font-size:8px;
          -}
          -button {
          -    font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif;
          -    font-size: 14px;
          -}
          -/*
          - * Styles for HTML generated by javadoc.
          - *
          - * These are style classes that are used by the standard doclet to generate HTML documentation.
          - */
          -
          -/*
          - * Styles for document title and copyright.
          - */
          -.clear {
          -    clear:both;
          -    height:0;
          -    overflow:hidden;
          -}
          -.about-language {
          -    float:right;
          -    padding:0 21px 8px 8px;
          -    font-size:11px;
          -    margin-top:-9px;
          -    height:2.9em;
          -}
          -.legal-copy {
          -    margin-left:.5em;
          -}
          -.tab {
          -    background-color:#0066FF;
          -    color:#ffffff;
          -    padding:8px;
          -    width:5em;
          -    font-weight:bold;
          -}
          -/*
          - * Styles for navigation bar.
          - */
          -@media screen {
          -    .flex-box {
          -        position:fixed;
          -        display:flex;
          -        flex-direction:column;
          -        height: 100%;
          -        width: 100%;
          -    }
          -    .flex-header {
          -        flex: 0 0 auto;
          -    }
          -    .flex-content {
          -        flex: 1 1 auto;
          -        overflow-y: auto;
          -    }
          -}
          -.top-nav {
          -    background-color:#4D7A97;
          -    color:#FFFFFF;
          -    float:left;
          -    padding:0;
          -    width:100%;
          -    clear:right;
          -    min-height:2.8em;
          -    padding-top:10px;
          -    overflow:hidden;
          -    font-size:12px;
          -}
          -.sub-nav {
          -    background-color:#dee3e9;
          -    float:left;
          -    width:100%;
          -    overflow:hidden;
          -    font-size:12px;
          -}
          -.sub-nav div {
          -    clear:left;
          -    float:left;
          -    padding:0 0 5px 6px;
          -    text-transform:uppercase;
          -}
          -.sub-nav .nav-list {
          -    padding-top:5px;
          -}
          -ul.nav-list {
          -    display:block;
          -    margin:0 25px 0 0;
          -    padding:0;
          -}
          -ul.sub-nav-list {
          -    float:left;
          -    margin:0 25px 0 0;
          -    padding:0;
          -}
          -ul.nav-list li {
          -    list-style:none;
          -    float:left;
          -    padding: 5px 6px;
          -    text-transform:uppercase;
          -}
          -.sub-nav .nav-list-search {
          -    float:right;
          -    margin:0 0 0 0;
          -    padding:5px 6px;
          -    clear:none;
          -}
          -.nav-list-search label {
          -    position:relative;
          -    right:-16px;
          -}
          -ul.sub-nav-list li {
          -    list-style:none;
          -    float:left;
          -    padding-top:10px;
          -}
          -.top-nav a:link, .top-nav a:active, .top-nav a:visited {
          -    color:#FFFFFF;
          -    text-decoration:none;
          -    text-transform:uppercase;
          -}
          -.top-nav a:hover {
          -    text-decoration:none;
          -    color:#bb7a2a;
          -    text-transform:uppercase;
          -}
          -.nav-bar-cell1-rev {
          -    background-color:#F8981D;
          -    color:#253441;
          -    margin: auto 5px;
          -}
          -.skip-nav {
          -    position:absolute;
          -    top:auto;
          -    left:-9999px;
          -    overflow:hidden;
          -}
          -/*
          - * Hide navigation links and search box in print layout
          - */
          -@media print {
          -    ul.nav-list, div.sub-nav  {
          -        display:none;
          -    }
          -}
          -/*
          - * Styles for page header and footer.
          - */
          -.title {
          -    color:#2c4557;
          -    margin:10px 0;
          -}
          -.sub-title {
          -    margin:5px 0 0 0;
          -}
          -.header ul {
          -    margin:0 0 15px 0;
          -    padding:0;
          -}
          -.header ul li, .footer ul li {
          -    list-style:none;
          -    font-size:13px;
          -}
          -/*
          - * Styles for headings.
          - */
          -body.class-declaration-page .summary h2,
          -body.class-declaration-page .details h2,
          -body.class-use-page  h2,
          -body.module-declaration-page  .block-list h2 {
          -    font-style: italic;
          -    padding:0;
          -    margin:15px 0;
          -}
          -body.class-declaration-page .summary h3,
          -body.class-declaration-page .details h3,
          -body.class-declaration-page .summary .inherited-list h2 {
          -    background-color:#dee3e9;
          -    border:1px solid #d0d9e0;
          -    margin:0 0 6px -8px;
          -    padding:7px 5px;
          -}
          -/*
          - * Styles for page layout containers.
          - */
          -main {
          -    clear:both;
          -    padding:10px 20px;
          -    position:relative;
          -}
          -dl.notes > dt {
          -    font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif;
          -    font-size:12px;
          -    font-weight:bold;
          -    margin:10px 0 0 0;
          -    color:#4E4E4E;
          -}
          -dl.notes > dd {
          -    margin:5px 0 10px 0;
          -    font-size:14px;
          -    font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif;
          -}
          -dl.name-value > dt {
          -    margin-left:1px;
          -    font-size:1.1em;
          -    display:inline;
          -    font-weight:bold;
          -}
          -dl.name-value > dd {
          -    margin:0 0 0 1px;
          -    font-size:1.1em;
          -    display:inline;
          -}
          -/*
          - * Styles for lists.
          - */
          -li.circle {
          -    list-style:circle;
          -}
          -ul.horizontal li {
          -    display:inline;
          -    font-size:0.9em;
          -}
          -div.inheritance {
          -    margin:0;
          -    padding:0;
          -}
          -div.inheritance div.inheritance {
          -    margin-left:2em;
          -}
          -ul.block-list,
          -ul.details-list,
          -ul.member-list,
          -ul.summary-list {
          -    margin:10px 0 10px 0;
          -    padding:0;
          -}
          -ul.block-list > li,
          -ul.details-list > li,
          -ul.member-list > li,
          -ul.summary-list > li {
          -    list-style:none;
          -    margin-bottom:15px;
          -    line-height:1.4;
          -}
          -.summary-table dl, .summary-table dl dt, .summary-table dl dd {
          -    margin-top:0;
          -    margin-bottom:1px;
          -}
          -/*
          - * Styles for tables.
          - */
          -.summary-table {
          -    width:100%;
          -    border-spacing:0;
          -    border-left:1px solid #EEE;
          -    border-right:1px solid #EEE;
          -    border-bottom:1px solid #EEE;
          -}
          -.summary-table {
          -    padding:0;
          -}
          -.caption {
          -    position:relative;
          -    text-align:left;
          -    background-repeat:no-repeat;
          -    color:#253441;
          -    font-weight:bold;
          -    clear:none;
          -    overflow:hidden;
          -    padding:0px;
          -    padding-top:10px;
          -    padding-left:1px;
          -    margin:0px;
          -    white-space:pre;
          -}
          -.caption a:link, .caption a:visited {
          -    color:#1f389c;
          -}
          -.caption a:hover,
          -.caption a:active {
          -    color:#FFFFFF;
          -}
          -.caption span {
          -    white-space:nowrap;
          -    padding-top:5px;
          -    padding-left:12px;
          -    padding-right:12px;
          -    padding-bottom:7px;
          -    display:inline-block;
          -    float:left;
          -    background-color:#F8981D;
          -    border: none;
          -    height:16px;
          -}
          -
          -div.table-tabs > button {
          -   border: none;
          -   cursor: pointer;
          -   padding: 5px 12px 7px 12px;
          -   font-weight: bold;
          -   margin-right: 3px;
          -}
          -div.table-tabs > button.active-table-tab {
          -   background: #F8981D;
          -   color: #253441;
          -}
          -div.table-tabs > button.table-tab {
          -   background: #4D7A97;
          -   color: #FFFFFF;
          -}
          -.two-column-summary {
          -    display: grid;
          -    grid-template-columns: minmax(15%, max-content) minmax(15%, auto);
          -}
          -.three-column-summary {
          -    display: grid;
          -    grid-template-columns: minmax(10%, max-content) minmax(15%, max-content) minmax(15%, auto);
          -}
          -.four-column-summary {
          -    display: grid;
          -    grid-template-columns: minmax(10%, max-content) minmax(10%, max-content) minmax(10%, max-content) minmax(10%, auto);
          -}
          -@media screen and (max-width: 600px) {
          -    .two-column-summary {
          -        display: grid;
          -        grid-template-columns: 1fr;
          -    }
          -}
          -@media screen and (max-width: 800px) {
          -    .three-column-summary {
          -        display: grid;
          -        grid-template-columns: minmax(10%, max-content) minmax(25%, auto);
          -    }
          -    .three-column-summary .col-last {
          -        grid-column-end: span 2;
          -    }
          -}
          -@media screen and (max-width: 1000px) {
          -    .four-column-summary {
          -        display: grid;
          -        grid-template-columns: minmax(15%, max-content) minmax(15%, auto);
          -    }
          -}
          -.summary-table > div {
          -    text-align:left;
          -    padding: 8px 3px 3px 7px;
          -}
          -.col-first, .col-second, .col-last, .col-constructor-name, .col-deprecated-item-name {
          -    vertical-align:top;
          -    padding-right:0;
          -    padding-top:8px;
          -    padding-bottom:3px;
          -}
          -.table-header {
          -    background:#dee3e9;
          -    font-weight: bold;
          -}
          -.col-first, .col-first {
          -    font-size:13px;
          -}
          -.col-second, .col-second, .col-last, .col-constructor-name, .col-deprecated-item-name, .col-last {
          -    font-size:13px;
          -}
          -.col-first, .col-second, .col-constructor-name {
          -    vertical-align:top;
          -    overflow: auto;
          -}
          -.col-last {
          -    white-space:normal;
          -}
          -.col-first a:link, .col-first a:visited,
          -.col-second a:link, .col-second a:visited,
          -.col-first a:link, .col-first a:visited,
          -.col-second a:link, .col-second a:visited,
          -.col-constructor-name a:link, .col-constructor-name a:visited,
          -.col-deprecated-item-name a:link, .col-deprecated-item-name a:visited,
          -.constant-values-container a:link, .constant-values-container a:visited,
          -.all-classes-container a:link, .all-classes-container a:visited,
          -.all-packages-container a:link, .all-packages-container a:visited {
          -    font-weight:bold;
          -}
          -.table-sub-heading-color {
          -    background-color:#EEEEFF;
          -}
          -.even-row-color, .even-row-color .table-header {
          -    background-color:#FFFFFF;
          -}
          -.odd-row-color, .odd-row-color .table-header {
          -    background-color:#EEEEEF;
          -}
          -/*
          - * Styles for contents.
          - */
          -.deprecated-content {
          -    margin:0;
          -    padding:10px 0;
          -}
          -div.block {
          -    font-size:14px;
          -    font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif;
          -}
          -.col-last div {
          -    padding-top:0;
          -}
          -.col-last a {
          -    padding-bottom:3px;
          -}
          -.module-signature,
          -.package-signature,
          -.type-signature,
          -.member-signature {
          -    font-family:'DejaVu Sans Mono', monospace;
          -    font-size:14px;
          -    margin:14px 0;
          -    white-space: pre-wrap;
          -}
          -.module-signature,
          -.package-signature,
          -.type-signature {
          -    margin-top: 0;
          -}
          -.member-signature .type-parameters-long,
          -.member-signature .parameters,
          -.member-signature .exceptions {
          -    display: inline-block;
          -    vertical-align: top;
          -    white-space: pre;
          -}
          -.member-signature .type-parameters {
          -    white-space: normal;
          -}
          -/*
          - * Styles for formatting effect.
          - */
          -.source-line-no {
          -    color:green;
          -    padding:0 30px 0 0;
          -}
          -h1.hidden {
          -    visibility:hidden;
          -    overflow:hidden;
          -    font-size:10px;
          -}
          -.block {
          -    display:block;
          -    margin:0 10px 5px 0;
          -    color:#474747;
          -}
          -.deprecated-label, .descfrm-type-label, .implementation-label, .member-name-label, .member-name-link,
          -.module-label-in-package, .module-label-in-type, .override-specify-label, .package-label-in-type,
          -.package-hierarchy-label, .type-name-label, .type-name-link, .search-tag-link {
          -    font-weight:bold;
          -}
          -.deprecation-comment, .help-footnote, .interface-name {
          -    font-style:italic;
          -}
          -.deprecation-block {
          -    font-size:14px;
          -    font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif;
          -    border-style:solid;
          -    border-width:thin;
          -    border-radius:10px;
          -    padding:10px;
          -    margin-bottom:10px;
          -    margin-right:10px;
          -    display:inline-block;
          -}
          -div.block div.deprecation-comment, div.block div.block span.emphasized-phrase,
          -div.block div.block span.interface-name {
          -    font-style:normal;
          -}
          -/*
          - * Styles specific to HTML5 elements.
          - */
          -main, nav, header, footer, section {
          -    display:block;
          -}
          -/*
          - * Styles for javadoc search.
          - */
          -.ui-autocomplete-category {
          -    font-weight:bold;
          -    font-size:15px;
          -    padding:7px 0 7px 3px;
          -    background-color:#4D7A97;
          -    color:#FFFFFF;
          -}
          -.result-item {
          -    font-size:13px;
          -}
          -.ui-autocomplete {
          -    max-height:85%;
          -    max-width:65%;
          -    overflow-y:scroll;
          -    overflow-x:scroll;
          -    white-space:nowrap;
          -    box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
          -}
          -ul.ui-autocomplete {
          -    position:fixed;
          -    z-index:999999;
          -}
          -ul.ui-autocomplete  li {
          -    float:left;
          -    clear:both;
          -    width:100%;
          -}
          -.result-highlight {
          -    font-weight:bold;
          -}
          -#search {
          -    background-image:url('resources/glass.png');
          -    background-size:13px;
          -    background-repeat:no-repeat;
          -    background-position:2px 3px;
          -    padding-left:20px;
          -    position:relative;
          -    right:-18px;
          -    width:400px;
          -}
          -#reset {
          -    background-color: rgb(255,255,255);
          -    background-image:url('resources/x.png');
          -    background-position:center;
          -    background-repeat:no-repeat;
          -    background-size:12px;
          -    border:0 none;
          -    width:16px;
          -    height:16px;
          -    position:relative;
          -    left:-4px;
          -    top:-4px;
          -    font-size:0px;
          -}
          -.watermark {
          -    color:#545454;
          -}
          -.search-tag-desc-result {
          -    font-style:italic;
          -    font-size:11px;
          -}
          -.search-tag-holder-result {
          -    font-style:italic;
          -    font-size:12px;
          -}
          -.search-tag-result:target {
          -    background-color:yellow;
          -}
          -.module-graph span {
          -    display:none;
          -    position:absolute;
          -}
          -.module-graph:hover span {
          -    display:block;
          -    margin: -100px 0 0 100px;
          -    z-index: 1;
          -}
          -.inherited-list {
          -    margin: 10px 0 10px 0;
          -}
          -section.description {
          -    line-height: 1.4;
          -}
          -.summary section[class$="-summary"], .details section[class$="-details"],
          -.class-uses .detail, .serialized-class-details {
          -    padding: 0px 20px 5px 10px;
          -    border: 1px solid #ededed;
          -    background-color: #f8f8f8;
          -}
          -.inherited-list, section[class$="-details"] .detail {
          -    padding:0 0 5px 8px;
          -    background-color:#ffffff;
          -    border:none;
          -}
          -.vertical-separator {
          -    padding: 0 5px;
          -}
          -ul.help-section-list {
          -    margin: 0;
          -}
          -/*
          - * Indicator icon for external links.
          - */
          -main a[href*="://"]::after {
          -    content:"";
          -    display:inline-block;
          -    background-image:url('data:image/svg+xml; utf8, \
          -      <svg xmlns="http://www.w3.org/2000/svg" width="768" height="768">\
          -        <path d="M584 664H104V184h216V80H0v688h688V448H584zM384 0l132 \
          -        132-240 240 120 120 240-240 132 132V0z" fill="%234a6782"/>\
          -      </svg>');
          -    background-size:100% 100%;
          -    width:7px;
          -    height:7px;
          -    margin-left:2px;
          -    margin-bottom:4px;
          -}
          -main a[href*="://"]:hover::after,
          -main a[href*="://"]:focus::after {
          -    background-image:url('data:image/svg+xml; utf8, \
          -      <svg xmlns="http://www.w3.org/2000/svg" width="768" height="768">\
          -        <path d="M584 664H104V184h216V80H0v688h688V448H584zM384 0l132 \
          -        132-240 240 120 120 240-240 132 132V0z" fill="%23bb7a2a"/>\
          -      </svg>');
          -}
          -
          -/*
          - * Styles for user-provided tables.
          - *
          - * borderless:
          - *      No borders, vertical margins, styled caption.
          - *      This style is provided for use with existing doc comments.
          - *      In general, borderless tables should not be used for layout purposes.
          - *
          - * plain:
          - *      Plain borders around table and cells, vertical margins, styled caption.
          - *      Best for small tables or for complex tables for tables with cells that span
          - *      rows and columns, when the "striped" style does not work well.
          - *
          - * striped:
          - *      Borders around the table and vertical borders between cells, striped rows,
          - *      vertical margins, styled caption.
          - *      Best for tables that have a header row, and a body containing a series of simple rows.
          - */
          -
          -table.borderless,
          -table.plain,
          -table.striped {
          -    margin-top: 10px;
          -    margin-bottom: 10px;
          -}
          -table.borderless > caption,
          -table.plain > caption,
          -table.striped > caption {
          -    font-weight: bold;
          -    font-size: smaller;
          -}
          -table.borderless th, table.borderless td,
          -table.plain th, table.plain td,
          -table.striped th, table.striped td {
          -    padding: 2px 5px;
          -}
          -table.borderless,
          -table.borderless > thead > tr > th, table.borderless > tbody > tr > th, table.borderless > tr > th,
          -table.borderless > thead > tr > td, table.borderless > tbody > tr > td, table.borderless > tr > td {
          -    border: none;
          -}
          -table.borderless > thead > tr, table.borderless > tbody > tr, table.borderless > tr {
          -    background-color: transparent;
          -}
          -table.plain {
          -    border-collapse: collapse;
          -    border: 1px solid black;
          -}
          -table.plain > thead > tr, table.plain > tbody tr, table.plain > tr {
          -    background-color: transparent;
          -}
          -table.plain > thead > tr > th, table.plain > tbody > tr > th, table.plain > tr > th,
          -table.plain > thead > tr > td, table.plain > tbody > tr > td, table.plain > tr > td {
          -    border: 1px solid black;
          -}
          -table.striped {
          -    border-collapse: collapse;
          -    border: 1px solid black;
          -}
          -table.striped > thead {
          -    background-color: #E3E3E3;
          -}
          -table.striped > thead > tr > th, table.striped > thead > tr > td {
          -    border: 1px solid black;
          -}
          -table.striped > tbody > tr:nth-child(even) {
          -    background-color: #EEE
          -}
          -table.striped > tbody > tr:nth-child(odd) {
          -    background-color: #FFF
          -}
          -table.striped > tbody > tr > th, table.striped > tbody > tr > td {
          -    border-left: 1px solid black;
          -    border-right: 1px solid black;
          -}
          -table.striped > tbody > tr > th {
          -    font-weight: normal;
          -}
          -/**
          - * Tweak font sizes and paddings for small screens.
          - */
          -@media screen and (max-width: 1050px) {
          -    #search {
          -        width: 300px;
          -    }
          -}
          -@media screen and (max-width: 800px) {
          -    #search {
          -        width: 200px;
          -    }
          -    .top-nav,
          -    .bottom-nav {
          -        font-size: 11px;
          -        padding-top: 6px;
          -    }
          -    .sub-nav {
          -        font-size: 11px;
          -    }
          -    .about-language {
          -        padding-right: 16px;
          -    }
          -    ul.nav-list li,
          -    .sub-nav .nav-list-search {
          -        padding: 6px;
          -    }
          -    ul.sub-nav-list li {
          -        padding-top: 5px;
          -    }
          -    main {
          -        padding: 10px;
          -    }
          -    .summary section[class$="-summary"], .details section[class$="-details"],
          -    .class-uses .detail, .serialized-class-details {
          -        padding: 0 8px 5px 8px;
          -    }
          -    body {
          -        -webkit-text-size-adjust: none;
          -    }
          -}
          -@media screen and (max-width: 500px) {
          -    #search {
          -        width: 150px;
          -    }
          -    .top-nav,
          -    .bottom-nav {
          -        font-size: 10px;
          -    }
          -    .sub-nav {
          -        font-size: 10px;
          -    }
          -    .about-language {
          -        font-size: 10px;
          -        padding-right: 12px;
          -    }
          -}
          diff --git a/target/site/apidocs/tag-search-index.js b/target/site/apidocs/tag-search-index.js
          deleted file mode 100644
          index f38b3cb..0000000
          --- a/target/site/apidocs/tag-search-index.js
          +++ /dev/null
          @@ -1 +0,0 @@
          -tagSearchIndex = [{"l":"Serialized Form","h":"","u":"serialized-form.html"}];updateSearchResults();
          \ No newline at end of file
          diff --git a/target/site/apidocs/type-search-index.js b/target/site/apidocs/type-search-index.js
          deleted file mode 100644
          index 26dac6f..0000000
          --- a/target/site/apidocs/type-search-index.js
          +++ /dev/null
          @@ -1 +0,0 @@
          -typeSearchIndex = [{"p":"musichub.business","l":"Album"},{"l":"All Classes","u":"allclasses-index.html"},{"p":"musichub.business","l":"AudioBook"},{"p":"musichub.business","l":"AudioElement"},{"p":"musichub.business","l":"Category"},{"p":"musichub.business","l":"Genre"},{"p":"musichub.business","l":"Language"},{"p":"musichub.util","l":"LogHandler"},{"p":"musichub.main","l":"Main"},{"p":"musichub.business","l":"MusicHub"},{"p":"musichub.business","l":"NoAlbumFoundException"},{"p":"musichub.business","l":"NoElementFoundException"},{"p":"musichub.business","l":"NoPlayListFoundException"},{"p":"musichub.util","l":"PathValidation"},{"p":"musichub.business","l":"PlayList"},{"p":"musichub.business","l":"Song"},{"p":"musichub.util","l":"XMLHandler"}];updateSearchResults();
          \ No newline at end of file
          diff --git a/target/site/jacoco/index.html b/target/site/jacoco/index.html
          index b800f3f..d0737be 100644
          --- a/target/site/jacoco/index.html
          +++ b/target/site/jacoco/index.html
          @@ -1 +1 @@
          -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>spoteezer</title><script type="text/javascript" src="jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="jacoco-sessions.html" class="el_session">Sessions</a></span><span class="el_report">spoteezer</span></div><h1>spoteezer</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">2 740 of 2 803</td><td class="ctr2">2 %</td><td class="bar">210 of 210</td><td class="ctr2">0 %</td><td class="ctr1">206</td><td class="ctr2">211</td><td class="ctr1">730</td><td class="ctr2">745</td><td class="ctr1">88</td><td class="ctr2">93</td><td class="ctr1">17</td><td class="ctr2">19</td></tr></tfoot><tbody><tr><td id="a0"><a href="musichub.business/index.html" class="el_package">musichub.business</a></td><td class="bar" id="b0"><img src="jacoco-resources/redbar.gif" width="120" height="10" title="2 063" alt="2 063"/></td><td class="ctr2" id="c1">0 %</td><td class="bar" id="d0"><img src="jacoco-resources/redbar.gif" width="120" height="10" title="169" alt="169"/></td><td class="ctr2" id="e0">0 %</td><td class="ctr1" id="f0">172</td><td class="ctr2" id="g0">172</td><td class="ctr1" id="h0">499</td><td class="ctr2" id="i0">499</td><td class="ctr1" id="j0">81</td><td class="ctr2" id="k0">81</td><td class="ctr1" id="l0">15</td><td class="ctr2" id="m0">15</td></tr><tr><td id="a1"><a href="musichub.main/index.html" class="el_package">musichub.main</a></td><td class="bar" id="b1"><img src="jacoco-resources/redbar.gif" width="35" height="10" title="605" alt="605"/></td><td class="ctr2" id="c2">0 %</td><td class="bar" id="d1"><img src="jacoco-resources/redbar.gif" width="29" height="10" title="41" alt="41"/></td><td class="ctr2" id="e1">0 %</td><td class="ctr1" id="f1">30</td><td class="ctr2" id="g1">30</td><td class="ctr1" id="h1">206</td><td class="ctr2" id="i1">206</td><td class="ctr1" id="j2">3</td><td class="ctr2" id="k2">3</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a2"><a href="musichub.util/index.html" class="el_package">musichub.util</a></td><td class="bar" id="b2"><img src="jacoco-resources/redbar.gif" width="4" height="10" title="72" alt="72"/><img src="jacoco-resources/greenbar.gif" width="3" height="10" title="63" alt="63"/></td><td class="ctr2" id="c0">46 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">4</td><td class="ctr2" id="g2">9</td><td class="ctr1" id="h2">25</td><td class="ctr2" id="i2">40</td><td class="ctr1" id="j1">4</td><td class="ctr2" id="k1">9</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m1">3</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>spoteezer</title><script type="text/javascript" src="jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="jacoco-sessions.html" class="el_session">Sessions</a></span><span class="el_report">spoteezer</span></div><h1>spoteezer</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">2 674 of 2 803</td><td class="ctr2">4 %</td><td class="bar">210 of 210</td><td class="ctr2">0 %</td><td class="ctr1">202</td><td class="ctr2">211</td><td class="ctr1">709</td><td class="ctr2">745</td><td class="ctr1">84</td><td class="ctr2">93</td><td class="ctr1">16</td><td class="ctr2">19</td></tr></tfoot><tbody><tr><td id="a0"><a href="musichub.business/index.html" class="el_package">musichub.business</a></td><td class="bar" id="b0"><img src="jacoco-resources/redbar.gif" width="120" height="10" title="2 063" alt="2 063"/></td><td class="ctr2" id="c1">0 %</td><td class="bar" id="d0"><img src="jacoco-resources/redbar.gif" width="120" height="10" title="169" alt="169"/></td><td class="ctr2" id="e0">0 %</td><td class="ctr1" id="f0">172</td><td class="ctr2" id="g0">172</td><td class="ctr1" id="h0">499</td><td class="ctr2" id="i0">499</td><td class="ctr1" id="j0">81</td><td class="ctr2" id="k0">81</td><td class="ctr1" id="l0">15</td><td class="ctr2" id="m0">15</td></tr><tr><td id="a1"><a href="musichub.main/index.html" class="el_package">musichub.main</a></td><td class="bar" id="b1"><img src="jacoco-resources/redbar.gif" width="35" height="10" title="605" alt="605"/></td><td class="ctr2" id="c2">0 %</td><td class="bar" id="d1"><img src="jacoco-resources/redbar.gif" width="29" height="10" title="41" alt="41"/></td><td class="ctr2" id="e1">0 %</td><td class="ctr1" id="f1">30</td><td class="ctr2" id="g1">30</td><td class="ctr1" id="h1">206</td><td class="ctr2" id="i1">206</td><td class="ctr1" id="j1">3</td><td class="ctr2" id="k2">3</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a2"><a href="musichub.util/index.html" class="el_package">musichub.util</a></td><td class="bar" id="b2"><img src="jacoco-resources/greenbar.gif" width="7" height="10" title="129" alt="129"/></td><td class="ctr2" id="c0">95 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">9</td><td class="ctr1" id="h2">4</td><td class="ctr2" id="i2">40</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k1">9</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m1">3</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/jacoco-sessions.html b/target/site/jacoco/jacoco-sessions.html
          index 4058e1f..a018689 100644
          --- a/target/site/jacoco/jacoco-sessions.html
          +++ b/target/site/jacoco/jacoco-sessions.html
          @@ -1 +1 @@
          -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>Sessions</title></head><body><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="jacoco-sessions.html" class="el_session">Sessions</a></span><a href="index.html" class="el_report">spoteezer</a> &gt; <span class="el_session">Sessions</span></div><h1>Sessions</h1><p>This coverage report is based on execution data from the following sessions:</p><table class="coverage" cellspacing="0"><thead><tr><td>Session</td><td>Start Time</td><td>Dump Time</td></tr></thead><tbody><tr><td><span class="el_session">DESKTOP-M4INQND-be4b9e12</span></td><td>26 juin 2021, 22:06:25</td><td>26 juin 2021, 22:06:26</td></tr><tr><td><span class="el_session">DESKTOP-M4INQND-4db7b834</span></td><td>26 juin 2021, 22:06:38</td><td>26 juin 2021, 22:06:38</td></tr></tbody></table><p>Execution data for the following classes is considered in this report:</p><table class="coverage" cellspacing="0"><thead><tr><td>Class</td><td>Id</td></tr></thead><tbody><tr><td><span class="el_class">java.sql.Date</span></td><td><code>d25610486aed3f31</code></td></tr><tr><td><span class="el_class">java.sql.Timestamp</span></td><td><code>b848522074600355</code></td></tr><tr><td><a href="musichub.util/LogHandler.html" class="el_class">musichub.util.LogHandler</a></td><td><code>727806a24a38b49a</code></td></tr><tr><td><span class="el_class">musichub.util.LogHandlerTest</span></td><td><code>d7b83ca1e47cacd7</code></td></tr><tr><td><a href="musichub.util/PathValidation.html" class="el_class">musichub.util.PathValidation</a></td><td><code>538d6ca0ac9478ad</code></td></tr><tr><td><span class="el_class">musichub.util.PathValidationTest</span></td><td><code>b026f96f38b030a9</code></td></tr><tr><td><span class="el_class">org.apache.maven.plugin.surefire.log.api.NullConsoleLogger</span></td><td><code>80d79e52a7499259</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.AbstractPathConfiguration</span></td><td><code>8182fa1396653f01</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.BaseProviderFactory</span></td><td><code>82593383b8ea92d6</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.BiProperty</span></td><td><code>4945e268841ae2cb</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.BooterDeserializer</span></td><td><code>5e68b147d2c4b22f</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ClassLoaderConfiguration</span></td><td><code>dc8fd5c18ebb0e44</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.Classpath</span></td><td><code>6f6b6469b9fdf4dd</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ClasspathConfiguration</span></td><td><code>4c7a5282c74ba3e2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.Command</span></td><td><code>eb1b53eb8cbe7b47</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.CommandReader</span></td><td><code>0c8d3ca700ec7199</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.CommandReader.1</span></td><td><code>fbfebde20e2b504c</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.CommandReader.CommandRunnable</span></td><td><code>ee59ae4d74408619</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.DumpErrorSingleton</span></td><td><code>a3fa02cb87e0e12b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter</span></td><td><code>a5c33895f0d22838</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.1</span></td><td><code>c87487d278c3ea96</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.2</span></td><td><code>31c66931520df8eb</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.3</span></td><td><code>95d48141fa4dd03d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.4</span></td><td><code>24dcd1c5bcf0d850</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.5</span></td><td><code>862846325c16cf76</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.6</span></td><td><code>b3ab24d3791d84dd</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.7</span></td><td><code>401437f62a3b16ff</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.PingScheduler</span></td><td><code>04bf02021dfc5e9c</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkingReporterFactory</span></td><td><code>076a6c0176f6238b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkingRunListener</span></td><td><code>92d4b034b32ca2c0</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.MasterProcessCommand</span></td><td><code>da65de332c2de19d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.PpidChecker</span></td><td><code>71b8c658da2ea8d3</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.PpidChecker.2</span></td><td><code>68d262a2c2ad8f14</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.PpidChecker.ProcessInfoConsumer</span></td><td><code>73f319c21fab7e7f</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ProcessInfo</span></td><td><code>b5b56cd86f3f0b31</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.PropertiesWrapper</span></td><td><code>ae4bf137cc5290c1</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ProviderConfiguration</span></td><td><code>d19986536a351b50</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.Shutdown</span></td><td><code>ee9c65017e107986</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.StartupConfiguration</span></td><td><code>a8cc10b01ed27439</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.SystemPropertyManager</span></td><td><code>f47497b1dde50d64</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.TypeEncodedValue</span></td><td><code>5ea9766678ac06a2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.cli.CommandLineOption</span></td><td><code>467fc7f51b73863b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.junitplatform.JUnitPlatformProvider</span></td><td><code>89b934b90ec6eb01</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.junitplatform.RunListenerAdapter</span></td><td><code>02cb8e87a6db2057</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.junitplatform.TestPlanScannerFilter</span></td><td><code>622558f718a42827</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.providerapi.AbstractProvider</span></td><td><code>90f3b08fe8a1c87c</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ConsoleOutputCapture</span></td><td><code>b8ae904ed8536017</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ConsoleOutputCapture.ForwardingPrintStream</span></td><td><code>f912ea5d2dac308e</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ConsoleOutputCapture.NullOutputStream</span></td><td><code>8d05eb67510fd586</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ReporterConfiguration</span></td><td><code>4281487891f02f69</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.SimpleReportEntry</span></td><td><code>ced572f24a462295</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.io.IOUtils</span></td><td><code>31aed2fcfab3e082</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.io.output.StringBuilderWriter</span></td><td><code>6d33fec8cb3374c0</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.lang3.JavaVersion</span></td><td><code>a8452005cb20bb7d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.lang3.StringUtils</span></td><td><code>4f785afa8bb3a23f</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.lang3.SystemUtils</span></td><td><code>aba69a973b7ba06a</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.lang3.math.NumberUtils</span></td><td><code>d0156407bff7b695</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.maven.shared.utils.StringUtils</span></td><td><code>483d14212b21a3ea</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.suite.RunResult</span></td><td><code>f5c7c53a954bcafa</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.DirectoryScannerParameters</span></td><td><code>2b5eeacae469cd1d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.IncludedExcludedPatterns</span></td><td><code>f39908e3b64d7090</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.ResolvedTest</span></td><td><code>a598483e424232d4</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.ResolvedTest.ClassMatcher</span></td><td><code>79be7f2fa77ad8d7</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.ResolvedTest.MethodMatcher</span></td><td><code>7c71374a51e8e61b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.ResolvedTest.Type</span></td><td><code>90e4214668937845</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.RunOrderParameters</span></td><td><code>b4c06223c3099700</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.TestArtifactInfo</span></td><td><code>f703953620e80b33</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.TestListResolver</span></td><td><code>7d372c99b98a147d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.TestRequest</span></td><td><code>0fa2c0cc34345df2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.CloseableIterator</span></td><td><code>cc15bdebae86d5d2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.DefaultRunOrderCalculator</span></td><td><code>1aeecbcd3bf6e89b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.DefaultScanResult</span></td><td><code>7fefafdf8c793c36</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.ReflectionUtils</span></td><td><code>8d5f4b05d6d77207</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.RunOrder</span></td><td><code>d2292a6beb4b6337</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.TestsToRun</span></td><td><code>a95363e4b4ba2069</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.TestsToRun.ClassesIterator</span></td><td><code>84a139c598502c0b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.DaemonThreadFactory</span></td><td><code>21a589f6dedb169c</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.DaemonThreadFactory.NamedThreadFactory</span></td><td><code>682458ca85b067a3</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.DumpFileUtils</span></td><td><code>fff19f49be3d8149</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.ImmutableMap</span></td><td><code>72bcae5e55b4fabb</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.ObjectUtils</span></td><td><code>69a2a92649b44645</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.StringUtils</span></td><td><code>3a7e4daf0a993e1e</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.StringUtils.EncodedArray</span></td><td><code>477f1d94d78cb50b</code></td></tr><tr><td><span class="el_class">org.apiguardian.api.API.Status</span></td><td><code>0341e8d99fc36573</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertEquals</span></td><td><code>12bfbbf2e4327e63</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertFalse</span></td><td><code>32fea5a28fb6a114</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertTrue</span></td><td><code>612f68f7274dd69c</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertionUtils</span></td><td><code>da37ffd9f98016fd</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.Assertions</span></td><td><code>041279bcf2826fff</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.TestInstance.Lifecycle</span></td><td><code>0e93858cc703e9fc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ConditionEvaluationResult</span></td><td><code>2f9dc9ea54b57975</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ExtensionContext</span></td><td><code>222e1fc44c4844aa</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.DiscoveryFilterApplier</span></td><td><code>ae96a3ff3c2e2bc4</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.JupiterTestEngine</span></td><td><code>c74f725c8cb223be</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.AbstractExtensionContext</span></td><td><code>1f7ed0b87a9f2cca</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ClassExtensionContext</span></td><td><code>b85422abe06bbadd</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ClassTestDescriptor</span></td><td><code>61a635a4acc3ee31</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterEngineDescriptor</span></td><td><code>d025635c09450d0d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterEngineExtensionContext</span></td><td><code>7ae853fe3a80d83c</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterTestDescriptor</span></td><td><code>606e5ec97816bda5</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.LifecycleMethodUtils</span></td><td><code>19c9fba5accef0fa</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.MethodBasedTestDescriptor</span></td><td><code>65654838f58d8b44</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.MethodExtensionContext</span></td><td><code>c098f6d0bb344d56</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.TestInstanceLifecycleUtils</span></td><td><code>c42bb138e6a06252</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor</span></td><td><code>54eb6a19bd953962</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.AbstractMethodResolver</span></td><td><code>3934f16bf877b9f5</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.DiscoverySelectorResolver</span></td><td><code>a858789f976fefbc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.JavaElementsResolver</span></td><td><code>32e9ea682e77049d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodFinder</span></td><td><code>5ea468d2eb528361</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.NestedTestsResolver</span></td><td><code>9d92451ae793af41</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.TestContainerResolver</span></td><td><code>7db010f5e9c7301d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.TestFactoryMethodResolver</span></td><td><code>59fd27320e375440</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.TestMethodResolver</span></td><td><code>1417c6356fa4b27f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.TestTemplateMethodResolver</span></td><td><code>47563eb55cd35171</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsInnerClass</span></td><td><code>f7d9846d00228720</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsNestedTestClass</span></td><td><code>e47ff7cd33073803</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsPotentialTestContainer</span></td><td><code>0f8df015b2d5841a</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsScannableTestClass</span></td><td><code>839db992754219f6</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestClassWithTests</span></td><td><code>5ab134cc6ef3a81f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestFactoryMethod</span></td><td><code>a2c68978bd6bfbc6</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestMethod</span></td><td><code>8b244977e441886e</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestTemplateMethod</span></td><td><code>0baf1066bf0cbad7</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestableMethod</span></td><td><code>59a0b58a40803fe2</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ConditionEvaluator</span></td><td><code>fba35d945644501d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ExecutableInvoker</span></td><td><code>d64b9ef7a154ea95</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ExtensionValuesStore</span></td><td><code>2517eb7835ca6234</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext</span></td><td><code>65be276e3a954a94</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.Builder</span></td><td><code>dd69537274ccbffc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.State</span></td><td><code>38616672a2502408</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ThrowableCollector</span></td><td><code>92102b13561afdcf</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.DisabledCondition</span></td><td><code>a967493a244329fa</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.ExtensionRegistry</span></td><td><code>20b847fc63fd255b</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.RepeatedTestExtension</span></td><td><code>1b7914cc8cf83732</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TestInfoParameterResolver</span></td><td><code>1b5b370a56807cae</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TestReporterParameterResolver</span></td><td><code>839c7c31b3ec6390</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.logging.LoggerFactory</span></td><td><code>ca4e1a8773fb9bed</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.logging.LoggerFactory.DelegatingLogger</span></td><td><code>fd74fe2bb4edddd0</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.AnnotationUtils</span></td><td><code>32499b01efc144e8</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.AnnotationUtils.AnnotationCacheKey</span></td><td><code>f04082259bc4a6ab</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClassLoaderUtils</span></td><td><code>ebded5f4ecebd9d8</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClassUtils</span></td><td><code>4982a89773933a90</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClasspathScanner</span></td><td><code>8425ab535628f6b9</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.CollectionUtils</span></td><td><code>59532d0e14166bc8</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.Preconditions</span></td><td><code>f9207dc44e9d043d</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ReflectionUtils</span></td><td><code>4d39f1033ae8eb12</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ReflectionUtils.HierarchyTraversalMode</span></td><td><code>b267f8ac562d551e</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.StringUtils</span></td><td><code>3441f99393e2406b</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.CompositeFilter</span></td><td><code>d9d6482243cc9fa3</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.CompositeFilter.1</span></td><td><code>75dffc26c0811b9d</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.ExecutionRequest</span></td><td><code>ed3835cc21e5a048</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.Filter</span></td><td><code>f932423ccd3b54bf</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.FilterResult</span></td><td><code>bf731bc7f64ce694</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestDescriptor</span></td><td><code>e9574ca206cded64</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestDescriptor.Type</span></td><td><code>eb97fc5a29f3ee3a</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestExecutionResult</span></td><td><code>abbab174d32db912</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestExecutionResult.Status</span></td><td><code>da0473a55d05e891</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueId</span></td><td><code>d23a178963e86ca7</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueId.Segment</span></td><td><code>54a2765f04c8cab7</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueIdFormat</span></td><td><code>c860ade4b928ce32</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.ClassSelector</span></td><td><code>228aa96d72021db2</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.DiscoverySelectors</span></td><td><code>8fefc6f1651cc3bd</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.AbstractTestDescriptor</span></td><td><code>2bfbf25c43491443</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.ClassSource</span></td><td><code>9727c5551a632c40</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.EngineDescriptor</span></td><td><code>b7dbf6dfb794516c</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.MethodSource</span></td><td><code>0a1b0f0f95f17b77</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.filter.ClasspathScanningSupport</span></td><td><code>8223a02c2b9d8c89</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.ExecutionTracker</span></td><td><code>cbd37bfd76595d62</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine</span></td><td><code>410766a2a07e44b1</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor</span></td><td><code>7b43a475463d740e</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.1</span></td><td><code>197b854565198af0</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.Node</span></td><td><code>8a5379bd364a5bf6</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.Node.SkipResult</span></td><td><code>d4551dfb7a813206</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.SingleTestExecutor</span></td><td><code>d75bd01628eef7be</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.TestIdentifier</span></td><td><code>225bb434f8f223e2</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.TestPlan</span></td><td><code>9a2b71b572924cbc</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultDiscoveryRequest</span></td><td><code>7dda3ad9a0e6a666</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncher</span></td><td><code>1a1f88af87dc6ec1</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ExecutionListenerAdapter</span></td><td><code>52cf3c3c69d4dfba</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters</span></td><td><code>ef55cacb5e47a902</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherDiscoveryRequestBuilder</span></td><td><code>e78a71b91c159e69</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherFactory</span></td><td><code>e2bd67b8a72737b5</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.Root</span></td><td><code>32394ca895f9fb9a</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ServiceLoaderTestEngineRegistry</span></td><td><code>7c054c4cf76cb0f6</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ServiceLoaderTestExecutionListenerRegistry</span></td><td><code>2299bac1075a6bf3</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.TestExecutionListenerRegistry</span></td><td><code>190f4fb2b0ab865d</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.TestExecutionListenerRegistry.CompositeTestExecutionListener</span></td><td><code>7538d2d860e1f9cb</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.LegacyReportingUtils</span></td><td><code>f3c021e100a54063</code></td></tr><tr><td><span class="el_class">sun.text.resources.cldr.ext.FormatData_fr</span></td><td><code>cfe4ef8ff7428512</code></td></tr><tr><td><span class="el_class">sun.util.resources.cldr.provider.CLDRLocaleDataMetaInfo</span></td><td><code>888d0e6a76acb845</code></td></tr><tr><td><span class="el_class">sun.util.resources.provider.LocaleDataProvider</span></td><td><code>36ca29d59ab35e5c</code></td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>Sessions</title></head><body><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="jacoco-sessions.html" class="el_session">Sessions</a></span><a href="index.html" class="el_report">spoteezer</a> &gt; <span class="el_session">Sessions</span></div><h1>Sessions</h1><p>This coverage report is based on execution data from the following sessions:</p><table class="coverage" cellspacing="0"><thead><tr><td>Session</td><td>Start Time</td><td>Dump Time</td></tr></thead><tbody><tr><td><span class="el_session">DESKTOP-M4INQND-b17df68a</span></td><td>27 juin 2021, 11:15:44</td><td>27 juin 2021, 11:15:45</td></tr></tbody></table><p>Execution data for the following classes is considered in this report:</p><table class="coverage" cellspacing="0"><thead><tr><td>Class</td><td>Id</td></tr></thead><tbody><tr><td><span class="el_class">java.sql.Date</span></td><td><code>d25610486aed3f31</code></td></tr><tr><td><span class="el_class">java.sql.Timestamp</span></td><td><code>b848522074600355</code></td></tr><tr><td><a href="musichub.util/LogHandler.html" class="el_class">musichub.util.LogHandler</a></td><td><code>09990b742e8d897c</code></td></tr><tr><td><span class="el_class">musichub.util.LogHandlerTest</span></td><td><code>6f7f85e323011650</code></td></tr><tr><td><a href="musichub.util/PathValidation.html" class="el_class">musichub.util.PathValidation</a></td><td><code>538d6ca0ac9478ad</code></td></tr><tr><td><span class="el_class">musichub.util.PathValidationTest</span></td><td><code>46821ddd8d6598d1</code></td></tr><tr><td><a href="musichub.util/XMLHandler.html" class="el_class">musichub.util.XMLHandler</a></td><td><code>ab2fa919a374fd87</code></td></tr><tr><td><span class="el_class">musichub.util.XMLHandlerTest</span></td><td><code>4852491d32ffd349</code></td></tr><tr><td><span class="el_class">org.apache.maven.plugin.surefire.log.api.NullConsoleLogger</span></td><td><code>80d79e52a7499259</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.AbstractPathConfiguration</span></td><td><code>8182fa1396653f01</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.BaseProviderFactory</span></td><td><code>82593383b8ea92d6</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.BiProperty</span></td><td><code>4945e268841ae2cb</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.BooterDeserializer</span></td><td><code>5e68b147d2c4b22f</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ClassLoaderConfiguration</span></td><td><code>dc8fd5c18ebb0e44</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.Classpath</span></td><td><code>6f6b6469b9fdf4dd</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ClasspathConfiguration</span></td><td><code>4c7a5282c74ba3e2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.Command</span></td><td><code>eb1b53eb8cbe7b47</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.CommandReader</span></td><td><code>0c8d3ca700ec7199</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.CommandReader.1</span></td><td><code>fbfebde20e2b504c</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.CommandReader.CommandRunnable</span></td><td><code>ee59ae4d74408619</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.DumpErrorSingleton</span></td><td><code>a3fa02cb87e0e12b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter</span></td><td><code>a5c33895f0d22838</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.1</span></td><td><code>c87487d278c3ea96</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.2</span></td><td><code>31c66931520df8eb</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.3</span></td><td><code>95d48141fa4dd03d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.4</span></td><td><code>24dcd1c5bcf0d850</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.5</span></td><td><code>862846325c16cf76</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.6</span></td><td><code>b3ab24d3791d84dd</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.7</span></td><td><code>401437f62a3b16ff</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.PingScheduler</span></td><td><code>04bf02021dfc5e9c</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkingReporterFactory</span></td><td><code>076a6c0176f6238b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkingRunListener</span></td><td><code>92d4b034b32ca2c0</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.MasterProcessCommand</span></td><td><code>da65de332c2de19d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.PpidChecker</span></td><td><code>71b8c658da2ea8d3</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.PpidChecker.2</span></td><td><code>68d262a2c2ad8f14</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.PpidChecker.ProcessInfoConsumer</span></td><td><code>73f319c21fab7e7f</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ProcessInfo</span></td><td><code>b5b56cd86f3f0b31</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.PropertiesWrapper</span></td><td><code>ae4bf137cc5290c1</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ProviderConfiguration</span></td><td><code>d19986536a351b50</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.Shutdown</span></td><td><code>ee9c65017e107986</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.StartupConfiguration</span></td><td><code>a8cc10b01ed27439</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.SystemPropertyManager</span></td><td><code>f47497b1dde50d64</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.TypeEncodedValue</span></td><td><code>5ea9766678ac06a2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.cli.CommandLineOption</span></td><td><code>467fc7f51b73863b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.junitplatform.JUnitPlatformProvider</span></td><td><code>89b934b90ec6eb01</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.junitplatform.RunListenerAdapter</span></td><td><code>02cb8e87a6db2057</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.junitplatform.TestPlanScannerFilter</span></td><td><code>622558f718a42827</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.providerapi.AbstractProvider</span></td><td><code>90f3b08fe8a1c87c</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ConsoleOutputCapture</span></td><td><code>b8ae904ed8536017</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ConsoleOutputCapture.ForwardingPrintStream</span></td><td><code>f912ea5d2dac308e</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ConsoleOutputCapture.NullOutputStream</span></td><td><code>8d05eb67510fd586</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ReporterConfiguration</span></td><td><code>4281487891f02f69</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.SimpleReportEntry</span></td><td><code>ced572f24a462295</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.io.IOUtils</span></td><td><code>31aed2fcfab3e082</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.io.output.StringBuilderWriter</span></td><td><code>6d33fec8cb3374c0</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.lang3.JavaVersion</span></td><td><code>a8452005cb20bb7d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.lang3.StringUtils</span></td><td><code>4f785afa8bb3a23f</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.lang3.SystemUtils</span></td><td><code>aba69a973b7ba06a</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.lang3.math.NumberUtils</span></td><td><code>d0156407bff7b695</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.maven.shared.utils.StringUtils</span></td><td><code>483d14212b21a3ea</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.suite.RunResult</span></td><td><code>f5c7c53a954bcafa</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.DirectoryScannerParameters</span></td><td><code>2b5eeacae469cd1d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.IncludedExcludedPatterns</span></td><td><code>f39908e3b64d7090</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.ResolvedTest</span></td><td><code>a598483e424232d4</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.ResolvedTest.ClassMatcher</span></td><td><code>79be7f2fa77ad8d7</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.ResolvedTest.MethodMatcher</span></td><td><code>7c71374a51e8e61b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.ResolvedTest.Type</span></td><td><code>90e4214668937845</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.RunOrderParameters</span></td><td><code>b4c06223c3099700</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.TestArtifactInfo</span></td><td><code>f703953620e80b33</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.TestListResolver</span></td><td><code>7d372c99b98a147d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.TestRequest</span></td><td><code>0fa2c0cc34345df2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.CloseableIterator</span></td><td><code>cc15bdebae86d5d2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.DefaultRunOrderCalculator</span></td><td><code>1aeecbcd3bf6e89b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.DefaultScanResult</span></td><td><code>7fefafdf8c793c36</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.ReflectionUtils</span></td><td><code>8d5f4b05d6d77207</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.RunOrder</span></td><td><code>d2292a6beb4b6337</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.TestsToRun</span></td><td><code>a95363e4b4ba2069</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.TestsToRun.ClassesIterator</span></td><td><code>84a139c598502c0b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.DaemonThreadFactory</span></td><td><code>21a589f6dedb169c</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.DaemonThreadFactory.NamedThreadFactory</span></td><td><code>682458ca85b067a3</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.DumpFileUtils</span></td><td><code>fff19f49be3d8149</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.ImmutableMap</span></td><td><code>72bcae5e55b4fabb</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.ObjectUtils</span></td><td><code>69a2a92649b44645</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.StringUtils</span></td><td><code>3a7e4daf0a993e1e</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.StringUtils.EncodedArray</span></td><td><code>477f1d94d78cb50b</code></td></tr><tr><td><span class="el_class">org.apiguardian.api.API.Status</span></td><td><code>0341e8d99fc36573</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertEquals</span></td><td><code>12bfbbf2e4327e63</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertFalse</span></td><td><code>32fea5a28fb6a114</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertTrue</span></td><td><code>612f68f7274dd69c</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertionUtils</span></td><td><code>da37ffd9f98016fd</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.Assertions</span></td><td><code>041279bcf2826fff</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.TestInstance.Lifecycle</span></td><td><code>0e93858cc703e9fc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ConditionEvaluationResult</span></td><td><code>2f9dc9ea54b57975</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ExtensionContext</span></td><td><code>222e1fc44c4844aa</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.DiscoveryFilterApplier</span></td><td><code>ae96a3ff3c2e2bc4</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.JupiterTestEngine</span></td><td><code>c74f725c8cb223be</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.AbstractExtensionContext</span></td><td><code>1f7ed0b87a9f2cca</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ClassExtensionContext</span></td><td><code>b85422abe06bbadd</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ClassTestDescriptor</span></td><td><code>61a635a4acc3ee31</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterEngineDescriptor</span></td><td><code>d025635c09450d0d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterEngineExtensionContext</span></td><td><code>7ae853fe3a80d83c</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterTestDescriptor</span></td><td><code>606e5ec97816bda5</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.LifecycleMethodUtils</span></td><td><code>19c9fba5accef0fa</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.MethodBasedTestDescriptor</span></td><td><code>65654838f58d8b44</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.MethodExtensionContext</span></td><td><code>c098f6d0bb344d56</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.TestInstanceLifecycleUtils</span></td><td><code>c42bb138e6a06252</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor</span></td><td><code>54eb6a19bd953962</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.AbstractMethodResolver</span></td><td><code>3934f16bf877b9f5</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.DiscoverySelectorResolver</span></td><td><code>a858789f976fefbc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.JavaElementsResolver</span></td><td><code>32e9ea682e77049d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodFinder</span></td><td><code>5ea468d2eb528361</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.NestedTestsResolver</span></td><td><code>9d92451ae793af41</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.TestContainerResolver</span></td><td><code>7db010f5e9c7301d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.TestFactoryMethodResolver</span></td><td><code>59fd27320e375440</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.TestMethodResolver</span></td><td><code>1417c6356fa4b27f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.TestTemplateMethodResolver</span></td><td><code>47563eb55cd35171</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsInnerClass</span></td><td><code>f7d9846d00228720</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsNestedTestClass</span></td><td><code>e47ff7cd33073803</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsPotentialTestContainer</span></td><td><code>0f8df015b2d5841a</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsScannableTestClass</span></td><td><code>839db992754219f6</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestClassWithTests</span></td><td><code>5ab134cc6ef3a81f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestFactoryMethod</span></td><td><code>a2c68978bd6bfbc6</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestMethod</span></td><td><code>8b244977e441886e</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestTemplateMethod</span></td><td><code>0baf1066bf0cbad7</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestableMethod</span></td><td><code>59a0b58a40803fe2</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ConditionEvaluator</span></td><td><code>fba35d945644501d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ExecutableInvoker</span></td><td><code>d64b9ef7a154ea95</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ExtensionValuesStore</span></td><td><code>2517eb7835ca6234</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext</span></td><td><code>65be276e3a954a94</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.Builder</span></td><td><code>dd69537274ccbffc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.State</span></td><td><code>38616672a2502408</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ThrowableCollector</span></td><td><code>92102b13561afdcf</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.DisabledCondition</span></td><td><code>a967493a244329fa</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.ExtensionRegistry</span></td><td><code>20b847fc63fd255b</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.RepeatedTestExtension</span></td><td><code>1b7914cc8cf83732</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TestInfoParameterResolver</span></td><td><code>1b5b370a56807cae</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TestReporterParameterResolver</span></td><td><code>839c7c31b3ec6390</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.logging.LoggerFactory</span></td><td><code>ca4e1a8773fb9bed</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.logging.LoggerFactory.DelegatingLogger</span></td><td><code>fd74fe2bb4edddd0</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.AnnotationUtils</span></td><td><code>32499b01efc144e8</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.AnnotationUtils.AnnotationCacheKey</span></td><td><code>f04082259bc4a6ab</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClassLoaderUtils</span></td><td><code>ebded5f4ecebd9d8</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClassUtils</span></td><td><code>4982a89773933a90</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClasspathScanner</span></td><td><code>8425ab535628f6b9</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.CollectionUtils</span></td><td><code>59532d0e14166bc8</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.Preconditions</span></td><td><code>f9207dc44e9d043d</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ReflectionUtils</span></td><td><code>4d39f1033ae8eb12</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ReflectionUtils.HierarchyTraversalMode</span></td><td><code>b267f8ac562d551e</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.StringUtils</span></td><td><code>3441f99393e2406b</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.CompositeFilter</span></td><td><code>d9d6482243cc9fa3</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.CompositeFilter.1</span></td><td><code>75dffc26c0811b9d</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.ExecutionRequest</span></td><td><code>ed3835cc21e5a048</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.Filter</span></td><td><code>f932423ccd3b54bf</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.FilterResult</span></td><td><code>bf731bc7f64ce694</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestDescriptor</span></td><td><code>e9574ca206cded64</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestDescriptor.Type</span></td><td><code>eb97fc5a29f3ee3a</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestExecutionResult</span></td><td><code>abbab174d32db912</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestExecutionResult.Status</span></td><td><code>da0473a55d05e891</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueId</span></td><td><code>d23a178963e86ca7</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueId.Segment</span></td><td><code>54a2765f04c8cab7</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueIdFormat</span></td><td><code>c860ade4b928ce32</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.ClassSelector</span></td><td><code>228aa96d72021db2</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.DiscoverySelectors</span></td><td><code>8fefc6f1651cc3bd</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.AbstractTestDescriptor</span></td><td><code>2bfbf25c43491443</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.ClassSource</span></td><td><code>9727c5551a632c40</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.EngineDescriptor</span></td><td><code>b7dbf6dfb794516c</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.MethodSource</span></td><td><code>0a1b0f0f95f17b77</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.filter.ClasspathScanningSupport</span></td><td><code>8223a02c2b9d8c89</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.ExecutionTracker</span></td><td><code>cbd37bfd76595d62</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine</span></td><td><code>410766a2a07e44b1</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor</span></td><td><code>7b43a475463d740e</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.1</span></td><td><code>197b854565198af0</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.Node</span></td><td><code>8a5379bd364a5bf6</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.Node.SkipResult</span></td><td><code>d4551dfb7a813206</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.SingleTestExecutor</span></td><td><code>d75bd01628eef7be</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.TestIdentifier</span></td><td><code>225bb434f8f223e2</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.TestPlan</span></td><td><code>9a2b71b572924cbc</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultDiscoveryRequest</span></td><td><code>7dda3ad9a0e6a666</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncher</span></td><td><code>1a1f88af87dc6ec1</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ExecutionListenerAdapter</span></td><td><code>52cf3c3c69d4dfba</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters</span></td><td><code>ef55cacb5e47a902</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherDiscoveryRequestBuilder</span></td><td><code>e78a71b91c159e69</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherFactory</span></td><td><code>e2bd67b8a72737b5</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.Root</span></td><td><code>32394ca895f9fb9a</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ServiceLoaderTestEngineRegistry</span></td><td><code>7c054c4cf76cb0f6</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ServiceLoaderTestExecutionListenerRegistry</span></td><td><code>2299bac1075a6bf3</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.TestExecutionListenerRegistry</span></td><td><code>190f4fb2b0ab865d</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.TestExecutionListenerRegistry.CompositeTestExecutionListener</span></td><td><code>7538d2d860e1f9cb</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.LegacyReportingUtils</span></td><td><code>f3c021e100a54063</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.AbstractCharsetProvider</span></td><td><code>9a72c9e39fdac365</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.Big5</span></td><td><code>7f7799a4239d3d01</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.EUC_CN</span></td><td><code>daed57327edf3023</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.EUC_JP</span></td><td><code>f0c718c92ac0cabc</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.EUC_KR</span></td><td><code>3d50c0e84dcd54e6</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.EUC_TW</span></td><td><code>4fbeba8ab3b0661e</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.ExtendedCharsets</span></td><td><code>7715d4380ab405a8</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM037</span></td><td><code>b9b8c9ec2e056149</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM1047</span></td><td><code>e368b4c70681ed2e</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM277</span></td><td><code>7b5b55809ca60de9</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM278</span></td><td><code>326393dad6851723</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM280</span></td><td><code>9d9334ffd18e4e40</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM284</span></td><td><code>01c4a83f23f1b53d</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM285</span></td><td><code>be059d13431c468f</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM297</span></td><td><code>09fd5ed2f7ce33cb</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM420</span></td><td><code>dfa9e617bd0f689b</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM424</span></td><td><code>edd26be1d2ed5a00</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM500</span></td><td><code>58b3c90789d546a5</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM860</span></td><td><code>4bc938afb837212f</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM870</span></td><td><code>ad9dcff6cd8f8661</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM871</span></td><td><code>ef144f207fc359f5</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM918</span></td><td><code>a83d0db73f26c654</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.ISO2022</span></td><td><code>92bf931cea04ba69</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.ISO2022_JP</span></td><td><code>4839eaacbb85c150</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.ISO2022_KR</span></td><td><code>e2e5b9cbb3d44823</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.ISO_8859_11</span></td><td><code>cb3ce4182f6717e0</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.ISO_8859_3</span></td><td><code>550e89cba9076937</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.ISO_8859_6</span></td><td><code>7e467e744bd3ad13</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.ISO_8859_8</span></td><td><code>bb93af1e031c8697</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.MacRoman</span></td><td><code>7007321b9dd9c10d</code></td></tr><tr><td><span class="el_class">sun.text.resources.cldr.ext.FormatData_fr</span></td><td><code>cfe4ef8ff7428512</code></td></tr><tr><td><span class="el_class">sun.util.resources.cldr.provider.CLDRLocaleDataMetaInfo</span></td><td><code>888d0e6a76acb845</code></td></tr><tr><td><span class="el_class">sun.util.resources.provider.LocaleDataProvider</span></td><td><code>36ca29d59ab35e5c</code></td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/jacoco.csv b/target/site/jacoco/jacoco.csv
          index 6466855..f93071b 100644
          --- a/target/site/jacoco/jacoco.csv
          +++ b/target/site/jacoco/jacoco.csv
          @@ -1,7 +1,7 @@
           GROUP,PACKAGE,CLASS,INSTRUCTION_MISSED,INSTRUCTION_COVERED,BRANCH_MISSED,BRANCH_COVERED,LINE_MISSED,LINE_COVERED,COMPLEXITY_MISSED,COMPLEXITY_COVERED,METHOD_MISSED,METHOD_COVERED
           spoteezer,musichub.util,PathValidation,0,17,0,0,0,4,0,2,0,2
           spoteezer,musichub.util,LogHandler,0,46,0,0,0,11,0,3,0,3
          -spoteezer,musichub.util,XMLHandler,72,0,0,0,25,0,4,0,4,0
          +spoteezer,musichub.util,XMLHandler,6,66,0,0,4,21,0,4,0,4
           spoteezer,musichub.business,Album,330,0,14,0,84,0,16,0,9,0
           spoteezer,musichub.business,SortByAuthor,9,0,0,0,2,0,2,0,2,0
           spoteezer,musichub.business,NoAlbumFoundException,4,0,0,0,2,0,1,0,1,0
          diff --git a/target/site/jacoco/jacoco.xml b/target/site/jacoco/jacoco.xml
          index 2e46b55..9188cdf 100644
          --- a/target/site/jacoco/jacoco.xml
          +++ b/target/site/jacoco/jacoco.xml
          @@ -1 +1 @@
          -<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!DOCTYPE report PUBLIC "-//JACOCO//DTD Report 1.1//EN" "report.dtd"><report name="spoteezer"><sessioninfo id="DESKTOP-M4INQND-be4b9e12" start="1624737985817" dump="1624737986228"/><sessioninfo id="DESKTOP-M4INQND-4db7b834" start="1624737998088" dump="1624737998495"/><package name="musichub/util"><class name="musichub/util/PathValidation" sourcefilename="PathValidation.java"><method name="&lt;init&gt;" desc="()V" line="23"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isPathValid" desc="(Ljava/lang/String;)Z" line="35"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="musichub/util/LogHandler" sourcefilename="LogHandler.java"><method name="&lt;init&gt;" desc="()V" line="25"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="write" desc="(Ljava/lang/String;Ljava/lang/String;)V" line="37"><counter type="INSTRUCTION" missed="0" covered="26"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="read" desc="()V" line="56"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="46"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="musichub/util/XMLHandler" sourcefilename="XMLHandler.java"><method name="&lt;init&gt;" desc="()V" line="26"><counter type="INSTRUCTION" missed="23" covered="0"/><counter type="LINE" missed="9" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createXMLFile" desc="(Lorg/w3c/dom/Document;Ljava/lang/String;)V" line="41"><counter type="INSTRUCTION" missed="23" covered="0"/><counter type="LINE" missed="7" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createXMLDocument" desc="()Lorg/w3c/dom/Document;" line="57"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="parseXMLFile" desc="(Ljava/lang/String;)Lorg/w3c/dom/NodeList;" line="61"><counter type="INSTRUCTION" missed="22" covered="0"/><counter type="LINE" missed="8" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="72" covered="0"/><counter type="LINE" missed="25" covered="0"/><counter type="COMPLEXITY" missed="4" covered="0"/><counter type="METHOD" missed="4" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><sourcefile name="PathValidation.java"><line nr="23" mi="0" ci="2" mb="0" cb="0"/><line nr="24" mi="0" ci="5" mb="0" cb="0"/><line nr="35" mi="0" ci="5" mb="0" cb="0"/><line nr="36" mi="0" ci="5" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="LogHandler.java"><line nr="25" mi="0" ci="2" mb="0" cb="0"/><line nr="26" mi="0" ci="5" mb="0" cb="0"/><line nr="37" mi="0" ci="5" mb="0" cb="0"/><line nr="40" mi="0" ci="5" mb="0" cb="0"/><line nr="43" mi="0" ci="5" mb="0" cb="0"/><line nr="46" mi="0" ci="10" mb="0" cb="0"/><line nr="49" mi="0" ci="1" mb="0" cb="0"/><line nr="56" mi="0" ci="5" mb="0" cb="0"/><line nr="59" mi="0" ci="3" mb="0" cb="0"/><line nr="62" mi="0" ci="4" mb="0" cb="0"/><line nr="64" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="46"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="XMLHandler.java"><line nr="26" mi="2" ci="0" mb="0" cb="0"/><line nr="28" mi="3" ci="0" mb="0" cb="0"/><line nr="29" mi="5" ci="0" mb="0" cb="0"/><line nr="30" mi="3" ci="0" mb="0" cb="0"/><line nr="31" mi="5" ci="0" mb="0" cb="0"/><line nr="32" mi="1" ci="0" mb="0" cb="0"/><line nr="33" mi="2" ci="0" mb="0" cb="0"/><line nr="34" mi="1" ci="0" mb="0" cb="0"/><line nr="35" mi="1" ci="0" mb="0" cb="0"/><line nr="41" mi="5" ci="0" mb="0" cb="0"/><line nr="42" mi="8" ci="0" mb="0" cb="0"/><line nr="49" mi="5" ci="0" mb="0" cb="0"/><line nr="51" mi="1" ci="0" mb="0" cb="0"/><line nr="52" mi="2" ci="0" mb="0" cb="0"/><line nr="53" mi="1" ci="0" mb="0" cb="0"/><line nr="54" mi="1" ci="0" mb="0" cb="0"/><line nr="57" mi="4" ci="0" mb="0" cb="0"/><line nr="61" mi="2" ci="0" mb="0" cb="0"/><line nr="63" mi="8" ci="0" mb="0" cb="0"/><line nr="64" mi="3" ci="0" mb="0" cb="0"/><line nr="66" mi="3" ci="0" mb="0" cb="0"/><line nr="67" mi="1" ci="0" mb="0" cb="0"/><line nr="68" mi="2" ci="0" mb="0" cb="0"/><line nr="69" mi="1" ci="0" mb="0" cb="0"/><line nr="70" mi="2" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="72" covered="0"/><counter type="LINE" missed="25" covered="0"/><counter type="COMPLEXITY" missed="4" covered="0"/><counter type="METHOD" missed="4" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><counter type="INSTRUCTION" missed="72" covered="63"/><counter type="LINE" missed="25" covered="15"/><counter type="COMPLEXITY" missed="4" covered="5"/><counter type="METHOD" missed="4" covered="5"/><counter type="CLASS" missed="1" covered="2"/></package><package name="musichub/business"><class name="musichub/business/Album" sourcefilename="Album.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/util/ArrayList;)V" line="21"><counter type="INSTRUCTION" missed="33" covered="0"/><counter type="LINE" missed="12" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V" line="35"><counter type="INSTRUCTION" missed="34" covered="0"/><counter type="LINE" missed="12" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Lorg/w3c/dom/Element;)V" line="49"><counter type="INSTRUCTION" missed="112" covered="0"/><counter type="BRANCH" missed="12" covered="0"/><counter type="LINE" missed="26" covered="0"/><counter type="COMPLEXITY" missed="7" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addSong" desc="(Ljava/util/UUID;)V" line="89"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getSongs" desc="()Ljava/util/List;" line="94"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getSongsRandomly" desc="()Ljava/util/ArrayList;" line="98"><counter type="INSTRUCTION" missed="7" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getTitle" desc="()Ljava/lang/String;" line="104"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getDate" desc="()Ljava/util/Date;" line="108"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createXMLElement" desc="(Lorg/w3c/dom/Document;Lorg/w3c/dom/Element;)V" line="112"><counter type="INSTRUCTION" missed="129" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="26" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="330" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="84" covered="0"/><counter type="COMPLEXITY" missed="16" covered="0"/><counter type="METHOD" missed="9" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/SortByAuthor" sourcefilename="MusicHub.java"><method name="&lt;init&gt;" desc="()V" line="27"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="compare" desc="(Lmusichub/business/AudioElement;Lmusichub/business/AudioElement;)I" line="29"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="9" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/NoAlbumFoundException" sourcefilename="NoAlbumFoundException.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="6"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/Language" sourcefilename="Language.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;ILjava/lang/String;)V" line="7"><counter type="INSTRUCTION" missed="8" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getLanguage" desc="()Ljava/lang/String;" line="12"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="3"><counter type="INSTRUCTION" missed="38" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="49" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/SortByDate" sourcefilename="MusicHub.java"><method name="&lt;init&gt;" desc="()V" line="15"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="compare" desc="(Lmusichub/business/Album;Lmusichub/business/Album;)I" line="17"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="9" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/MusicHub" sourcefilename="MusicHub.java"><method name="&lt;init&gt;" desc="()V" line="41"><counter type="INSTRUCTION" missed="29" covered="0"/><counter type="LINE" missed="9" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addElement" desc="(Lmusichub/business/AudioElement;)V" line="53"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addAlbum" desc="(Lmusichub/business/Album;)V" line="57"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addPlaylist" desc="(Lmusichub/business/PlayList;)V" line="61"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="deletePlayList" desc="(Ljava/lang/String;)V" line="66"><counter type="INSTRUCTION" missed="40" covered="0"/><counter type="BRANCH" missed="8" covered="0"/><counter type="LINE" missed="11" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="albums" desc="()Ljava/util/Iterator;" line="81"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="playlists" desc="()Ljava/util/Iterator;" line="85"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="elements" desc="()Ljava/util/Iterator;" line="89"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAlbumsTitlesSortedByDate" desc="()Ljava/lang/String;" line="93"><counter type="INSTRUCTION" missed="32" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAudiobooksTitlesSortedByAuthor" desc="()Ljava/lang/String;" line="101"><counter type="INSTRUCTION" missed="53" covered="0"/><counter type="BRANCH" missed="6" covered="0"/><counter type="LINE" missed="9" covered="0"/><counter type="COMPLEXITY" missed="4" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAlbumSongs" desc="(Ljava/lang/String;)Ljava/util/List;" line="113"><counter type="INSTRUCTION" missed="73" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="15" covered="0"/><counter type="COMPLEXITY" missed="8" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAlbumSongsSortedByGenre" desc="(Ljava/lang/String;)Ljava/util/List;" line="135"><counter type="INSTRUCTION" missed="79" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="16" covered="0"/><counter type="COMPLEXITY" missed="8" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addElementToAlbum" desc="(Ljava/lang/String;Ljava/lang/String;)V" line="158"><counter type="INSTRUCTION" missed="82" covered="0"/><counter type="BRANCH" missed="12" covered="0"/><counter type="LINE" missed="20" covered="0"/><counter type="COMPLEXITY" missed="7" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addElementToPlayList" desc="(Ljava/lang/String;Ljava/lang/String;)V" line="187"><counter type="INSTRUCTION" missed="82" covered="0"/><counter type="BRANCH" missed="12" covered="0"/><counter type="LINE" missed="20" covered="0"/><counter type="COMPLEXITY" missed="7" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="loadAlbums" desc="()V" line="218"><counter type="INSTRUCTION" missed="44" covered="0"/><counter type="BRANCH" missed="8" covered="0"/><counter type="LINE" missed="11" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="loadPlaylists" desc="()V" line="236"><counter type="INSTRUCTION" missed="44" covered="0"/><counter type="BRANCH" missed="8" covered="0"/><counter type="LINE" missed="11" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="loadElements" desc="()V" line="254"><counter type="INSTRUCTION" missed="64" covered="0"/><counter type="BRANCH" missed="10" covered="0"/><counter type="LINE" missed="18" covered="0"/><counter type="COMPLEXITY" missed="6" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="saveAlbums" desc="()V" line="282"><counter type="INSTRUCTION" missed="36" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="10" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="savePlayLists" desc="()V" line="298"><counter type="INSTRUCTION" missed="36" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="10" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="saveElements" desc="()V" line="314"><counter type="INSTRUCTION" missed="47" covered="0"/><counter type="BRANCH" missed="8" covered="0"/><counter type="LINE" missed="12" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAudioElement" desc="(Ljava/util/List;Ljava/lang/String;)V" line="335"><counter type="INSTRUCTION" missed="19" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="34"><counter type="INSTRUCTION" missed="13" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="803" covered="0"/><counter type="BRANCH" missed="114" covered="0"/><counter type="LINE" missed="195" covered="0"/><counter type="COMPLEXITY" missed="79" covered="0"/><counter type="METHOD" missed="22" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/Category" sourcefilename="Category.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;ILjava/lang/String;)V" line="7"><counter type="INSTRUCTION" missed="8" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getCategory" desc="()Ljava/lang/String;" line="12"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="3"><counter type="INSTRUCTION" missed="38" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="49" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/Song" sourcefilename="Song.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" line="11"><counter type="INSTRUCTION" missed="11" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V" line="16"><counter type="INSTRUCTION" missed="10" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Lorg/w3c/dom/Element;)V" line="21"><counter type="INSTRUCTION" missed="12" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getGenre" desc="()Ljava/lang/String;" line="26"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="setGenre" desc="(Ljava/lang/String;)V" line="30"><counter type="INSTRUCTION" missed="33" covered="0"/><counter type="BRANCH" missed="6" covered="0"/><counter type="LINE" missed="8" covered="0"/><counter type="COMPLEXITY" missed="6" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="toString" desc="()Ljava/lang/String;" line="41"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createXMLElement" desc="(Lorg/w3c/dom/Document;Lorg/w3c/dom/Element;)V" line="46"><counter type="INSTRUCTION" missed="29" covered="0"/><counter type="LINE" missed="7" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="105" covered="0"/><counter type="BRANCH" missed="6" covered="0"/><counter type="LINE" missed="26" covered="0"/><counter type="COMPLEXITY" missed="12" covered="0"/><counter type="METHOD" missed="7" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/NoPlayListFoundException" sourcefilename="NoPlayListFoundException.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="6"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/PlayList" sourcefilename="PlayList.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/util/ArrayList;)V" line="16"><counter type="INSTRUCTION" missed="13" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="22"><counter type="INSTRUCTION" missed="14" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Lorg/w3c/dom/Element;)V" line="28"><counter type="INSTRUCTION" missed="88" covered="0"/><counter type="BRANCH" missed="12" covered="0"/><counter type="LINE" missed="23" covered="0"/><counter type="COMPLEXITY" missed="7" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addElement" desc="(Ljava/util/UUID;)V" line="66"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getElements" desc="()Ljava/util/ArrayList;" line="70"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getTitle" desc="()Ljava/lang/String;" line="74"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createXMLElement" desc="(Lorg/w3c/dom/Document;Lorg/w3c/dom/Element;)V" line="78"><counter type="INSTRUCTION" missed="75" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="16" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="202" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="53" covered="0"/><counter type="COMPLEXITY" missed="14" covered="0"/><counter type="METHOD" missed="7" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/AudioBook" sourcefilename="AudioBook.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" line="11"><counter type="INSTRUCTION" missed="14" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" line="17"><counter type="INSTRUCTION" missed="13" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Lorg/w3c/dom/Element;)V" line="23"><counter type="INSTRUCTION" missed="20" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getLanguage" desc="()Lmusichub/business/Language;" line="29"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="setLanguage" desc="(Ljava/lang/String;)V" line="33"><counter type="INSTRUCTION" missed="29" covered="0"/><counter type="BRANCH" missed="5" covered="0"/><counter type="LINE" missed="7" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getCategory" desc="()Lmusichub/business/Category;" line="43"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="setCategory" desc="(Ljava/lang/String;)V" line="47"><counter type="INSTRUCTION" missed="29" covered="0"/><counter type="BRANCH" missed="5" covered="0"/><counter type="LINE" missed="7" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="toString" desc="()Ljava/lang/String;" line="58"><counter type="INSTRUCTION" missed="8" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createXMLElement" desc="(Lorg/w3c/dom/Document;Lorg/w3c/dom/Element;)V" line="64"><counter type="INSTRUCTION" missed="45" covered="0"/><counter type="LINE" missed="10" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="164" covered="0"/><counter type="BRANCH" missed="10" covered="0"/><counter type="LINE" missed="39" covered="0"/><counter type="COMPLEXITY" missed="17" covered="0"/><counter type="METHOD" missed="9" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/SortByGenre" sourcefilename="MusicHub.java"><method name="&lt;init&gt;" desc="()V" line="21"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="compare" desc="(Lmusichub/business/Song;Lmusichub/business/Song;)I" line="23"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="9" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/NoElementFoundException" sourcefilename="NoElementFoundException.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="6"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/Genre" sourcefilename="Genre.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;ILjava/lang/String;)V" line="7"><counter type="INSTRUCTION" missed="8" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getGenre" desc="()Ljava/lang/String;" line="12"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="3"><counter type="INSTRUCTION" missed="45" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="56" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/AudioElement" sourcefilename="AudioElement.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V" line="24"><counter type="INSTRUCTION" missed="19" covered="0"/><counter type="LINE" missed="7" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V" line="32"><counter type="INSTRUCTION" missed="18" covered="0"/><counter type="LINE" missed="7" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Lorg/w3c/dom/Element;)V" line="40"><counter type="INSTRUCTION" missed="63" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="14" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getUUID" desc="()Ljava/util/UUID;" line="59"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getArtist" desc="()Ljava/lang/String;" line="63"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getTitle" desc="()Ljava/lang/String;" line="67"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="toString" desc="()Ljava/lang/String;" line="71"><counter type="INSTRUCTION" missed="10" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createXMLElement" desc="(Lorg/w3c/dom/Document;Lorg/w3c/dom/Element;)V" line="75"><counter type="INSTRUCTION" missed="79" covered="0"/><counter type="LINE" missed="16" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="manageAudioElement" desc="()V" line="99"><counter type="INSTRUCTION" missed="68" covered="0"/><counter type="BRANCH" missed="7" covered="0"/><counter type="LINE" missed="24" covered="0"/><counter type="COMPLEXITY" missed="6" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="266" covered="0"/><counter type="BRANCH" missed="11" covered="0"/><counter type="LINE" missed="72" covered="0"/><counter type="COMPLEXITY" missed="16" covered="0"/><counter type="METHOD" missed="9" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><sourcefile name="MusicHub.java"><line nr="15" mi="3" ci="0" mb="0" cb="0"/><line nr="17" mi="6" ci="0" mb="0" cb="0"/><line nr="21" mi="3" ci="0" mb="0" cb="0"/><line nr="23" mi="6" ci="0" mb="0" cb="0"/><line nr="27" mi="3" ci="0" mb="0" cb="0"/><line nr="29" mi="6" ci="0" mb="0" cb="0"/><line nr="34" mi="3" ci="0" mb="0" cb="0"/><line nr="35" mi="3" ci="0" mb="0" cb="0"/><line nr="36" mi="3" ci="0" mb="0" cb="0"/><line nr="37" mi="4" ci="0" mb="0" cb="0"/><line nr="41" mi="5" ci="0" mb="0" cb="0"/><line nr="43" mi="2" ci="0" mb="0" cb="0"/><line nr="44" mi="5" ci="0" mb="0" cb="0"/><line nr="45" mi="5" ci="0" mb="0" cb="0"/><line nr="46" mi="5" ci="0" mb="0" cb="0"/><line nr="47" mi="2" ci="0" mb="0" cb="0"/><line nr="48" mi="2" ci="0" mb="0" cb="0"/><line nr="49" mi="2" ci="0" mb="0" cb="0"/><line nr="50" mi="1" ci="0" mb="0" cb="0"/><line nr="53" mi="5" ci="0" mb="0" cb="0"/><line nr="54" mi="1" ci="0" mb="0" cb="0"/><line nr="57" mi="5" ci="0" mb="0" cb="0"/><line nr="58" mi="1" ci="0" mb="0" cb="0"/><line nr="61" mi="5" ci="0" mb="0" cb="0"/><line nr="62" mi="1" ci="0" mb="0" cb="0"/><line nr="66" mi="2" ci="0" mb="0" cb="0"/><line nr="67" mi="2" ci="0" mb="0" cb="0"/><line nr="68" mi="11" ci="0" mb="2" cb="0"/><line nr="69" mi="5" ci="0" mb="2" cb="0"/><line nr="70" mi="2" ci="0" mb="0" cb="0"/><line nr="71" mi="1" ci="0" mb="0" cb="0"/><line nr="73" mi="1" ci="0" mb="0" cb="0"/><line nr="75" mi="2" ci="0" mb="2" cb="0"/><line nr="76" mi="5" ci="0" mb="0" cb="0"/><line nr="77" mi="8" ci="0" mb="2" cb="0"/><line nr="78" mi="1" ci="0" mb="0" cb="0"/><line nr="81" mi="4" ci="0" mb="0" cb="0"/><line nr="85" mi="4" ci="0" mb="0" cb="0"/><line nr="89" mi="4" ci="0" mb="0" cb="0"/><line nr="93" mi="4" ci="0" mb="0" cb="0"/><line nr="94" mi="6" ci="0" mb="0" cb="0"/><line nr="95" mi="11" ci="0" mb="2" cb="0"/><line nr="96" mi="8" ci="0" mb="0" cb="0"/><line nr="97" mi="3" ci="0" mb="0" cb="0"/><line nr="101" mi="4" ci="0" mb="0" cb="0"/><line nr="102" mi="4" ci="0" mb="0" cb="0"/><line nr="103" mi="11" ci="0" mb="2" cb="0"/><line nr="104" mi="4" ci="0" mb="2" cb="0"/><line nr="105" mi="4" ci="0" mb="0" cb="0"/><line nr="106" mi="5" ci="0" mb="0" cb="0"/><line nr="107" mi="10" ci="0" mb="2" cb="0"/><line nr="108" mi="8" ci="0" mb="0" cb="0"/><line nr="109" mi="3" ci="0" mb="0" cb="0"/><line nr="113" mi="2" ci="0" mb="0" cb="0"/><line nr="114" mi="4" ci="0" mb="0" cb="0"/><line nr="115" mi="11" ci="0" mb="2" cb="0"/><line nr="116" mi="5" ci="0" mb="2" cb="0"/><line nr="117" mi="2" ci="0" mb="0" cb="0"/><line nr="118" mi="1" ci="0" mb="0" cb="0"/><line nr="120" mi="1" ci="0" mb="0" cb="0"/><line nr="121" mi="7" ci="0" mb="2" cb="0"/><line nr="123" mi="3" ci="0" mb="0" cb="0"/><line nr="124" mi="10" ci="0" mb="2" cb="0"/><line nr="125" mi="12" ci="0" mb="2" cb="0"/><line nr="126" mi="3" ci="0" mb="2" cb="0"/><line nr="127" mi="9" ci="0" mb="2" cb="0"/><line nr="129" mi="1" ci="0" mb="0" cb="0"/><line nr="130" mi="2" ci="0" mb="0" cb="0"/><line nr="135" mi="2" ci="0" mb="0" cb="0"/><line nr="136" mi="4" ci="0" mb="0" cb="0"/><line nr="137" mi="11" ci="0" mb="2" cb="0"/><line nr="138" mi="5" ci="0" mb="2" cb="0"/><line nr="139" mi="2" ci="0" mb="0" cb="0"/><line nr="140" mi="1" ci="0" mb="0" cb="0"/><line nr="142" mi="1" ci="0" mb="0" cb="0"/><line nr="143" mi="7" ci="0" mb="2" cb="0"/><line nr="145" mi="3" ci="0" mb="0" cb="0"/><line nr="146" mi="10" ci="0" mb="2" cb="0"/><line nr="147" mi="12" ci="0" mb="2" cb="0"/><line nr="148" mi="3" ci="0" mb="2" cb="0"/><line nr="149" mi="10" ci="0" mb="2" cb="0"/><line nr="151" mi="1" ci="0" mb="0" cb="0"/><line nr="152" mi="5" ci="0" mb="0" cb="0"/><line nr="153" mi="2" ci="0" mb="0" cb="0"/><line nr="158" mi="2" ci="0" mb="0" cb="0"/><line nr="160" mi="2" ci="0" mb="0" cb="0"/><line nr="161" mi="9" ci="0" mb="2" cb="0"/><line nr="162" mi="9" ci="0" mb="2" cb="0"/><line nr="163" mi="6" ci="0" mb="0" cb="0"/><line nr="164" mi="2" ci="0" mb="0" cb="0"/><line nr="165" mi="1" ci="0" mb="0" cb="0"/><line nr="169" mi="2" ci="0" mb="2" cb="0"/><line nr="170" mi="2" ci="0" mb="0" cb="0"/><line nr="171" mi="11" ci="0" mb="2" cb="0"/><line nr="172" mi="5" ci="0" mb="2" cb="0"/><line nr="173" mi="2" ci="0" mb="0" cb="0"/><line nr="174" mi="1" ci="0" mb="0" cb="0"/><line nr="176" mi="1" ci="0" mb="0" cb="0"/><line nr="177" mi="2" ci="0" mb="2" cb="0"/><line nr="178" mi="4" ci="0" mb="0" cb="0"/><line nr="180" mi="7" ci="0" mb="0" cb="0"/><line nr="181" mi="6" ci="0" mb="0" cb="0"/><line nr="182" mi="7" ci="0" mb="0" cb="0"/><line nr="184" mi="1" ci="0" mb="0" cb="0"/><line nr="187" mi="2" ci="0" mb="0" cb="0"/><line nr="189" mi="2" ci="0" mb="0" cb="0"/><line nr="191" mi="9" ci="0" mb="2" cb="0"/><line nr="192" mi="9" ci="0" mb="2" cb="0"/><line nr="193" mi="6" ci="0" mb="0" cb="0"/><line nr="194" mi="2" ci="0" mb="0" cb="0"/><line nr="195" mi="1" ci="0" mb="0" cb="0"/><line nr="199" mi="2" ci="0" mb="2" cb="0"/><line nr="200" mi="2" ci="0" mb="0" cb="0"/><line nr="201" mi="11" ci="0" mb="2" cb="0"/><line nr="202" mi="5" ci="0" mb="2" cb="0"/><line nr="203" mi="2" ci="0" mb="0" cb="0"/><line nr="204" mi="1" ci="0" mb="0" cb="0"/><line nr="206" mi="1" ci="0" mb="0" cb="0"/><line nr="207" mi="2" ci="0" mb="2" cb="0"/><line nr="208" mi="4" ci="0" mb="0" cb="0"/><line nr="210" mi="7" ci="0" mb="0" cb="0"/><line nr="211" mi="6" ci="0" mb="0" cb="0"/><line nr="213" mi="7" ci="0" mb="0" cb="0"/><line nr="215" mi="1" ci="0" mb="0" cb="0"/><line nr="218" mi="5" ci="0" mb="0" cb="0"/><line nr="219" mi="3" ci="0" mb="2" cb="0"/><line nr="221" mi="8" ci="0" mb="2" cb="0"/><line nr="222" mi="6" ci="0" mb="2" cb="0"/><line nr="223" mi="5" ci="0" mb="0" cb="0"/><line nr="224" mi="5" ci="0" mb="2" cb="0"/><line nr="226" mi="6" ci="0" mb="0" cb="0"/><line nr="227" mi="1" ci="0" mb="0" cb="0"/><line nr="228" mi="3" ci="0" mb="0" cb="0"/><line nr="229" mi="1" ci="0" mb="0" cb="0"/><line nr="233" mi="1" ci="0" mb="0" cb="0"/><line nr="236" mi="5" ci="0" mb="0" cb="0"/><line nr="237" mi="3" ci="0" mb="2" cb="0"/><line nr="239" mi="8" ci="0" mb="2" cb="0"/><line nr="240" mi="6" ci="0" mb="2" cb="0"/><line nr="241" mi="5" ci="0" mb="0" cb="0"/><line nr="242" mi="5" ci="0" mb="2" cb="0"/><line nr="244" mi="6" ci="0" mb="0" cb="0"/><line nr="245" mi="1" ci="0" mb="0" cb="0"/><line nr="246" mi="3" ci="0" mb="0" cb="0"/><line nr="247" mi="1" ci="0" mb="0" cb="0"/><line nr="251" mi="1" ci="0" mb="0" cb="0"/><line nr="254" mi="5" ci="0" mb="0" cb="0"/><line nr="255" mi="3" ci="0" mb="2" cb="0"/><line nr="257" mi="8" ci="0" mb="2" cb="0"/><line nr="258" mi="6" ci="0" mb="2" cb="0"/><line nr="259" mi="5" ci="0" mb="0" cb="0"/><line nr="260" mi="5" ci="0" mb="2" cb="0"/><line nr="262" mi="5" ci="0" mb="0" cb="0"/><line nr="263" mi="3" ci="0" mb="0" cb="0"/><line nr="264" mi="1" ci="0" mb="0" cb="0"/><line nr="265" mi="3" ci="0" mb="0" cb="0"/><line nr="266" mi="1" ci="0" mb="0" cb="0"/><line nr="268" mi="5" ci="0" mb="2" cb="0"/><line nr="270" mi="5" ci="0" mb="0" cb="0"/><line nr="271" mi="3" ci="0" mb="0" cb="0"/><line nr="272" mi="1" ci="0" mb="0" cb="0"/><line nr="273" mi="3" ci="0" mb="0" cb="0"/><line nr="274" mi="1" ci="0" mb="0" cb="0"/><line nr="278" mi="1" ci="0" mb="0" cb="0"/><line nr="282" mi="4" ci="0" mb="0" cb="0"/><line nr="283" mi="3" ci="0" mb="2" cb="0"/><line nr="286" mi="4" ci="0" mb="0" cb="0"/><line nr="287" mi="4" ci="0" mb="0" cb="0"/><line nr="290" mi="6" ci="0" mb="2" cb="0"/><line nr="291" mi="4" ci="0" mb="0" cb="0"/><line nr="292" mi="4" ci="0" mb="0" cb="0"/><line nr="293" mi="1" ci="0" mb="0" cb="0"/><line nr="294" mi="5" ci="0" mb="0" cb="0"/><line nr="295" mi="1" ci="0" mb="0" cb="0"/><line nr="298" mi="4" ci="0" mb="0" cb="0"/><line nr="299" mi="3" ci="0" mb="2" cb="0"/><line nr="302" mi="4" ci="0" mb="0" cb="0"/><line nr="303" mi="4" ci="0" mb="0" cb="0"/><line nr="306" mi="6" ci="0" mb="2" cb="0"/><line nr="307" mi="4" ci="0" mb="0" cb="0"/><line nr="308" mi="4" ci="0" mb="0" cb="0"/><line nr="309" mi="1" ci="0" mb="0" cb="0"/><line nr="310" mi="5" ci="0" mb="0" cb="0"/><line nr="311" mi="1" ci="0" mb="0" cb="0"/><line nr="314" mi="4" ci="0" mb="0" cb="0"/><line nr="315" mi="3" ci="0" mb="2" cb="0"/><line nr="318" mi="4" ci="0" mb="0" cb="0"/><line nr="319" mi="4" ci="0" mb="0" cb="0"/><line nr="322" mi="11" ci="0" mb="2" cb="0"/><line nr="324" mi="3" ci="0" mb="2" cb="0"/><line nr="325" mi="4" ci="0" mb="0" cb="0"/><line nr="327" mi="3" ci="0" mb="2" cb="0"/><line nr="328" mi="4" ci="0" mb="0" cb="0"/><line nr="330" mi="1" ci="0" mb="0" cb="0"/><line nr="331" mi="5" ci="0" mb="0" cb="0"/><line nr="332" mi="1" ci="0" mb="0" cb="0"/><line nr="335" mi="10" ci="0" mb="2" cb="0"/><line nr="336" mi="5" ci="0" mb="2" cb="0"/><line nr="337" mi="2" ci="0" mb="0" cb="0"/><line nr="339" mi="1" ci="0" mb="0" cb="0"/><line nr="341" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="830" covered="0"/><counter type="BRANCH" missed="114" covered="0"/><counter type="LINE" missed="201" covered="0"/><counter type="COMPLEXITY" missed="85" covered="0"/><counter type="METHOD" missed="28" covered="0"/><counter type="CLASS" missed="4" covered="0"/></sourcefile><sourcefile name="PlayList.java"><line nr="16" mi="2" ci="0" mb="0" cb="0"/><line nr="17" mi="3" ci="0" mb="0" cb="0"/><line nr="18" mi="4" ci="0" mb="0" cb="0"/><line nr="19" mi="3" ci="0" mb="0" cb="0"/><line nr="20" mi="1" ci="0" mb="0" cb="0"/><line nr="22" mi="2" ci="0" mb="0" cb="0"/><line nr="23" mi="3" ci="0" mb="0" cb="0"/><line nr="24" mi="3" ci="0" mb="0" cb="0"/><line nr="25" mi="5" ci="0" mb="0" cb="0"/><line nr="26" mi="1" ci="0" mb="0" cb="0"/><line nr="28" mi="2" ci="0" mb="0" cb="0"/><line nr="30" mi="8" ci="0" mb="0" cb="0"/><line nr="32" mi="2" ci="0" mb="0" cb="0"/><line nr="34" mi="7" ci="0" mb="0" cb="0"/><line nr="35" mi="1" ci="0" mb="0" cb="0"/><line nr="36" mi="3" ci="0" mb="0" cb="0"/><line nr="37" mi="1" ci="0" mb="0" cb="0"/><line nr="38" mi="5" ci="0" mb="4" cb="0"/><line nr="39" mi="4" ci="0" mb="0" cb="0"/><line nr="40" mi="4" ci="0" mb="0" cb="0"/><line nr="43" mi="6" ci="0" mb="0" cb="0"/><line nr="44" mi="3" ci="0" mb="0" cb="0"/><line nr="45" mi="3" ci="0" mb="2" cb="0"/><line nr="47" mi="5" ci="0" mb="0" cb="0"/><line nr="50" mi="8" ci="0" mb="2" cb="0"/><line nr="51" mi="6" ci="0" mb="2" cb="0"/><line nr="52" mi="5" ci="0" mb="0" cb="0"/><line nr="53" mi="5" ci="0" mb="2" cb="0"/><line nr="55" mi="5" ci="0" mb="0" cb="0"/><line nr="56" mi="1" ci="0" mb="0" cb="0"/><line nr="57" mi="2" ci="0" mb="0" cb="0"/><line nr="58" mi="1" ci="0" mb="0" cb="0"/><line nr="63" mi="1" ci="0" mb="0" cb="0"/><line nr="66" mi="5" ci="0" mb="0" cb="0"/><line nr="67" mi="1" ci="0" mb="0" cb="0"/><line nr="70" mi="3" ci="0" mb="0" cb="0"/><line nr="74" mi="3" ci="0" mb="0" cb="0"/><line nr="78" mi="4" ci="0" mb="0" cb="0"/><line nr="79" mi="4" ci="0" mb="0" cb="0"/><line nr="81" mi="4" ci="0" mb="0" cb="0"/><line nr="82" mi="7" ci="0" mb="0" cb="0"/><line nr="83" mi="4" ci="0" mb="0" cb="0"/><line nr="85" mi="4" ci="0" mb="0" cb="0"/><line nr="86" mi="8" ci="0" mb="0" cb="0"/><line nr="87" mi="4" ci="0" mb="0" cb="0"/><line nr="90" mi="4" ci="0" mb="0" cb="0"/><line nr="91" mi="11" ci="0" mb="2" cb="0"/><line nr="93" mi="4" ci="0" mb="0" cb="0"/><line nr="94" mi="7" ci="0" mb="0" cb="0"/><line nr="95" mi="4" ci="0" mb="0" cb="0"/><line nr="96" mi="1" ci="0" mb="0" cb="0"/><line nr="97" mi="4" ci="0" mb="0" cb="0"/><line nr="98" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="202" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="53" covered="0"/><counter type="COMPLEXITY" missed="14" covered="0"/><counter type="METHOD" missed="7" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="NoAlbumFoundException.java"><line nr="6" mi="3" ci="0" mb="0" cb="0"/><line nr="7" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="Album.java"><line nr="21" mi="2" ci="0" mb="0" cb="0"/><line nr="22" mi="3" ci="0" mb="0" cb="0"/><line nr="23" mi="3" ci="0" mb="0" cb="0"/><line nr="24" mi="3" ci="0" mb="0" cb="0"/><line nr="25" mi="4" ci="0" mb="0" cb="0"/><line nr="27" mi="5" ci="0" mb="0" cb="0"/><line nr="28" mi="5" ci="0" mb="0" cb="0"/><line nr="29" mi="1" ci="0" mb="0" cb="0"/><line nr="30" mi="2" ci="0" mb="0" cb="0"/><line nr="31" mi="1" ci="0" mb="0" cb="0"/><line nr="32" mi="3" ci="0" mb="0" cb="0"/><line nr="33" mi="1" ci="0" mb="0" cb="0"/><line nr="35" mi="2" ci="0" mb="0" cb="0"/><line nr="36" mi="3" ci="0" mb="0" cb="0"/><line nr="37" mi="3" ci="0" mb="0" cb="0"/><line nr="38" mi="3" ci="0" mb="0" cb="0"/><line nr="39" mi="3" ci="0" mb="0" cb="0"/><line nr="41" mi="5" ci="0" mb="0" cb="0"/><line nr="42" mi="5" ci="0" mb="0" cb="0"/><line nr="43" mi="1" ci="0" mb="0" cb="0"/><line nr="44" mi="2" ci="0" mb="0" cb="0"/><line nr="45" mi="1" ci="0" mb="0" cb="0"/><line nr="46" mi="5" ci="0" mb="0" cb="0"/><line nr="47" mi="1" ci="0" mb="0" cb="0"/><line nr="49" mi="2" ci="0" mb="0" cb="0"/><line nr="51" mi="8" ci="0" mb="0" cb="0"/><line nr="52" mi="9" ci="0" mb="0" cb="0"/><line nr="53" mi="2" ci="0" mb="0" cb="0"/><line nr="55" mi="7" ci="0" mb="0" cb="0"/><line nr="56" mi="1" ci="0" mb="0" cb="0"/><line nr="57" mi="3" ci="0" mb="0" cb="0"/><line nr="58" mi="1" ci="0" mb="0" cb="0"/><line nr="59" mi="5" ci="0" mb="4" cb="0"/><line nr="60" mi="4" ci="0" mb="0" cb="0"/><line nr="61" mi="4" ci="0" mb="0" cb="0"/><line nr="63" mi="5" ci="0" mb="0" cb="0"/><line nr="64" mi="10" ci="0" mb="0" cb="0"/><line nr="66" mi="6" ci="0" mb="0" cb="0"/><line nr="67" mi="3" ci="0" mb="0" cb="0"/><line nr="68" mi="3" ci="0" mb="2" cb="0"/><line nr="70" mi="5" ci="0" mb="0" cb="0"/><line nr="72" mi="8" ci="0" mb="2" cb="0"/><line nr="73" mi="6" ci="0" mb="2" cb="0"/><line nr="74" mi="5" ci="0" mb="0" cb="0"/><line nr="75" mi="5" ci="0" mb="2" cb="0"/><line nr="77" mi="5" ci="0" mb="0" cb="0"/><line nr="78" mi="1" ci="0" mb="0" cb="0"/><line nr="79" mi="2" ci="0" mb="0" cb="0"/><line nr="80" mi="1" ci="0" mb="0" cb="0"/><line nr="85" mi="1" ci="0" mb="0" cb="0"/><line nr="89" mi="5" ci="0" mb="0" cb="0"/><line nr="90" mi="1" ci="0" mb="0" cb="0"/><line nr="94" mi="3" ci="0" mb="0" cb="0"/><line nr="98" mi="3" ci="0" mb="0" cb="0"/><line nr="99" mi="2" ci="0" mb="0" cb="0"/><line nr="100" mi="2" ci="0" mb="0" cb="0"/><line nr="104" mi="3" ci="0" mb="0" cb="0"/><line nr="108" mi="3" ci="0" mb="0" cb="0"/><line nr="112" mi="4" ci="0" mb="0" cb="0"/><line nr="113" mi="4" ci="0" mb="0" cb="0"/><line nr="115" mi="4" ci="0" mb="0" cb="0"/><line nr="116" mi="7" ci="0" mb="0" cb="0"/><line nr="117" mi="4" ci="0" mb="0" cb="0"/><line nr="119" mi="4" ci="0" mb="0" cb="0"/><line nr="120" mi="7" ci="0" mb="0" cb="0"/><line nr="121" mi="4" ci="0" mb="0" cb="0"/><line nr="123" mi="4" ci="0" mb="0" cb="0"/><line nr="124" mi="9" ci="0" mb="0" cb="0"/><line nr="125" mi="4" ci="0" mb="0" cb="0"/><line nr="127" mi="4" ci="0" mb="0" cb="0"/><line nr="128" mi="8" ci="0" mb="0" cb="0"/><line nr="129" mi="4" ci="0" mb="0" cb="0"/><line nr="131" mi="4" ci="0" mb="0" cb="0"/><line nr="132" mi="5" ci="0" mb="0" cb="0"/><line nr="133" mi="9" ci="0" mb="0" cb="0"/><line nr="134" mi="4" ci="0" mb="0" cb="0"/><line nr="136" mi="4" ci="0" mb="0" cb="0"/><line nr="137" mi="11" ci="0" mb="2" cb="0"/><line nr="138" mi="4" ci="0" mb="0" cb="0"/><line nr="139" mi="7" ci="0" mb="0" cb="0"/><line nr="140" mi="4" ci="0" mb="0" cb="0"/><line nr="141" mi="1" ci="0" mb="0" cb="0"/><line nr="142" mi="4" ci="0" mb="0" cb="0"/><line nr="144" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="330" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="84" covered="0"/><counter type="COMPLEXITY" missed="16" covered="0"/><counter type="METHOD" missed="9" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="Language.java"><line nr="3" mi="3" ci="0" mb="0" cb="0"/><line nr="4" mi="35" ci="0" mb="0" cb="0"/><line nr="7" mi="4" ci="0" mb="0" cb="0"/><line nr="8" mi="3" ci="0" mb="0" cb="0"/><line nr="9" mi="1" ci="0" mb="0" cb="0"/><line nr="12" mi="3" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="49" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="Genre.java"><line nr="3" mi="3" ci="0" mb="0" cb="0"/><line nr="4" mi="42" ci="0" mb="0" cb="0"/><line nr="7" mi="4" ci="0" mb="0" cb="0"/><line nr="8" mi="3" ci="0" mb="0" cb="0"/><line nr="9" mi="1" ci="0" mb="0" cb="0"/><line nr="12" mi="3" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="56" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="NoPlayListFoundException.java"><line nr="6" mi="3" ci="0" mb="0" cb="0"/><line nr="7" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="AudioElement.java"><line nr="24" mi="2" ci="0" mb="0" cb="0"/><line nr="25" mi="3" ci="0" mb="0" cb="0"/><line nr="26" mi="3" ci="0" mb="0" cb="0"/><line nr="27" mi="3" ci="0" mb="0" cb="0"/><line nr="28" mi="4" ci="0" mb="0" cb="0"/><line nr="29" mi="3" ci="0" mb="0" cb="0"/><line nr="30" mi="1" ci="0" mb="0" cb="0"/><line nr="32" mi="2" ci="0" mb="0" cb="0"/><line nr="33" mi="3" ci="0" mb="0" cb="0"/><line nr="34" mi="3" ci="0" mb="0" cb="0"/><line nr="35" mi="3" ci="0" mb="0" cb="0"/><line nr="36" mi="3" ci="0" mb="0" cb="0"/><line nr="37" mi="3" ci="0" mb="0" cb="0"/><line nr="38" mi="1" ci="0" mb="0" cb="0"/><line nr="40" mi="2" ci="0" mb="0" cb="0"/><line nr="42" mi="8" ci="0" mb="0" cb="0"/><line nr="43" mi="8" ci="0" mb="0" cb="0"/><line nr="44" mi="9" ci="0" mb="0" cb="0"/><line nr="45" mi="8" ci="0" mb="0" cb="0"/><line nr="46" mi="2" ci="0" mb="0" cb="0"/><line nr="48" mi="7" ci="0" mb="0" cb="0"/><line nr="49" mi="1" ci="0" mb="0" cb="0"/><line nr="50" mi="3" ci="0" mb="0" cb="0"/><line nr="51" mi="1" ci="0" mb="0" cb="0"/><line nr="52" mi="5" ci="0" mb="4" cb="0"/><line nr="53" mi="4" ci="0" mb="0" cb="0"/><line nr="54" mi="4" ci="0" mb="0" cb="0"/><line nr="56" mi="1" ci="0" mb="0" cb="0"/><line nr="59" mi="3" ci="0" mb="0" cb="0"/><line nr="63" mi="3" ci="0" mb="0" cb="0"/><line nr="67" mi="3" ci="0" mb="0" cb="0"/><line nr="71" mi="10" ci="0" mb="0" cb="0"/><line nr="75" mi="4" ci="0" mb="0" cb="0"/><line nr="76" mi="7" ci="0" mb="0" cb="0"/><line nr="77" mi="4" ci="0" mb="0" cb="0"/><line nr="79" mi="4" ci="0" mb="0" cb="0"/><line nr="80" mi="7" ci="0" mb="0" cb="0"/><line nr="81" mi="4" ci="0" mb="0" cb="0"/><line nr="83" mi="4" ci="0" mb="0" cb="0"/><line nr="84" mi="9" ci="0" mb="0" cb="0"/><line nr="85" mi="4" ci="0" mb="0" cb="0"/><line nr="87" mi="4" ci="0" mb="0" cb="0"/><line nr="88" mi="8" ci="0" mb="0" cb="0"/><line nr="89" mi="4" ci="0" mb="0" cb="0"/><line nr="91" mi="4" ci="0" mb="0" cb="0"/><line nr="92" mi="7" ci="0" mb="0" cb="0"/><line nr="93" mi="4" ci="0" mb="0" cb="0"/><line nr="95" mi="1" ci="0" mb="0" cb="0"/><line nr="99" mi="5" ci="0" mb="0" cb="0"/><line nr="101" mi="6" ci="0" mb="0" cb="0"/><line nr="102" mi="3" ci="0" mb="0" cb="0"/><line nr="103" mi="2" ci="0" mb="0" cb="0"/><line nr="104" mi="3" ci="0" mb="0" cb="0"/><line nr="106" mi="2" ci="0" mb="0" cb="0"/><line nr="108" mi="4" ci="0" mb="2" cb="0"/><line nr="109" mi="3" ci="0" mb="0" cb="0"/><line nr="110" mi="3" ci="0" mb="0" cb="0"/><line nr="111" mi="3" ci="0" mb="0" cb="0"/><line nr="112" mi="3" ci="0" mb="0" cb="0"/><line nr="114" mi="8" ci="0" mb="5" cb="0"/><line nr="115" mi="2" ci="0" mb="0" cb="0"/><line nr="116" mi="1" ci="0" mb="0" cb="0"/><line nr="117" mi="2" ci="0" mb="0" cb="0"/><line nr="118" mi="1" ci="0" mb="0" cb="0"/><line nr="119" mi="3" ci="0" mb="0" cb="0"/><line nr="120" mi="1" ci="0" mb="0" cb="0"/><line nr="121" mi="2" ci="0" mb="0" cb="0"/><line nr="122" mi="1" ci="0" mb="0" cb="0"/><line nr="123" mi="3" ci="0" mb="0" cb="0"/><line nr="125" mi="4" ci="0" mb="0" cb="0"/><line nr="128" mi="2" ci="0" mb="0" cb="0"/><line nr="130" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="266" covered="0"/><counter type="BRANCH" missed="11" covered="0"/><counter type="LINE" missed="72" covered="0"/><counter type="COMPLEXITY" missed="16" covered="0"/><counter type="METHOD" missed="9" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="NoElementFoundException.java"><line nr="6" mi="3" ci="0" mb="0" cb="0"/><line nr="7" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="Category.java"><line nr="3" mi="3" ci="0" mb="0" cb="0"/><line nr="4" mi="35" ci="0" mb="0" cb="0"/><line nr="7" mi="4" ci="0" mb="0" cb="0"/><line nr="8" mi="3" ci="0" mb="0" cb="0"/><line nr="9" mi="1" ci="0" mb="0" cb="0"/><line nr="12" mi="3" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="49" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="AudioBook.java"><line nr="11" mi="7" ci="0" mb="0" cb="0"/><line nr="12" mi="3" ci="0" mb="0" cb="0"/><line nr="13" mi="3" ci="0" mb="0" cb="0"/><line nr="14" mi="1" ci="0" mb="0" cb="0"/><line nr="17" mi="6" ci="0" mb="0" cb="0"/><line nr="18" mi="3" ci="0" mb="0" cb="0"/><line nr="19" mi="3" ci="0" mb="0" cb="0"/><line nr="20" mi="1" ci="0" mb="0" cb="0"/><line nr="23" mi="3" ci="0" mb="0" cb="0"/><line nr="24" mi="8" ci="0" mb="0" cb="0"/><line nr="25" mi="8" ci="0" mb="0" cb="0"/><line nr="26" mi="1" ci="0" mb="0" cb="0"/><line nr="29" mi="3" ci="0" mb="0" cb="0"/><line nr="33" mi="9" ci="0" mb="5" cb="0"/><line nr="34" mi="4" ci="0" mb="0" cb="0"/><line nr="35" mi="4" ci="0" mb="0" cb="0"/><line nr="36" mi="4" ci="0" mb="0" cb="0"/><line nr="37" mi="4" ci="0" mb="0" cb="0"/><line nr="38" mi="3" ci="0" mb="0" cb="0"/><line nr="40" mi="1" ci="0" mb="0" cb="0"/><line nr="43" mi="3" ci="0" mb="0" cb="0"/><line nr="47" mi="9" ci="0" mb="5" cb="0"/><line nr="48" mi="4" ci="0" mb="0" cb="0"/><line nr="49" mi="4" ci="0" mb="0" cb="0"/><line nr="50" mi="4" ci="0" mb="0" cb="0"/><line nr="51" mi="4" ci="0" mb="0" cb="0"/><line nr="52" mi="3" ci="0" mb="0" cb="0"/><line nr="54" mi="1" ci="0" mb="0" cb="0"/><line nr="58" mi="8" ci="0" mb="0" cb="0"/><line nr="64" mi="4" ci="0" mb="0" cb="0"/><line nr="66" mi="4" ci="0" mb="0" cb="0"/><line nr="68" mi="4" ci="0" mb="0" cb="0"/><line nr="69" mi="8" ci="0" mb="0" cb="0"/><line nr="70" mi="4" ci="0" mb="0" cb="0"/><line nr="72" mi="4" ci="0" mb="0" cb="0"/><line nr="73" mi="8" ci="0" mb="0" cb="0"/><line nr="74" mi="4" ci="0" mb="0" cb="0"/><line nr="76" mi="4" ci="0" mb="0" cb="0"/><line nr="77" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="164" covered="0"/><counter type="BRANCH" missed="10" covered="0"/><counter type="LINE" missed="39" covered="0"/><counter type="COMPLEXITY" missed="17" covered="0"/><counter type="METHOD" missed="9" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="Song.java"><line nr="11" mi="7" ci="0" mb="0" cb="0"/><line nr="12" mi="3" ci="0" mb="0" cb="0"/><line nr="13" mi="1" ci="0" mb="0" cb="0"/><line nr="16" mi="6" ci="0" mb="0" cb="0"/><line nr="17" mi="3" ci="0" mb="0" cb="0"/><line nr="18" mi="1" ci="0" mb="0" cb="0"/><line nr="21" mi="3" ci="0" mb="0" cb="0"/><line nr="22" mi="8" ci="0" mb="0" cb="0"/><line nr="23" mi="1" ci="0" mb="0" cb="0"/><line nr="26" mi="4" ci="0" mb="0" cb="0"/><line nr="30" mi="9" ci="0" mb="6" cb="0"/><line nr="31" mi="4" ci="0" mb="0" cb="0"/><line nr="32" mi="4" ci="0" mb="0" cb="0"/><line nr="33" mi="4" ci="0" mb="0" cb="0"/><line nr="34" mi="4" ci="0" mb="0" cb="0"/><line nr="35" mi="4" ci="0" mb="0" cb="0"/><line nr="36" mi="3" ci="0" mb="0" cb="0"/><line nr="38" mi="1" ci="0" mb="0" cb="0"/><line nr="41" mi="6" ci="0" mb="0" cb="0"/><line nr="46" mi="4" ci="0" mb="0" cb="0"/><line nr="48" mi="4" ci="0" mb="0" cb="0"/><line nr="50" mi="4" ci="0" mb="0" cb="0"/><line nr="51" mi="8" ci="0" mb="0" cb="0"/><line nr="52" mi="4" ci="0" mb="0" cb="0"/><line nr="54" mi="4" ci="0" mb="0" cb="0"/><line nr="55" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="105" covered="0"/><counter type="BRANCH" missed="6" covered="0"/><counter type="LINE" missed="26" covered="0"/><counter type="COMPLEXITY" missed="12" covered="0"/><counter type="METHOD" missed="7" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><counter type="INSTRUCTION" missed="2063" covered="0"/><counter type="BRANCH" missed="169" covered="0"/><counter type="LINE" missed="499" covered="0"/><counter type="COMPLEXITY" missed="172" covered="0"/><counter type="METHOD" missed="81" covered="0"/><counter type="CLASS" missed="15" covered="0"/></package><package name="musichub/main"><class name="musichub/main/Main" sourcefilename="Main.java"><method name="&lt;init&gt;" desc="()V" line="15"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="main" desc="([Ljava/lang/String;)V" line="18"><counter type="INSTRUCTION" missed="562" covered="0"/><counter type="BRANCH" missed="41" covered="0"/><counter type="LINE" missed="191" covered="0"/><counter type="COMPLEXITY" missed="28" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="printAvailableCommands" desc="()V" line="261"><counter type="INSTRUCTION" missed="40" covered="0"/><counter type="LINE" missed="14" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="605" covered="0"/><counter type="BRANCH" missed="41" covered="0"/><counter type="LINE" missed="206" covered="0"/><counter type="COMPLEXITY" missed="30" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><sourcefile name="Main.java"><line nr="15" mi="3" ci="0" mb="0" cb="0"/><line nr="18" mi="4" ci="0" mb="0" cb="0"/><line nr="20" mi="3" ci="0" mb="0" cb="0"/><line nr="23" mi="5" ci="0" mb="0" cb="0"/><line nr="24" mi="3" ci="0" mb="0" cb="0"/><line nr="28" mi="5" ci="0" mb="2" cb="0"/><line nr="30" mi="4" ci="0" mb="2" cb="0"/><line nr="31" mi="4" ci="0" mb="15" cb="0"/><line nr="33" mi="2" ci="0" mb="0" cb="0"/><line nr="35" mi="1" ci="0" mb="0" cb="0"/><line nr="36" mi="3" ci="0" mb="0" cb="0"/><line nr="37" mi="1" ci="0" mb="0" cb="0"/><line nr="40" mi="4" ci="0" mb="0" cb="0"/><line nr="41" mi="1" ci="0" mb="0" cb="0"/><line nr="42" mi="3" ci="0" mb="0" cb="0"/><line nr="43" mi="1" ci="0" mb="0" cb="0"/><line nr="46" mi="3" ci="0" mb="0" cb="0"/><line nr="47" mi="4" ci="0" mb="0" cb="0"/><line nr="49" mi="3" ci="0" mb="0" cb="0"/><line nr="51" mi="4" ci="0" mb="0" cb="0"/><line nr="52" mi="3" ci="0" mb="0" cb="0"/><line nr="53" mi="1" ci="0" mb="0" cb="0"/><line nr="54" mi="5" ci="0" mb="0" cb="0"/><line nr="55" mi="1" ci="0" mb="0" cb="0"/><line nr="56" mi="1" ci="0" mb="0" cb="0"/><line nr="57" mi="3" ci="0" mb="0" cb="0"/><line nr="58" mi="1" ci="0" mb="0" cb="0"/><line nr="61" mi="3" ci="0" mb="0" cb="0"/><line nr="62" mi="4" ci="0" mb="0" cb="0"/><line nr="64" mi="3" ci="0" mb="0" cb="0"/><line nr="66" mi="4" ci="0" mb="0" cb="0"/><line nr="67" mi="5" ci="0" mb="0" cb="0"/><line nr="68" mi="3" ci="0" mb="0" cb="0"/><line nr="69" mi="4" ci="0" mb="0" cb="0"/><line nr="70" mi="1" ci="0" mb="0" cb="0"/><line nr="71" mi="5" ci="0" mb="0" cb="0"/><line nr="72" mi="1" ci="0" mb="0" cb="0"/><line nr="73" mi="1" ci="0" mb="0" cb="0"/><line nr="74" mi="3" ci="0" mb="0" cb="0"/><line nr="75" mi="1" ci="0" mb="0" cb="0"/><line nr="78" mi="4" ci="0" mb="0" cb="0"/><line nr="79" mi="1" ci="0" mb="0" cb="0"/><line nr="80" mi="3" ci="0" mb="0" cb="0"/><line nr="81" mi="1" ci="0" mb="0" cb="0"/><line nr="84" mi="3" ci="0" mb="0" cb="0"/><line nr="85" mi="3" ci="0" mb="0" cb="0"/><line nr="86" mi="3" ci="0" mb="0" cb="0"/><line nr="87" mi="3" ci="0" mb="0" cb="0"/><line nr="88" mi="3" ci="0" mb="0" cb="0"/><line nr="89" mi="3" ci="0" mb="0" cb="0"/><line nr="90" mi="3" ci="0" mb="0" cb="0"/><line nr="91" mi="3" ci="0" mb="0" cb="0"/><line nr="92" mi="4" ci="0" mb="0" cb="0"/><line nr="94" mi="3" ci="0" mb="0" cb="0"/><line nr="95" mi="3" ci="0" mb="0" cb="0"/><line nr="96" mi="3" ci="0" mb="2" cb="0"/><line nr="97" mi="2" ci="0" mb="0" cb="0"/><line nr="98" mi="3" ci="0" mb="0" cb="0"/><line nr="99" mi="4" ci="0" mb="0" cb="0"/><line nr="100" mi="3" ci="0" mb="0" cb="0"/><line nr="101" mi="1" ci="0" mb="0" cb="0"/><line nr="104" mi="9" ci="0" mb="0" cb="0"/><line nr="105" mi="3" ci="0" mb="0" cb="0"/><line nr="106" mi="3" ci="0" mb="0" cb="0"/><line nr="107" mi="3" ci="0" mb="0" cb="0"/><line nr="108" mi="10" ci="0" mb="2" cb="0"/><line nr="109" mi="3" ci="0" mb="0" cb="0"/><line nr="110" mi="1" ci="0" mb="0" cb="0"/><line nr="111" mi="3" ci="0" mb="0" cb="0"/><line nr="112" mi="1" ci="0" mb="0" cb="0"/><line nr="115" mi="3" ci="0" mb="0" cb="0"/><line nr="116" mi="3" ci="0" mb="0" cb="0"/><line nr="117" mi="3" ci="0" mb="0" cb="0"/><line nr="118" mi="3" ci="0" mb="0" cb="0"/><line nr="119" mi="3" ci="0" mb="0" cb="0"/><line nr="120" mi="3" ci="0" mb="0" cb="0"/><line nr="121" mi="4" ci="0" mb="0" cb="0"/><line nr="122" mi="3" ci="0" mb="0" cb="0"/><line nr="123" mi="3" ci="0" mb="0" cb="0"/><line nr="124" mi="8" ci="0" mb="0" cb="0"/><line nr="125" mi="3" ci="0" mb="0" cb="0"/><line nr="126" mi="3" ci="0" mb="0" cb="0"/><line nr="127" mi="3" ci="0" mb="0" cb="0"/><line nr="128" mi="10" ci="0" mb="2" cb="0"/><line nr="129" mi="3" ci="0" mb="0" cb="0"/><line nr="130" mi="1" ci="0" mb="0" cb="0"/><line nr="131" mi="3" ci="0" mb="0" cb="0"/><line nr="132" mi="1" ci="0" mb="0" cb="0"/><line nr="135" mi="3" ci="0" mb="0" cb="0"/><line nr="136" mi="3" ci="0" mb="0" cb="0"/><line nr="137" mi="3" ci="0" mb="0" cb="0"/><line nr="138" mi="3" ci="0" mb="2" cb="0"/><line nr="139" mi="4" ci="0" mb="0" cb="0"/><line nr="140" mi="7" ci="0" mb="2" cb="0"/><line nr="141" mi="1" ci="0" mb="0" cb="0"/><line nr="142" mi="3" ci="0" mb="0" cb="0"/><line nr="144" mi="3" ci="0" mb="0" cb="0"/><line nr="145" mi="3" ci="0" mb="0" cb="0"/><line nr="146" mi="3" ci="0" mb="2" cb="0"/><line nr="147" mi="4" ci="0" mb="0" cb="0"/><line nr="148" mi="4" ci="0" mb="0" cb="0"/><line nr="149" mi="1" ci="0" mb="0" cb="0"/><line nr="150" mi="3" ci="0" mb="0" cb="0"/><line nr="152" mi="4" ci="0" mb="0" cb="0"/><line nr="153" mi="1" ci="0" mb="0" cb="0"/><line nr="154" mi="4" ci="0" mb="0" cb="0"/><line nr="155" mi="1" ci="0" mb="0" cb="0"/><line nr="156" mi="3" ci="0" mb="0" cb="0"/><line nr="157" mi="1" ci="0" mb="0" cb="0"/><line nr="158" mi="3" ci="0" mb="0" cb="0"/><line nr="159" mi="1" ci="0" mb="0" cb="0"/><line nr="162" mi="3" ci="0" mb="0" cb="0"/><line nr="163" mi="3" ci="0" mb="0" cb="0"/><line nr="164" mi="3" ci="0" mb="0" cb="0"/><line nr="165" mi="3" ci="0" mb="0" cb="0"/><line nr="166" mi="3" ci="0" mb="0" cb="0"/><line nr="167" mi="3" ci="0" mb="0" cb="0"/><line nr="168" mi="3" ci="0" mb="0" cb="0"/><line nr="169" mi="3" ci="0" mb="0" cb="0"/><line nr="170" mi="4" ci="0" mb="0" cb="0"/><line nr="171" mi="3" ci="0" mb="0" cb="0"/><line nr="172" mi="3" ci="0" mb="0" cb="0"/><line nr="173" mi="3" ci="0" mb="0" cb="0"/><line nr="174" mi="3" ci="0" mb="0" cb="0"/><line nr="175" mi="10" ci="0" mb="0" cb="0"/><line nr="176" mi="3" ci="0" mb="0" cb="0"/><line nr="177" mi="3" ci="0" mb="0" cb="0"/><line nr="178" mi="3" ci="0" mb="0" cb="0"/><line nr="179" mi="10" ci="0" mb="2" cb="0"/><line nr="180" mi="1" ci="0" mb="0" cb="0"/><line nr="181" mi="3" ci="0" mb="0" cb="0"/><line nr="182" mi="1" ci="0" mb="0" cb="0"/><line nr="185" mi="3" ci="0" mb="0" cb="0"/><line nr="186" mi="3" ci="0" mb="0" cb="0"/><line nr="187" mi="3" ci="0" mb="0" cb="0"/><line nr="188" mi="3" ci="0" mb="2" cb="0"/><line nr="189" mi="4" ci="0" mb="0" cb="0"/><line nr="190" mi="4" ci="0" mb="0" cb="0"/><line nr="191" mi="1" ci="0" mb="0" cb="0"/><line nr="192" mi="3" ci="0" mb="0" cb="0"/><line nr="193" mi="3" ci="0" mb="0" cb="0"/><line nr="194" mi="5" ci="0" mb="0" cb="0"/><line nr="195" mi="3" ci="0" mb="0" cb="0"/><line nr="196" mi="3" ci="0" mb="0" cb="0"/><line nr="198" mi="3" ci="0" mb="0" cb="0"/><line nr="199" mi="3" ci="0" mb="2" cb="0"/><line nr="200" mi="4" ci="0" mb="0" cb="0"/><line nr="201" mi="4" ci="0" mb="0" cb="0"/><line nr="202" mi="1" ci="0" mb="0" cb="0"/><line nr="203" mi="5" ci="0" mb="2" cb="0"/><line nr="204" mi="3" ci="0" mb="0" cb="0"/><line nr="205" mi="3" ci="0" mb="0" cb="0"/><line nr="207" mi="4" ci="0" mb="0" cb="0"/><line nr="208" mi="1" ci="0" mb="0" cb="0"/><line nr="209" mi="4" ci="0" mb="0" cb="0"/><line nr="210" mi="1" ci="0" mb="0" cb="0"/><line nr="212" mi="3" ci="0" mb="0" cb="0"/><line nr="213" mi="3" ci="0" mb="0" cb="0"/><line nr="214" mi="1" ci="0" mb="0" cb="0"/><line nr="215" mi="3" ci="0" mb="0" cb="0"/><line nr="216" mi="1" ci="0" mb="0" cb="0"/><line nr="217" mi="3" ci="0" mb="0" cb="0"/><line nr="218" mi="1" ci="0" mb="0" cb="0"/><line nr="221" mi="3" ci="0" mb="0" cb="0"/><line nr="222" mi="3" ci="0" mb="0" cb="0"/><line nr="223" mi="3" ci="0" mb="2" cb="0"/><line nr="224" mi="4" ci="0" mb="0" cb="0"/><line nr="225" mi="4" ci="0" mb="0" cb="0"/><line nr="226" mi="1" ci="0" mb="0" cb="0"/><line nr="227" mi="3" ci="0" mb="0" cb="0"/><line nr="229" mi="3" ci="0" mb="0" cb="0"/><line nr="230" mi="1" ci="0" mb="0" cb="0"/><line nr="231" mi="4" ci="0" mb="0" cb="0"/><line nr="232" mi="1" ci="0" mb="0" cb="0"/><line nr="233" mi="3" ci="0" mb="0" cb="0"/><line nr="234" mi="1" ci="0" mb="0" cb="0"/><line nr="235" mi="3" ci="0" mb="0" cb="0"/><line nr="236" mi="1" ci="0" mb="0" cb="0"/><line nr="239" mi="2" ci="0" mb="0" cb="0"/><line nr="240" mi="2" ci="0" mb="0" cb="0"/><line nr="241" mi="2" ci="0" mb="0" cb="0"/><line nr="242" mi="3" ci="0" mb="0" cb="0"/><line nr="243" mi="1" ci="0" mb="0" cb="0"/><line nr="244" mi="3" ci="0" mb="0" cb="0"/><line nr="245" mi="1" ci="0" mb="0" cb="0"/><line nr="248" mi="1" ci="0" mb="0" cb="0"/><line nr="249" mi="3" ci="0" mb="0" cb="0"/><line nr="250" mi="3" ci="0" mb="0" cb="0"/><line nr="251" mi="1" ci="0" mb="0" cb="0"/><line nr="254" mi="1" ci="0" mb="0" cb="0"/><line nr="257" mi="2" ci="0" mb="0" cb="0"/><line nr="258" mi="1" ci="0" mb="0" cb="0"/><line nr="261" mi="3" ci="0" mb="0" cb="0"/><line nr="262" mi="3" ci="0" mb="0" cb="0"/><line nr="263" mi="3" ci="0" mb="0" cb="0"/><line nr="264" mi="3" ci="0" mb="0" cb="0"/><line nr="265" mi="3" ci="0" mb="0" cb="0"/><line nr="266" mi="3" ci="0" mb="0" cb="0"/><line nr="267" mi="3" ci="0" mb="0" cb="0"/><line nr="268" mi="3" ci="0" mb="0" cb="0"/><line nr="269" mi="3" ci="0" mb="0" cb="0"/><line nr="270" mi="3" ci="0" mb="0" cb="0"/><line nr="271" mi="3" ci="0" mb="0" cb="0"/><line nr="272" mi="3" ci="0" mb="0" cb="0"/><line nr="273" mi="3" ci="0" mb="0" cb="0"/><line nr="274" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="605" covered="0"/><counter type="BRANCH" missed="41" covered="0"/><counter type="LINE" missed="206" covered="0"/><counter type="COMPLEXITY" missed="30" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><counter type="INSTRUCTION" missed="605" covered="0"/><counter type="BRANCH" missed="41" covered="0"/><counter type="LINE" missed="206" covered="0"/><counter type="COMPLEXITY" missed="30" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></package><counter type="INSTRUCTION" missed="2740" covered="63"/><counter type="BRANCH" missed="210" covered="0"/><counter type="LINE" missed="730" covered="15"/><counter type="COMPLEXITY" missed="206" covered="5"/><counter type="METHOD" missed="88" covered="5"/><counter type="CLASS" missed="17" covered="2"/></report>
          \ No newline at end of file
          +<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!DOCTYPE report PUBLIC "-//JACOCO//DTD Report 1.1//EN" "report.dtd"><report name="spoteezer"><sessioninfo id="DESKTOP-M4INQND-b17df68a" start="1624785344991" dump="1624785345580"/><package name="musichub/util"><class name="musichub/util/PathValidation" sourcefilename="PathValidation.java"><method name="&lt;init&gt;" desc="()V" line="23"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isPathValid" desc="(Ljava/lang/String;)Z" line="35"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="musichub/util/LogHandler" sourcefilename="LogHandler.java"><method name="&lt;init&gt;" desc="()V" line="25"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="write" desc="(Ljava/lang/String;Ljava/lang/String;)V" line="38"><counter type="INSTRUCTION" missed="0" covered="26"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="read" desc="()V" line="58"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="46"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="musichub/util/XMLHandler" sourcefilename="XMLHandler.java"><method name="&lt;init&gt;" desc="()V" line="26"><counter type="INSTRUCTION" missed="3" covered="20"/><counter type="LINE" missed="2" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createXMLFile" desc="(Lorg/w3c/dom/Document;Ljava/lang/String;)V" line="41"><counter type="INSTRUCTION" missed="3" covered="20"/><counter type="LINE" missed="2" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createXMLDocument" desc="()Lorg/w3c/dom/Document;" line="57"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="parseXMLFile" desc="(Ljava/lang/String;)Lorg/w3c/dom/NodeList;" line="61"><counter type="INSTRUCTION" missed="0" covered="22"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="6" covered="66"/><counter type="LINE" missed="4" covered="21"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="PathValidation.java"><line nr="23" mi="0" ci="2" mb="0" cb="0"/><line nr="24" mi="0" ci="5" mb="0" cb="0"/><line nr="35" mi="0" ci="5" mb="0" cb="0"/><line nr="36" mi="0" ci="5" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="LogHandler.java"><line nr="25" mi="0" ci="2" mb="0" cb="0"/><line nr="26" mi="0" ci="5" mb="0" cb="0"/><line nr="38" mi="0" ci="5" mb="0" cb="0"/><line nr="41" mi="0" ci="5" mb="0" cb="0"/><line nr="44" mi="0" ci="5" mb="0" cb="0"/><line nr="47" mi="0" ci="10" mb="0" cb="0"/><line nr="50" mi="0" ci="1" mb="0" cb="0"/><line nr="58" mi="0" ci="5" mb="0" cb="0"/><line nr="61" mi="0" ci="3" mb="0" cb="0"/><line nr="64" mi="0" ci="4" mb="0" cb="0"/><line nr="66" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="46"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="XMLHandler.java"><line nr="26" mi="0" ci="2" mb="0" cb="0"/><line nr="28" mi="0" ci="3" mb="0" cb="0"/><line nr="29" mi="0" ci="5" mb="0" cb="0"/><line nr="30" mi="0" ci="3" mb="0" cb="0"/><line nr="31" mi="0" ci="5" mb="0" cb="0"/><line nr="32" mi="1" ci="0" mb="0" cb="0"/><line nr="33" mi="2" ci="0" mb="0" cb="0"/><line nr="34" mi="0" ci="1" mb="0" cb="0"/><line nr="35" mi="0" ci="1" mb="0" cb="0"/><line nr="41" mi="0" ci="5" mb="0" cb="0"/><line nr="42" mi="0" ci="8" mb="0" cb="0"/><line nr="49" mi="0" ci="5" mb="0" cb="0"/><line nr="51" mi="1" ci="0" mb="0" cb="0"/><line nr="52" mi="2" ci="0" mb="0" cb="0"/><line nr="53" mi="0" ci="1" mb="0" cb="0"/><line nr="54" mi="0" ci="1" mb="0" cb="0"/><line nr="57" mi="0" ci="4" mb="0" cb="0"/><line nr="61" mi="0" ci="2" mb="0" cb="0"/><line nr="63" mi="0" ci="8" mb="0" cb="0"/><line nr="64" mi="0" ci="3" mb="0" cb="0"/><line nr="66" mi="0" ci="3" mb="0" cb="0"/><line nr="67" mi="0" ci="1" mb="0" cb="0"/><line nr="68" mi="0" ci="2" mb="0" cb="0"/><line nr="69" mi="0" ci="1" mb="0" cb="0"/><line nr="70" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="6" covered="66"/><counter type="LINE" missed="4" covered="21"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="6" covered="129"/><counter type="LINE" missed="4" covered="36"/><counter type="COMPLEXITY" missed="0" covered="9"/><counter type="METHOD" missed="0" covered="9"/><counter type="CLASS" missed="0" covered="3"/></package><package name="musichub/business"><class name="musichub/business/Album" sourcefilename="Album.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/util/ArrayList;)V" line="21"><counter type="INSTRUCTION" missed="33" covered="0"/><counter type="LINE" missed="12" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V" line="35"><counter type="INSTRUCTION" missed="34" covered="0"/><counter type="LINE" missed="12" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Lorg/w3c/dom/Element;)V" line="49"><counter type="INSTRUCTION" missed="112" covered="0"/><counter type="BRANCH" missed="12" covered="0"/><counter type="LINE" missed="26" covered="0"/><counter type="COMPLEXITY" missed="7" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addSong" desc="(Ljava/util/UUID;)V" line="89"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getSongs" desc="()Ljava/util/List;" line="94"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getSongsRandomly" desc="()Ljava/util/ArrayList;" line="98"><counter type="INSTRUCTION" missed="7" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getTitle" desc="()Ljava/lang/String;" line="104"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getDate" desc="()Ljava/util/Date;" line="108"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createXMLElement" desc="(Lorg/w3c/dom/Document;Lorg/w3c/dom/Element;)V" line="112"><counter type="INSTRUCTION" missed="129" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="26" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="330" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="84" covered="0"/><counter type="COMPLEXITY" missed="16" covered="0"/><counter type="METHOD" missed="9" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/SortByAuthor" sourcefilename="MusicHub.java"><method name="&lt;init&gt;" desc="()V" line="27"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="compare" desc="(Lmusichub/business/AudioElement;Lmusichub/business/AudioElement;)I" line="29"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="9" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/NoAlbumFoundException" sourcefilename="NoAlbumFoundException.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="6"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/Language" sourcefilename="Language.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;ILjava/lang/String;)V" line="7"><counter type="INSTRUCTION" missed="8" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getLanguage" desc="()Ljava/lang/String;" line="12"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="3"><counter type="INSTRUCTION" missed="38" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="49" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/SortByDate" sourcefilename="MusicHub.java"><method name="&lt;init&gt;" desc="()V" line="15"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="compare" desc="(Lmusichub/business/Album;Lmusichub/business/Album;)I" line="17"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="9" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/MusicHub" sourcefilename="MusicHub.java"><method name="&lt;init&gt;" desc="()V" line="41"><counter type="INSTRUCTION" missed="29" covered="0"/><counter type="LINE" missed="9" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addElement" desc="(Lmusichub/business/AudioElement;)V" line="53"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addAlbum" desc="(Lmusichub/business/Album;)V" line="57"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addPlaylist" desc="(Lmusichub/business/PlayList;)V" line="61"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="deletePlayList" desc="(Ljava/lang/String;)V" line="66"><counter type="INSTRUCTION" missed="40" covered="0"/><counter type="BRANCH" missed="8" covered="0"/><counter type="LINE" missed="11" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="albums" desc="()Ljava/util/Iterator;" line="81"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="playlists" desc="()Ljava/util/Iterator;" line="85"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="elements" desc="()Ljava/util/Iterator;" line="89"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAlbumsTitlesSortedByDate" desc="()Ljava/lang/String;" line="93"><counter type="INSTRUCTION" missed="32" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAudiobooksTitlesSortedByAuthor" desc="()Ljava/lang/String;" line="101"><counter type="INSTRUCTION" missed="53" covered="0"/><counter type="BRANCH" missed="6" covered="0"/><counter type="LINE" missed="9" covered="0"/><counter type="COMPLEXITY" missed="4" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAlbumSongs" desc="(Ljava/lang/String;)Ljava/util/List;" line="113"><counter type="INSTRUCTION" missed="73" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="15" covered="0"/><counter type="COMPLEXITY" missed="8" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAlbumSongsSortedByGenre" desc="(Ljava/lang/String;)Ljava/util/List;" line="135"><counter type="INSTRUCTION" missed="79" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="16" covered="0"/><counter type="COMPLEXITY" missed="8" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addElementToAlbum" desc="(Ljava/lang/String;Ljava/lang/String;)V" line="158"><counter type="INSTRUCTION" missed="82" covered="0"/><counter type="BRANCH" missed="12" covered="0"/><counter type="LINE" missed="20" covered="0"/><counter type="COMPLEXITY" missed="7" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addElementToPlayList" desc="(Ljava/lang/String;Ljava/lang/String;)V" line="187"><counter type="INSTRUCTION" missed="82" covered="0"/><counter type="BRANCH" missed="12" covered="0"/><counter type="LINE" missed="20" covered="0"/><counter type="COMPLEXITY" missed="7" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="loadAlbums" desc="()V" line="218"><counter type="INSTRUCTION" missed="44" covered="0"/><counter type="BRANCH" missed="8" covered="0"/><counter type="LINE" missed="11" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="loadPlaylists" desc="()V" line="236"><counter type="INSTRUCTION" missed="44" covered="0"/><counter type="BRANCH" missed="8" covered="0"/><counter type="LINE" missed="11" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="loadElements" desc="()V" line="254"><counter type="INSTRUCTION" missed="64" covered="0"/><counter type="BRANCH" missed="10" covered="0"/><counter type="LINE" missed="18" covered="0"/><counter type="COMPLEXITY" missed="6" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="saveAlbums" desc="()V" line="282"><counter type="INSTRUCTION" missed="36" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="10" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="savePlayLists" desc="()V" line="298"><counter type="INSTRUCTION" missed="36" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="10" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="saveElements" desc="()V" line="314"><counter type="INSTRUCTION" missed="47" covered="0"/><counter type="BRANCH" missed="8" covered="0"/><counter type="LINE" missed="12" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAudioElement" desc="(Ljava/util/List;Ljava/lang/String;)V" line="335"><counter type="INSTRUCTION" missed="19" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="34"><counter type="INSTRUCTION" missed="13" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="803" covered="0"/><counter type="BRANCH" missed="114" covered="0"/><counter type="LINE" missed="195" covered="0"/><counter type="COMPLEXITY" missed="79" covered="0"/><counter type="METHOD" missed="22" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/Category" sourcefilename="Category.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;ILjava/lang/String;)V" line="7"><counter type="INSTRUCTION" missed="8" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getCategory" desc="()Ljava/lang/String;" line="12"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="3"><counter type="INSTRUCTION" missed="38" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="49" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/Song" sourcefilename="Song.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" line="11"><counter type="INSTRUCTION" missed="11" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V" line="16"><counter type="INSTRUCTION" missed="10" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Lorg/w3c/dom/Element;)V" line="21"><counter type="INSTRUCTION" missed="12" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getGenre" desc="()Ljava/lang/String;" line="26"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="setGenre" desc="(Ljava/lang/String;)V" line="30"><counter type="INSTRUCTION" missed="33" covered="0"/><counter type="BRANCH" missed="6" covered="0"/><counter type="LINE" missed="8" covered="0"/><counter type="COMPLEXITY" missed="6" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="toString" desc="()Ljava/lang/String;" line="41"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createXMLElement" desc="(Lorg/w3c/dom/Document;Lorg/w3c/dom/Element;)V" line="46"><counter type="INSTRUCTION" missed="29" covered="0"/><counter type="LINE" missed="7" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="105" covered="0"/><counter type="BRANCH" missed="6" covered="0"/><counter type="LINE" missed="26" covered="0"/><counter type="COMPLEXITY" missed="12" covered="0"/><counter type="METHOD" missed="7" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/NoPlayListFoundException" sourcefilename="NoPlayListFoundException.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="6"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/PlayList" sourcefilename="PlayList.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/util/ArrayList;)V" line="16"><counter type="INSTRUCTION" missed="13" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="22"><counter type="INSTRUCTION" missed="14" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Lorg/w3c/dom/Element;)V" line="28"><counter type="INSTRUCTION" missed="88" covered="0"/><counter type="BRANCH" missed="12" covered="0"/><counter type="LINE" missed="23" covered="0"/><counter type="COMPLEXITY" missed="7" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addElement" desc="(Ljava/util/UUID;)V" line="66"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getElements" desc="()Ljava/util/ArrayList;" line="70"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getTitle" desc="()Ljava/lang/String;" line="74"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createXMLElement" desc="(Lorg/w3c/dom/Document;Lorg/w3c/dom/Element;)V" line="78"><counter type="INSTRUCTION" missed="75" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="16" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="202" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="53" covered="0"/><counter type="COMPLEXITY" missed="14" covered="0"/><counter type="METHOD" missed="7" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/AudioBook" sourcefilename="AudioBook.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" line="11"><counter type="INSTRUCTION" missed="14" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" line="17"><counter type="INSTRUCTION" missed="13" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Lorg/w3c/dom/Element;)V" line="23"><counter type="INSTRUCTION" missed="20" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getLanguage" desc="()Lmusichub/business/Language;" line="29"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="setLanguage" desc="(Ljava/lang/String;)V" line="33"><counter type="INSTRUCTION" missed="29" covered="0"/><counter type="BRANCH" missed="5" covered="0"/><counter type="LINE" missed="7" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getCategory" desc="()Lmusichub/business/Category;" line="43"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="setCategory" desc="(Ljava/lang/String;)V" line="47"><counter type="INSTRUCTION" missed="29" covered="0"/><counter type="BRANCH" missed="5" covered="0"/><counter type="LINE" missed="7" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="toString" desc="()Ljava/lang/String;" line="58"><counter type="INSTRUCTION" missed="8" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createXMLElement" desc="(Lorg/w3c/dom/Document;Lorg/w3c/dom/Element;)V" line="64"><counter type="INSTRUCTION" missed="45" covered="0"/><counter type="LINE" missed="10" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="164" covered="0"/><counter type="BRANCH" missed="10" covered="0"/><counter type="LINE" missed="39" covered="0"/><counter type="COMPLEXITY" missed="17" covered="0"/><counter type="METHOD" missed="9" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/SortByGenre" sourcefilename="MusicHub.java"><method name="&lt;init&gt;" desc="()V" line="21"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="compare" desc="(Lmusichub/business/Song;Lmusichub/business/Song;)I" line="23"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="9" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/NoElementFoundException" sourcefilename="NoElementFoundException.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="6"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/Genre" sourcefilename="Genre.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;ILjava/lang/String;)V" line="7"><counter type="INSTRUCTION" missed="8" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getGenre" desc="()Ljava/lang/String;" line="12"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="3"><counter type="INSTRUCTION" missed="45" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="56" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/AudioElement" sourcefilename="AudioElement.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V" line="24"><counter type="INSTRUCTION" missed="19" covered="0"/><counter type="LINE" missed="7" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V" line="32"><counter type="INSTRUCTION" missed="18" covered="0"/><counter type="LINE" missed="7" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Lorg/w3c/dom/Element;)V" line="40"><counter type="INSTRUCTION" missed="63" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="14" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getUUID" desc="()Ljava/util/UUID;" line="59"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getArtist" desc="()Ljava/lang/String;" line="63"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getTitle" desc="()Ljava/lang/String;" line="67"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="toString" desc="()Ljava/lang/String;" line="71"><counter type="INSTRUCTION" missed="10" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createXMLElement" desc="(Lorg/w3c/dom/Document;Lorg/w3c/dom/Element;)V" line="75"><counter type="INSTRUCTION" missed="79" covered="0"/><counter type="LINE" missed="16" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="manageAudioElement" desc="()V" line="99"><counter type="INSTRUCTION" missed="68" covered="0"/><counter type="BRANCH" missed="7" covered="0"/><counter type="LINE" missed="24" covered="0"/><counter type="COMPLEXITY" missed="6" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="266" covered="0"/><counter type="BRANCH" missed="11" covered="0"/><counter type="LINE" missed="72" covered="0"/><counter type="COMPLEXITY" missed="16" covered="0"/><counter type="METHOD" missed="9" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><sourcefile name="MusicHub.java"><line nr="15" mi="3" ci="0" mb="0" cb="0"/><line nr="17" mi="6" ci="0" mb="0" cb="0"/><line nr="21" mi="3" ci="0" mb="0" cb="0"/><line nr="23" mi="6" ci="0" mb="0" cb="0"/><line nr="27" mi="3" ci="0" mb="0" cb="0"/><line nr="29" mi="6" ci="0" mb="0" cb="0"/><line nr="34" mi="3" ci="0" mb="0" cb="0"/><line nr="35" mi="3" ci="0" mb="0" cb="0"/><line nr="36" mi="3" ci="0" mb="0" cb="0"/><line nr="37" mi="4" ci="0" mb="0" cb="0"/><line nr="41" mi="5" ci="0" mb="0" cb="0"/><line nr="43" mi="2" ci="0" mb="0" cb="0"/><line nr="44" mi="5" ci="0" mb="0" cb="0"/><line nr="45" mi="5" ci="0" mb="0" cb="0"/><line nr="46" mi="5" ci="0" mb="0" cb="0"/><line nr="47" mi="2" ci="0" mb="0" cb="0"/><line nr="48" mi="2" ci="0" mb="0" cb="0"/><line nr="49" mi="2" ci="0" mb="0" cb="0"/><line nr="50" mi="1" ci="0" mb="0" cb="0"/><line nr="53" mi="5" ci="0" mb="0" cb="0"/><line nr="54" mi="1" ci="0" mb="0" cb="0"/><line nr="57" mi="5" ci="0" mb="0" cb="0"/><line nr="58" mi="1" ci="0" mb="0" cb="0"/><line nr="61" mi="5" ci="0" mb="0" cb="0"/><line nr="62" mi="1" ci="0" mb="0" cb="0"/><line nr="66" mi="2" ci="0" mb="0" cb="0"/><line nr="67" mi="2" ci="0" mb="0" cb="0"/><line nr="68" mi="11" ci="0" mb="2" cb="0"/><line nr="69" mi="5" ci="0" mb="2" cb="0"/><line nr="70" mi="2" ci="0" mb="0" cb="0"/><line nr="71" mi="1" ci="0" mb="0" cb="0"/><line nr="73" mi="1" ci="0" mb="0" cb="0"/><line nr="75" mi="2" ci="0" mb="2" cb="0"/><line nr="76" mi="5" ci="0" mb="0" cb="0"/><line nr="77" mi="8" ci="0" mb="2" cb="0"/><line nr="78" mi="1" ci="0" mb="0" cb="0"/><line nr="81" mi="4" ci="0" mb="0" cb="0"/><line nr="85" mi="4" ci="0" mb="0" cb="0"/><line nr="89" mi="4" ci="0" mb="0" cb="0"/><line nr="93" mi="4" ci="0" mb="0" cb="0"/><line nr="94" mi="6" ci="0" mb="0" cb="0"/><line nr="95" mi="11" ci="0" mb="2" cb="0"/><line nr="96" mi="8" ci="0" mb="0" cb="0"/><line nr="97" mi="3" ci="0" mb="0" cb="0"/><line nr="101" mi="4" ci="0" mb="0" cb="0"/><line nr="102" mi="4" ci="0" mb="0" cb="0"/><line nr="103" mi="11" ci="0" mb="2" cb="0"/><line nr="104" mi="4" ci="0" mb="2" cb="0"/><line nr="105" mi="4" ci="0" mb="0" cb="0"/><line nr="106" mi="5" ci="0" mb="0" cb="0"/><line nr="107" mi="10" ci="0" mb="2" cb="0"/><line nr="108" mi="8" ci="0" mb="0" cb="0"/><line nr="109" mi="3" ci="0" mb="0" cb="0"/><line nr="113" mi="2" ci="0" mb="0" cb="0"/><line nr="114" mi="4" ci="0" mb="0" cb="0"/><line nr="115" mi="11" ci="0" mb="2" cb="0"/><line nr="116" mi="5" ci="0" mb="2" cb="0"/><line nr="117" mi="2" ci="0" mb="0" cb="0"/><line nr="118" mi="1" ci="0" mb="0" cb="0"/><line nr="120" mi="1" ci="0" mb="0" cb="0"/><line nr="121" mi="7" ci="0" mb="2" cb="0"/><line nr="123" mi="3" ci="0" mb="0" cb="0"/><line nr="124" mi="10" ci="0" mb="2" cb="0"/><line nr="125" mi="12" ci="0" mb="2" cb="0"/><line nr="126" mi="3" ci="0" mb="2" cb="0"/><line nr="127" mi="9" ci="0" mb="2" cb="0"/><line nr="129" mi="1" ci="0" mb="0" cb="0"/><line nr="130" mi="2" ci="0" mb="0" cb="0"/><line nr="135" mi="2" ci="0" mb="0" cb="0"/><line nr="136" mi="4" ci="0" mb="0" cb="0"/><line nr="137" mi="11" ci="0" mb="2" cb="0"/><line nr="138" mi="5" ci="0" mb="2" cb="0"/><line nr="139" mi="2" ci="0" mb="0" cb="0"/><line nr="140" mi="1" ci="0" mb="0" cb="0"/><line nr="142" mi="1" ci="0" mb="0" cb="0"/><line nr="143" mi="7" ci="0" mb="2" cb="0"/><line nr="145" mi="3" ci="0" mb="0" cb="0"/><line nr="146" mi="10" ci="0" mb="2" cb="0"/><line nr="147" mi="12" ci="0" mb="2" cb="0"/><line nr="148" mi="3" ci="0" mb="2" cb="0"/><line nr="149" mi="10" ci="0" mb="2" cb="0"/><line nr="151" mi="1" ci="0" mb="0" cb="0"/><line nr="152" mi="5" ci="0" mb="0" cb="0"/><line nr="153" mi="2" ci="0" mb="0" cb="0"/><line nr="158" mi="2" ci="0" mb="0" cb="0"/><line nr="160" mi="2" ci="0" mb="0" cb="0"/><line nr="161" mi="9" ci="0" mb="2" cb="0"/><line nr="162" mi="9" ci="0" mb="2" cb="0"/><line nr="163" mi="6" ci="0" mb="0" cb="0"/><line nr="164" mi="2" ci="0" mb="0" cb="0"/><line nr="165" mi="1" ci="0" mb="0" cb="0"/><line nr="169" mi="2" ci="0" mb="2" cb="0"/><line nr="170" mi="2" ci="0" mb="0" cb="0"/><line nr="171" mi="11" ci="0" mb="2" cb="0"/><line nr="172" mi="5" ci="0" mb="2" cb="0"/><line nr="173" mi="2" ci="0" mb="0" cb="0"/><line nr="174" mi="1" ci="0" mb="0" cb="0"/><line nr="176" mi="1" ci="0" mb="0" cb="0"/><line nr="177" mi="2" ci="0" mb="2" cb="0"/><line nr="178" mi="4" ci="0" mb="0" cb="0"/><line nr="180" mi="7" ci="0" mb="0" cb="0"/><line nr="181" mi="6" ci="0" mb="0" cb="0"/><line nr="182" mi="7" ci="0" mb="0" cb="0"/><line nr="184" mi="1" ci="0" mb="0" cb="0"/><line nr="187" mi="2" ci="0" mb="0" cb="0"/><line nr="189" mi="2" ci="0" mb="0" cb="0"/><line nr="191" mi="9" ci="0" mb="2" cb="0"/><line nr="192" mi="9" ci="0" mb="2" cb="0"/><line nr="193" mi="6" ci="0" mb="0" cb="0"/><line nr="194" mi="2" ci="0" mb="0" cb="0"/><line nr="195" mi="1" ci="0" mb="0" cb="0"/><line nr="199" mi="2" ci="0" mb="2" cb="0"/><line nr="200" mi="2" ci="0" mb="0" cb="0"/><line nr="201" mi="11" ci="0" mb="2" cb="0"/><line nr="202" mi="5" ci="0" mb="2" cb="0"/><line nr="203" mi="2" ci="0" mb="0" cb="0"/><line nr="204" mi="1" ci="0" mb="0" cb="0"/><line nr="206" mi="1" ci="0" mb="0" cb="0"/><line nr="207" mi="2" ci="0" mb="2" cb="0"/><line nr="208" mi="4" ci="0" mb="0" cb="0"/><line nr="210" mi="7" ci="0" mb="0" cb="0"/><line nr="211" mi="6" ci="0" mb="0" cb="0"/><line nr="213" mi="7" ci="0" mb="0" cb="0"/><line nr="215" mi="1" ci="0" mb="0" cb="0"/><line nr="218" mi="5" ci="0" mb="0" cb="0"/><line nr="219" mi="3" ci="0" mb="2" cb="0"/><line nr="221" mi="8" ci="0" mb="2" cb="0"/><line nr="222" mi="6" ci="0" mb="2" cb="0"/><line nr="223" mi="5" ci="0" mb="0" cb="0"/><line nr="224" mi="5" ci="0" mb="2" cb="0"/><line nr="226" mi="6" ci="0" mb="0" cb="0"/><line nr="227" mi="1" ci="0" mb="0" cb="0"/><line nr="228" mi="3" ci="0" mb="0" cb="0"/><line nr="229" mi="1" ci="0" mb="0" cb="0"/><line nr="233" mi="1" ci="0" mb="0" cb="0"/><line nr="236" mi="5" ci="0" mb="0" cb="0"/><line nr="237" mi="3" ci="0" mb="2" cb="0"/><line nr="239" mi="8" ci="0" mb="2" cb="0"/><line nr="240" mi="6" ci="0" mb="2" cb="0"/><line nr="241" mi="5" ci="0" mb="0" cb="0"/><line nr="242" mi="5" ci="0" mb="2" cb="0"/><line nr="244" mi="6" ci="0" mb="0" cb="0"/><line nr="245" mi="1" ci="0" mb="0" cb="0"/><line nr="246" mi="3" ci="0" mb="0" cb="0"/><line nr="247" mi="1" ci="0" mb="0" cb="0"/><line nr="251" mi="1" ci="0" mb="0" cb="0"/><line nr="254" mi="5" ci="0" mb="0" cb="0"/><line nr="255" mi="3" ci="0" mb="2" cb="0"/><line nr="257" mi="8" ci="0" mb="2" cb="0"/><line nr="258" mi="6" ci="0" mb="2" cb="0"/><line nr="259" mi="5" ci="0" mb="0" cb="0"/><line nr="260" mi="5" ci="0" mb="2" cb="0"/><line nr="262" mi="5" ci="0" mb="0" cb="0"/><line nr="263" mi="3" ci="0" mb="0" cb="0"/><line nr="264" mi="1" ci="0" mb="0" cb="0"/><line nr="265" mi="3" ci="0" mb="0" cb="0"/><line nr="266" mi="1" ci="0" mb="0" cb="0"/><line nr="268" mi="5" ci="0" mb="2" cb="0"/><line nr="270" mi="5" ci="0" mb="0" cb="0"/><line nr="271" mi="3" ci="0" mb="0" cb="0"/><line nr="272" mi="1" ci="0" mb="0" cb="0"/><line nr="273" mi="3" ci="0" mb="0" cb="0"/><line nr="274" mi="1" ci="0" mb="0" cb="0"/><line nr="278" mi="1" ci="0" mb="0" cb="0"/><line nr="282" mi="4" ci="0" mb="0" cb="0"/><line nr="283" mi="3" ci="0" mb="2" cb="0"/><line nr="286" mi="4" ci="0" mb="0" cb="0"/><line nr="287" mi="4" ci="0" mb="0" cb="0"/><line nr="290" mi="6" ci="0" mb="2" cb="0"/><line nr="291" mi="4" ci="0" mb="0" cb="0"/><line nr="292" mi="4" ci="0" mb="0" cb="0"/><line nr="293" mi="1" ci="0" mb="0" cb="0"/><line nr="294" mi="5" ci="0" mb="0" cb="0"/><line nr="295" mi="1" ci="0" mb="0" cb="0"/><line nr="298" mi="4" ci="0" mb="0" cb="0"/><line nr="299" mi="3" ci="0" mb="2" cb="0"/><line nr="302" mi="4" ci="0" mb="0" cb="0"/><line nr="303" mi="4" ci="0" mb="0" cb="0"/><line nr="306" mi="6" ci="0" mb="2" cb="0"/><line nr="307" mi="4" ci="0" mb="0" cb="0"/><line nr="308" mi="4" ci="0" mb="0" cb="0"/><line nr="309" mi="1" ci="0" mb="0" cb="0"/><line nr="310" mi="5" ci="0" mb="0" cb="0"/><line nr="311" mi="1" ci="0" mb="0" cb="0"/><line nr="314" mi="4" ci="0" mb="0" cb="0"/><line nr="315" mi="3" ci="0" mb="2" cb="0"/><line nr="318" mi="4" ci="0" mb="0" cb="0"/><line nr="319" mi="4" ci="0" mb="0" cb="0"/><line nr="322" mi="11" ci="0" mb="2" cb="0"/><line nr="324" mi="3" ci="0" mb="2" cb="0"/><line nr="325" mi="4" ci="0" mb="0" cb="0"/><line nr="327" mi="3" ci="0" mb="2" cb="0"/><line nr="328" mi="4" ci="0" mb="0" cb="0"/><line nr="330" mi="1" ci="0" mb="0" cb="0"/><line nr="331" mi="5" ci="0" mb="0" cb="0"/><line nr="332" mi="1" ci="0" mb="0" cb="0"/><line nr="335" mi="10" ci="0" mb="2" cb="0"/><line nr="336" mi="5" ci="0" mb="2" cb="0"/><line nr="337" mi="2" ci="0" mb="0" cb="0"/><line nr="339" mi="1" ci="0" mb="0" cb="0"/><line nr="341" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="830" covered="0"/><counter type="BRANCH" missed="114" covered="0"/><counter type="LINE" missed="201" covered="0"/><counter type="COMPLEXITY" missed="85" covered="0"/><counter type="METHOD" missed="28" covered="0"/><counter type="CLASS" missed="4" covered="0"/></sourcefile><sourcefile name="PlayList.java"><line nr="16" mi="2" ci="0" mb="0" cb="0"/><line nr="17" mi="3" ci="0" mb="0" cb="0"/><line nr="18" mi="4" ci="0" mb="0" cb="0"/><line nr="19" mi="3" ci="0" mb="0" cb="0"/><line nr="20" mi="1" ci="0" mb="0" cb="0"/><line nr="22" mi="2" ci="0" mb="0" cb="0"/><line nr="23" mi="3" ci="0" mb="0" cb="0"/><line nr="24" mi="3" ci="0" mb="0" cb="0"/><line nr="25" mi="5" ci="0" mb="0" cb="0"/><line nr="26" mi="1" ci="0" mb="0" cb="0"/><line nr="28" mi="2" ci="0" mb="0" cb="0"/><line nr="30" mi="8" ci="0" mb="0" cb="0"/><line nr="32" mi="2" ci="0" mb="0" cb="0"/><line nr="34" mi="7" ci="0" mb="0" cb="0"/><line nr="35" mi="1" ci="0" mb="0" cb="0"/><line nr="36" mi="3" ci="0" mb="0" cb="0"/><line nr="37" mi="1" ci="0" mb="0" cb="0"/><line nr="38" mi="5" ci="0" mb="4" cb="0"/><line nr="39" mi="4" ci="0" mb="0" cb="0"/><line nr="40" mi="4" ci="0" mb="0" cb="0"/><line nr="43" mi="6" ci="0" mb="0" cb="0"/><line nr="44" mi="3" ci="0" mb="0" cb="0"/><line nr="45" mi="3" ci="0" mb="2" cb="0"/><line nr="47" mi="5" ci="0" mb="0" cb="0"/><line nr="50" mi="8" ci="0" mb="2" cb="0"/><line nr="51" mi="6" ci="0" mb="2" cb="0"/><line nr="52" mi="5" ci="0" mb="0" cb="0"/><line nr="53" mi="5" ci="0" mb="2" cb="0"/><line nr="55" mi="5" ci="0" mb="0" cb="0"/><line nr="56" mi="1" ci="0" mb="0" cb="0"/><line nr="57" mi="2" ci="0" mb="0" cb="0"/><line nr="58" mi="1" ci="0" mb="0" cb="0"/><line nr="63" mi="1" ci="0" mb="0" cb="0"/><line nr="66" mi="5" ci="0" mb="0" cb="0"/><line nr="67" mi="1" ci="0" mb="0" cb="0"/><line nr="70" mi="3" ci="0" mb="0" cb="0"/><line nr="74" mi="3" ci="0" mb="0" cb="0"/><line nr="78" mi="4" ci="0" mb="0" cb="0"/><line nr="79" mi="4" ci="0" mb="0" cb="0"/><line nr="81" mi="4" ci="0" mb="0" cb="0"/><line nr="82" mi="7" ci="0" mb="0" cb="0"/><line nr="83" mi="4" ci="0" mb="0" cb="0"/><line nr="85" mi="4" ci="0" mb="0" cb="0"/><line nr="86" mi="8" ci="0" mb="0" cb="0"/><line nr="87" mi="4" ci="0" mb="0" cb="0"/><line nr="90" mi="4" ci="0" mb="0" cb="0"/><line nr="91" mi="11" ci="0" mb="2" cb="0"/><line nr="93" mi="4" ci="0" mb="0" cb="0"/><line nr="94" mi="7" ci="0" mb="0" cb="0"/><line nr="95" mi="4" ci="0" mb="0" cb="0"/><line nr="96" mi="1" ci="0" mb="0" cb="0"/><line nr="97" mi="4" ci="0" mb="0" cb="0"/><line nr="98" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="202" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="53" covered="0"/><counter type="COMPLEXITY" missed="14" covered="0"/><counter type="METHOD" missed="7" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="NoAlbumFoundException.java"><line nr="6" mi="3" ci="0" mb="0" cb="0"/><line nr="7" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="Album.java"><line nr="21" mi="2" ci="0" mb="0" cb="0"/><line nr="22" mi="3" ci="0" mb="0" cb="0"/><line nr="23" mi="3" ci="0" mb="0" cb="0"/><line nr="24" mi="3" ci="0" mb="0" cb="0"/><line nr="25" mi="4" ci="0" mb="0" cb="0"/><line nr="27" mi="5" ci="0" mb="0" cb="0"/><line nr="28" mi="5" ci="0" mb="0" cb="0"/><line nr="29" mi="1" ci="0" mb="0" cb="0"/><line nr="30" mi="2" ci="0" mb="0" cb="0"/><line nr="31" mi="1" ci="0" mb="0" cb="0"/><line nr="32" mi="3" ci="0" mb="0" cb="0"/><line nr="33" mi="1" ci="0" mb="0" cb="0"/><line nr="35" mi="2" ci="0" mb="0" cb="0"/><line nr="36" mi="3" ci="0" mb="0" cb="0"/><line nr="37" mi="3" ci="0" mb="0" cb="0"/><line nr="38" mi="3" ci="0" mb="0" cb="0"/><line nr="39" mi="3" ci="0" mb="0" cb="0"/><line nr="41" mi="5" ci="0" mb="0" cb="0"/><line nr="42" mi="5" ci="0" mb="0" cb="0"/><line nr="43" mi="1" ci="0" mb="0" cb="0"/><line nr="44" mi="2" ci="0" mb="0" cb="0"/><line nr="45" mi="1" ci="0" mb="0" cb="0"/><line nr="46" mi="5" ci="0" mb="0" cb="0"/><line nr="47" mi="1" ci="0" mb="0" cb="0"/><line nr="49" mi="2" ci="0" mb="0" cb="0"/><line nr="51" mi="8" ci="0" mb="0" cb="0"/><line nr="52" mi="9" ci="0" mb="0" cb="0"/><line nr="53" mi="2" ci="0" mb="0" cb="0"/><line nr="55" mi="7" ci="0" mb="0" cb="0"/><line nr="56" mi="1" ci="0" mb="0" cb="0"/><line nr="57" mi="3" ci="0" mb="0" cb="0"/><line nr="58" mi="1" ci="0" mb="0" cb="0"/><line nr="59" mi="5" ci="0" mb="4" cb="0"/><line nr="60" mi="4" ci="0" mb="0" cb="0"/><line nr="61" mi="4" ci="0" mb="0" cb="0"/><line nr="63" mi="5" ci="0" mb="0" cb="0"/><line nr="64" mi="10" ci="0" mb="0" cb="0"/><line nr="66" mi="6" ci="0" mb="0" cb="0"/><line nr="67" mi="3" ci="0" mb="0" cb="0"/><line nr="68" mi="3" ci="0" mb="2" cb="0"/><line nr="70" mi="5" ci="0" mb="0" cb="0"/><line nr="72" mi="8" ci="0" mb="2" cb="0"/><line nr="73" mi="6" ci="0" mb="2" cb="0"/><line nr="74" mi="5" ci="0" mb="0" cb="0"/><line nr="75" mi="5" ci="0" mb="2" cb="0"/><line nr="77" mi="5" ci="0" mb="0" cb="0"/><line nr="78" mi="1" ci="0" mb="0" cb="0"/><line nr="79" mi="2" ci="0" mb="0" cb="0"/><line nr="80" mi="1" ci="0" mb="0" cb="0"/><line nr="85" mi="1" ci="0" mb="0" cb="0"/><line nr="89" mi="5" ci="0" mb="0" cb="0"/><line nr="90" mi="1" ci="0" mb="0" cb="0"/><line nr="94" mi="3" ci="0" mb="0" cb="0"/><line nr="98" mi="3" ci="0" mb="0" cb="0"/><line nr="99" mi="2" ci="0" mb="0" cb="0"/><line nr="100" mi="2" ci="0" mb="0" cb="0"/><line nr="104" mi="3" ci="0" mb="0" cb="0"/><line nr="108" mi="3" ci="0" mb="0" cb="0"/><line nr="112" mi="4" ci="0" mb="0" cb="0"/><line nr="113" mi="4" ci="0" mb="0" cb="0"/><line nr="115" mi="4" ci="0" mb="0" cb="0"/><line nr="116" mi="7" ci="0" mb="0" cb="0"/><line nr="117" mi="4" ci="0" mb="0" cb="0"/><line nr="119" mi="4" ci="0" mb="0" cb="0"/><line nr="120" mi="7" ci="0" mb="0" cb="0"/><line nr="121" mi="4" ci="0" mb="0" cb="0"/><line nr="123" mi="4" ci="0" mb="0" cb="0"/><line nr="124" mi="9" ci="0" mb="0" cb="0"/><line nr="125" mi="4" ci="0" mb="0" cb="0"/><line nr="127" mi="4" ci="0" mb="0" cb="0"/><line nr="128" mi="8" ci="0" mb="0" cb="0"/><line nr="129" mi="4" ci="0" mb="0" cb="0"/><line nr="131" mi="4" ci="0" mb="0" cb="0"/><line nr="132" mi="5" ci="0" mb="0" cb="0"/><line nr="133" mi="9" ci="0" mb="0" cb="0"/><line nr="134" mi="4" ci="0" mb="0" cb="0"/><line nr="136" mi="4" ci="0" mb="0" cb="0"/><line nr="137" mi="11" ci="0" mb="2" cb="0"/><line nr="138" mi="4" ci="0" mb="0" cb="0"/><line nr="139" mi="7" ci="0" mb="0" cb="0"/><line nr="140" mi="4" ci="0" mb="0" cb="0"/><line nr="141" mi="1" ci="0" mb="0" cb="0"/><line nr="142" mi="4" ci="0" mb="0" cb="0"/><line nr="144" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="330" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="84" covered="0"/><counter type="COMPLEXITY" missed="16" covered="0"/><counter type="METHOD" missed="9" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="Language.java"><line nr="3" mi="3" ci="0" mb="0" cb="0"/><line nr="4" mi="35" ci="0" mb="0" cb="0"/><line nr="7" mi="4" ci="0" mb="0" cb="0"/><line nr="8" mi="3" ci="0" mb="0" cb="0"/><line nr="9" mi="1" ci="0" mb="0" cb="0"/><line nr="12" mi="3" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="49" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="Genre.java"><line nr="3" mi="3" ci="0" mb="0" cb="0"/><line nr="4" mi="42" ci="0" mb="0" cb="0"/><line nr="7" mi="4" ci="0" mb="0" cb="0"/><line nr="8" mi="3" ci="0" mb="0" cb="0"/><line nr="9" mi="1" ci="0" mb="0" cb="0"/><line nr="12" mi="3" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="56" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="NoPlayListFoundException.java"><line nr="6" mi="3" ci="0" mb="0" cb="0"/><line nr="7" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="AudioElement.java"><line nr="24" mi="2" ci="0" mb="0" cb="0"/><line nr="25" mi="3" ci="0" mb="0" cb="0"/><line nr="26" mi="3" ci="0" mb="0" cb="0"/><line nr="27" mi="3" ci="0" mb="0" cb="0"/><line nr="28" mi="4" ci="0" mb="0" cb="0"/><line nr="29" mi="3" ci="0" mb="0" cb="0"/><line nr="30" mi="1" ci="0" mb="0" cb="0"/><line nr="32" mi="2" ci="0" mb="0" cb="0"/><line nr="33" mi="3" ci="0" mb="0" cb="0"/><line nr="34" mi="3" ci="0" mb="0" cb="0"/><line nr="35" mi="3" ci="0" mb="0" cb="0"/><line nr="36" mi="3" ci="0" mb="0" cb="0"/><line nr="37" mi="3" ci="0" mb="0" cb="0"/><line nr="38" mi="1" ci="0" mb="0" cb="0"/><line nr="40" mi="2" ci="0" mb="0" cb="0"/><line nr="42" mi="8" ci="0" mb="0" cb="0"/><line nr="43" mi="8" ci="0" mb="0" cb="0"/><line nr="44" mi="9" ci="0" mb="0" cb="0"/><line nr="45" mi="8" ci="0" mb="0" cb="0"/><line nr="46" mi="2" ci="0" mb="0" cb="0"/><line nr="48" mi="7" ci="0" mb="0" cb="0"/><line nr="49" mi="1" ci="0" mb="0" cb="0"/><line nr="50" mi="3" ci="0" mb="0" cb="0"/><line nr="51" mi="1" ci="0" mb="0" cb="0"/><line nr="52" mi="5" ci="0" mb="4" cb="0"/><line nr="53" mi="4" ci="0" mb="0" cb="0"/><line nr="54" mi="4" ci="0" mb="0" cb="0"/><line nr="56" mi="1" ci="0" mb="0" cb="0"/><line nr="59" mi="3" ci="0" mb="0" cb="0"/><line nr="63" mi="3" ci="0" mb="0" cb="0"/><line nr="67" mi="3" ci="0" mb="0" cb="0"/><line nr="71" mi="10" ci="0" mb="0" cb="0"/><line nr="75" mi="4" ci="0" mb="0" cb="0"/><line nr="76" mi="7" ci="0" mb="0" cb="0"/><line nr="77" mi="4" ci="0" mb="0" cb="0"/><line nr="79" mi="4" ci="0" mb="0" cb="0"/><line nr="80" mi="7" ci="0" mb="0" cb="0"/><line nr="81" mi="4" ci="0" mb="0" cb="0"/><line nr="83" mi="4" ci="0" mb="0" cb="0"/><line nr="84" mi="9" ci="0" mb="0" cb="0"/><line nr="85" mi="4" ci="0" mb="0" cb="0"/><line nr="87" mi="4" ci="0" mb="0" cb="0"/><line nr="88" mi="8" ci="0" mb="0" cb="0"/><line nr="89" mi="4" ci="0" mb="0" cb="0"/><line nr="91" mi="4" ci="0" mb="0" cb="0"/><line nr="92" mi="7" ci="0" mb="0" cb="0"/><line nr="93" mi="4" ci="0" mb="0" cb="0"/><line nr="95" mi="1" ci="0" mb="0" cb="0"/><line nr="99" mi="5" ci="0" mb="0" cb="0"/><line nr="101" mi="6" ci="0" mb="0" cb="0"/><line nr="102" mi="3" ci="0" mb="0" cb="0"/><line nr="103" mi="2" ci="0" mb="0" cb="0"/><line nr="104" mi="3" ci="0" mb="0" cb="0"/><line nr="106" mi="2" ci="0" mb="0" cb="0"/><line nr="108" mi="4" ci="0" mb="2" cb="0"/><line nr="109" mi="3" ci="0" mb="0" cb="0"/><line nr="110" mi="3" ci="0" mb="0" cb="0"/><line nr="111" mi="3" ci="0" mb="0" cb="0"/><line nr="112" mi="3" ci="0" mb="0" cb="0"/><line nr="114" mi="8" ci="0" mb="5" cb="0"/><line nr="115" mi="2" ci="0" mb="0" cb="0"/><line nr="116" mi="1" ci="0" mb="0" cb="0"/><line nr="117" mi="2" ci="0" mb="0" cb="0"/><line nr="118" mi="1" ci="0" mb="0" cb="0"/><line nr="119" mi="3" ci="0" mb="0" cb="0"/><line nr="120" mi="1" ci="0" mb="0" cb="0"/><line nr="121" mi="2" ci="0" mb="0" cb="0"/><line nr="122" mi="1" ci="0" mb="0" cb="0"/><line nr="123" mi="3" ci="0" mb="0" cb="0"/><line nr="125" mi="4" ci="0" mb="0" cb="0"/><line nr="128" mi="2" ci="0" mb="0" cb="0"/><line nr="130" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="266" covered="0"/><counter type="BRANCH" missed="11" covered="0"/><counter type="LINE" missed="72" covered="0"/><counter type="COMPLEXITY" missed="16" covered="0"/><counter type="METHOD" missed="9" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="NoElementFoundException.java"><line nr="6" mi="3" ci="0" mb="0" cb="0"/><line nr="7" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="Category.java"><line nr="3" mi="3" ci="0" mb="0" cb="0"/><line nr="4" mi="35" ci="0" mb="0" cb="0"/><line nr="7" mi="4" ci="0" mb="0" cb="0"/><line nr="8" mi="3" ci="0" mb="0" cb="0"/><line nr="9" mi="1" ci="0" mb="0" cb="0"/><line nr="12" mi="3" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="49" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="AudioBook.java"><line nr="11" mi="7" ci="0" mb="0" cb="0"/><line nr="12" mi="3" ci="0" mb="0" cb="0"/><line nr="13" mi="3" ci="0" mb="0" cb="0"/><line nr="14" mi="1" ci="0" mb="0" cb="0"/><line nr="17" mi="6" ci="0" mb="0" cb="0"/><line nr="18" mi="3" ci="0" mb="0" cb="0"/><line nr="19" mi="3" ci="0" mb="0" cb="0"/><line nr="20" mi="1" ci="0" mb="0" cb="0"/><line nr="23" mi="3" ci="0" mb="0" cb="0"/><line nr="24" mi="8" ci="0" mb="0" cb="0"/><line nr="25" mi="8" ci="0" mb="0" cb="0"/><line nr="26" mi="1" ci="0" mb="0" cb="0"/><line nr="29" mi="3" ci="0" mb="0" cb="0"/><line nr="33" mi="9" ci="0" mb="5" cb="0"/><line nr="34" mi="4" ci="0" mb="0" cb="0"/><line nr="35" mi="4" ci="0" mb="0" cb="0"/><line nr="36" mi="4" ci="0" mb="0" cb="0"/><line nr="37" mi="4" ci="0" mb="0" cb="0"/><line nr="38" mi="3" ci="0" mb="0" cb="0"/><line nr="40" mi="1" ci="0" mb="0" cb="0"/><line nr="43" mi="3" ci="0" mb="0" cb="0"/><line nr="47" mi="9" ci="0" mb="5" cb="0"/><line nr="48" mi="4" ci="0" mb="0" cb="0"/><line nr="49" mi="4" ci="0" mb="0" cb="0"/><line nr="50" mi="4" ci="0" mb="0" cb="0"/><line nr="51" mi="4" ci="0" mb="0" cb="0"/><line nr="52" mi="3" ci="0" mb="0" cb="0"/><line nr="54" mi="1" ci="0" mb="0" cb="0"/><line nr="58" mi="8" ci="0" mb="0" cb="0"/><line nr="64" mi="4" ci="0" mb="0" cb="0"/><line nr="66" mi="4" ci="0" mb="0" cb="0"/><line nr="68" mi="4" ci="0" mb="0" cb="0"/><line nr="69" mi="8" ci="0" mb="0" cb="0"/><line nr="70" mi="4" ci="0" mb="0" cb="0"/><line nr="72" mi="4" ci="0" mb="0" cb="0"/><line nr="73" mi="8" ci="0" mb="0" cb="0"/><line nr="74" mi="4" ci="0" mb="0" cb="0"/><line nr="76" mi="4" ci="0" mb="0" cb="0"/><line nr="77" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="164" covered="0"/><counter type="BRANCH" missed="10" covered="0"/><counter type="LINE" missed="39" covered="0"/><counter type="COMPLEXITY" missed="17" covered="0"/><counter type="METHOD" missed="9" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="Song.java"><line nr="11" mi="7" ci="0" mb="0" cb="0"/><line nr="12" mi="3" ci="0" mb="0" cb="0"/><line nr="13" mi="1" ci="0" mb="0" cb="0"/><line nr="16" mi="6" ci="0" mb="0" cb="0"/><line nr="17" mi="3" ci="0" mb="0" cb="0"/><line nr="18" mi="1" ci="0" mb="0" cb="0"/><line nr="21" mi="3" ci="0" mb="0" cb="0"/><line nr="22" mi="8" ci="0" mb="0" cb="0"/><line nr="23" mi="1" ci="0" mb="0" cb="0"/><line nr="26" mi="4" ci="0" mb="0" cb="0"/><line nr="30" mi="9" ci="0" mb="6" cb="0"/><line nr="31" mi="4" ci="0" mb="0" cb="0"/><line nr="32" mi="4" ci="0" mb="0" cb="0"/><line nr="33" mi="4" ci="0" mb="0" cb="0"/><line nr="34" mi="4" ci="0" mb="0" cb="0"/><line nr="35" mi="4" ci="0" mb="0" cb="0"/><line nr="36" mi="3" ci="0" mb="0" cb="0"/><line nr="38" mi="1" ci="0" mb="0" cb="0"/><line nr="41" mi="6" ci="0" mb="0" cb="0"/><line nr="46" mi="4" ci="0" mb="0" cb="0"/><line nr="48" mi="4" ci="0" mb="0" cb="0"/><line nr="50" mi="4" ci="0" mb="0" cb="0"/><line nr="51" mi="8" ci="0" mb="0" cb="0"/><line nr="52" mi="4" ci="0" mb="0" cb="0"/><line nr="54" mi="4" ci="0" mb="0" cb="0"/><line nr="55" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="105" covered="0"/><counter type="BRANCH" missed="6" covered="0"/><counter type="LINE" missed="26" covered="0"/><counter type="COMPLEXITY" missed="12" covered="0"/><counter type="METHOD" missed="7" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><counter type="INSTRUCTION" missed="2063" covered="0"/><counter type="BRANCH" missed="169" covered="0"/><counter type="LINE" missed="499" covered="0"/><counter type="COMPLEXITY" missed="172" covered="0"/><counter type="METHOD" missed="81" covered="0"/><counter type="CLASS" missed="15" covered="0"/></package><package name="musichub/main"><class name="musichub/main/Main" sourcefilename="Main.java"><method name="&lt;init&gt;" desc="()V" line="15"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="main" desc="([Ljava/lang/String;)V" line="18"><counter type="INSTRUCTION" missed="562" covered="0"/><counter type="BRANCH" missed="41" covered="0"/><counter type="LINE" missed="191" covered="0"/><counter type="COMPLEXITY" missed="28" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="printAvailableCommands" desc="()V" line="261"><counter type="INSTRUCTION" missed="40" covered="0"/><counter type="LINE" missed="14" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="605" covered="0"/><counter type="BRANCH" missed="41" covered="0"/><counter type="LINE" missed="206" covered="0"/><counter type="COMPLEXITY" missed="30" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><sourcefile name="Main.java"><line nr="15" mi="3" ci="0" mb="0" cb="0"/><line nr="18" mi="4" ci="0" mb="0" cb="0"/><line nr="20" mi="3" ci="0" mb="0" cb="0"/><line nr="23" mi="5" ci="0" mb="0" cb="0"/><line nr="24" mi="3" ci="0" mb="0" cb="0"/><line nr="28" mi="5" ci="0" mb="2" cb="0"/><line nr="30" mi="4" ci="0" mb="2" cb="0"/><line nr="31" mi="4" ci="0" mb="15" cb="0"/><line nr="33" mi="2" ci="0" mb="0" cb="0"/><line nr="35" mi="1" ci="0" mb="0" cb="0"/><line nr="36" mi="3" ci="0" mb="0" cb="0"/><line nr="37" mi="1" ci="0" mb="0" cb="0"/><line nr="40" mi="4" ci="0" mb="0" cb="0"/><line nr="41" mi="1" ci="0" mb="0" cb="0"/><line nr="42" mi="3" ci="0" mb="0" cb="0"/><line nr="43" mi="1" ci="0" mb="0" cb="0"/><line nr="46" mi="3" ci="0" mb="0" cb="0"/><line nr="47" mi="4" ci="0" mb="0" cb="0"/><line nr="49" mi="3" ci="0" mb="0" cb="0"/><line nr="51" mi="4" ci="0" mb="0" cb="0"/><line nr="52" mi="3" ci="0" mb="0" cb="0"/><line nr="53" mi="1" ci="0" mb="0" cb="0"/><line nr="54" mi="5" ci="0" mb="0" cb="0"/><line nr="55" mi="1" ci="0" mb="0" cb="0"/><line nr="56" mi="1" ci="0" mb="0" cb="0"/><line nr="57" mi="3" ci="0" mb="0" cb="0"/><line nr="58" mi="1" ci="0" mb="0" cb="0"/><line nr="61" mi="3" ci="0" mb="0" cb="0"/><line nr="62" mi="4" ci="0" mb="0" cb="0"/><line nr="64" mi="3" ci="0" mb="0" cb="0"/><line nr="66" mi="4" ci="0" mb="0" cb="0"/><line nr="67" mi="5" ci="0" mb="0" cb="0"/><line nr="68" mi="3" ci="0" mb="0" cb="0"/><line nr="69" mi="4" ci="0" mb="0" cb="0"/><line nr="70" mi="1" ci="0" mb="0" cb="0"/><line nr="71" mi="5" ci="0" mb="0" cb="0"/><line nr="72" mi="1" ci="0" mb="0" cb="0"/><line nr="73" mi="1" ci="0" mb="0" cb="0"/><line nr="74" mi="3" ci="0" mb="0" cb="0"/><line nr="75" mi="1" ci="0" mb="0" cb="0"/><line nr="78" mi="4" ci="0" mb="0" cb="0"/><line nr="79" mi="1" ci="0" mb="0" cb="0"/><line nr="80" mi="3" ci="0" mb="0" cb="0"/><line nr="81" mi="1" ci="0" mb="0" cb="0"/><line nr="84" mi="3" ci="0" mb="0" cb="0"/><line nr="85" mi="3" ci="0" mb="0" cb="0"/><line nr="86" mi="3" ci="0" mb="0" cb="0"/><line nr="87" mi="3" ci="0" mb="0" cb="0"/><line nr="88" mi="3" ci="0" mb="0" cb="0"/><line nr="89" mi="3" ci="0" mb="0" cb="0"/><line nr="90" mi="3" ci="0" mb="0" cb="0"/><line nr="91" mi="3" ci="0" mb="0" cb="0"/><line nr="92" mi="4" ci="0" mb="0" cb="0"/><line nr="94" mi="3" ci="0" mb="0" cb="0"/><line nr="95" mi="3" ci="0" mb="0" cb="0"/><line nr="96" mi="3" ci="0" mb="2" cb="0"/><line nr="97" mi="2" ci="0" mb="0" cb="0"/><line nr="98" mi="3" ci="0" mb="0" cb="0"/><line nr="99" mi="4" ci="0" mb="0" cb="0"/><line nr="100" mi="3" ci="0" mb="0" cb="0"/><line nr="101" mi="1" ci="0" mb="0" cb="0"/><line nr="104" mi="9" ci="0" mb="0" cb="0"/><line nr="105" mi="3" ci="0" mb="0" cb="0"/><line nr="106" mi="3" ci="0" mb="0" cb="0"/><line nr="107" mi="3" ci="0" mb="0" cb="0"/><line nr="108" mi="10" ci="0" mb="2" cb="0"/><line nr="109" mi="3" ci="0" mb="0" cb="0"/><line nr="110" mi="1" ci="0" mb="0" cb="0"/><line nr="111" mi="3" ci="0" mb="0" cb="0"/><line nr="112" mi="1" ci="0" mb="0" cb="0"/><line nr="115" mi="3" ci="0" mb="0" cb="0"/><line nr="116" mi="3" ci="0" mb="0" cb="0"/><line nr="117" mi="3" ci="0" mb="0" cb="0"/><line nr="118" mi="3" ci="0" mb="0" cb="0"/><line nr="119" mi="3" ci="0" mb="0" cb="0"/><line nr="120" mi="3" ci="0" mb="0" cb="0"/><line nr="121" mi="4" ci="0" mb="0" cb="0"/><line nr="122" mi="3" ci="0" mb="0" cb="0"/><line nr="123" mi="3" ci="0" mb="0" cb="0"/><line nr="124" mi="8" ci="0" mb="0" cb="0"/><line nr="125" mi="3" ci="0" mb="0" cb="0"/><line nr="126" mi="3" ci="0" mb="0" cb="0"/><line nr="127" mi="3" ci="0" mb="0" cb="0"/><line nr="128" mi="10" ci="0" mb="2" cb="0"/><line nr="129" mi="3" ci="0" mb="0" cb="0"/><line nr="130" mi="1" ci="0" mb="0" cb="0"/><line nr="131" mi="3" ci="0" mb="0" cb="0"/><line nr="132" mi="1" ci="0" mb="0" cb="0"/><line nr="135" mi="3" ci="0" mb="0" cb="0"/><line nr="136" mi="3" ci="0" mb="0" cb="0"/><line nr="137" mi="3" ci="0" mb="0" cb="0"/><line nr="138" mi="3" ci="0" mb="2" cb="0"/><line nr="139" mi="4" ci="0" mb="0" cb="0"/><line nr="140" mi="7" ci="0" mb="2" cb="0"/><line nr="141" mi="1" ci="0" mb="0" cb="0"/><line nr="142" mi="3" ci="0" mb="0" cb="0"/><line nr="144" mi="3" ci="0" mb="0" cb="0"/><line nr="145" mi="3" ci="0" mb="0" cb="0"/><line nr="146" mi="3" ci="0" mb="2" cb="0"/><line nr="147" mi="4" ci="0" mb="0" cb="0"/><line nr="148" mi="4" ci="0" mb="0" cb="0"/><line nr="149" mi="1" ci="0" mb="0" cb="0"/><line nr="150" mi="3" ci="0" mb="0" cb="0"/><line nr="152" mi="4" ci="0" mb="0" cb="0"/><line nr="153" mi="1" ci="0" mb="0" cb="0"/><line nr="154" mi="4" ci="0" mb="0" cb="0"/><line nr="155" mi="1" ci="0" mb="0" cb="0"/><line nr="156" mi="3" ci="0" mb="0" cb="0"/><line nr="157" mi="1" ci="0" mb="0" cb="0"/><line nr="158" mi="3" ci="0" mb="0" cb="0"/><line nr="159" mi="1" ci="0" mb="0" cb="0"/><line nr="162" mi="3" ci="0" mb="0" cb="0"/><line nr="163" mi="3" ci="0" mb="0" cb="0"/><line nr="164" mi="3" ci="0" mb="0" cb="0"/><line nr="165" mi="3" ci="0" mb="0" cb="0"/><line nr="166" mi="3" ci="0" mb="0" cb="0"/><line nr="167" mi="3" ci="0" mb="0" cb="0"/><line nr="168" mi="3" ci="0" mb="0" cb="0"/><line nr="169" mi="3" ci="0" mb="0" cb="0"/><line nr="170" mi="4" ci="0" mb="0" cb="0"/><line nr="171" mi="3" ci="0" mb="0" cb="0"/><line nr="172" mi="3" ci="0" mb="0" cb="0"/><line nr="173" mi="3" ci="0" mb="0" cb="0"/><line nr="174" mi="3" ci="0" mb="0" cb="0"/><line nr="175" mi="10" ci="0" mb="0" cb="0"/><line nr="176" mi="3" ci="0" mb="0" cb="0"/><line nr="177" mi="3" ci="0" mb="0" cb="0"/><line nr="178" mi="3" ci="0" mb="0" cb="0"/><line nr="179" mi="10" ci="0" mb="2" cb="0"/><line nr="180" mi="1" ci="0" mb="0" cb="0"/><line nr="181" mi="3" ci="0" mb="0" cb="0"/><line nr="182" mi="1" ci="0" mb="0" cb="0"/><line nr="185" mi="3" ci="0" mb="0" cb="0"/><line nr="186" mi="3" ci="0" mb="0" cb="0"/><line nr="187" mi="3" ci="0" mb="0" cb="0"/><line nr="188" mi="3" ci="0" mb="2" cb="0"/><line nr="189" mi="4" ci="0" mb="0" cb="0"/><line nr="190" mi="4" ci="0" mb="0" cb="0"/><line nr="191" mi="1" ci="0" mb="0" cb="0"/><line nr="192" mi="3" ci="0" mb="0" cb="0"/><line nr="193" mi="3" ci="0" mb="0" cb="0"/><line nr="194" mi="5" ci="0" mb="0" cb="0"/><line nr="195" mi="3" ci="0" mb="0" cb="0"/><line nr="196" mi="3" ci="0" mb="0" cb="0"/><line nr="198" mi="3" ci="0" mb="0" cb="0"/><line nr="199" mi="3" ci="0" mb="2" cb="0"/><line nr="200" mi="4" ci="0" mb="0" cb="0"/><line nr="201" mi="4" ci="0" mb="0" cb="0"/><line nr="202" mi="1" ci="0" mb="0" cb="0"/><line nr="203" mi="5" ci="0" mb="2" cb="0"/><line nr="204" mi="3" ci="0" mb="0" cb="0"/><line nr="205" mi="3" ci="0" mb="0" cb="0"/><line nr="207" mi="4" ci="0" mb="0" cb="0"/><line nr="208" mi="1" ci="0" mb="0" cb="0"/><line nr="209" mi="4" ci="0" mb="0" cb="0"/><line nr="210" mi="1" ci="0" mb="0" cb="0"/><line nr="212" mi="3" ci="0" mb="0" cb="0"/><line nr="213" mi="3" ci="0" mb="0" cb="0"/><line nr="214" mi="1" ci="0" mb="0" cb="0"/><line nr="215" mi="3" ci="0" mb="0" cb="0"/><line nr="216" mi="1" ci="0" mb="0" cb="0"/><line nr="217" mi="3" ci="0" mb="0" cb="0"/><line nr="218" mi="1" ci="0" mb="0" cb="0"/><line nr="221" mi="3" ci="0" mb="0" cb="0"/><line nr="222" mi="3" ci="0" mb="0" cb="0"/><line nr="223" mi="3" ci="0" mb="2" cb="0"/><line nr="224" mi="4" ci="0" mb="0" cb="0"/><line nr="225" mi="4" ci="0" mb="0" cb="0"/><line nr="226" mi="1" ci="0" mb="0" cb="0"/><line nr="227" mi="3" ci="0" mb="0" cb="0"/><line nr="229" mi="3" ci="0" mb="0" cb="0"/><line nr="230" mi="1" ci="0" mb="0" cb="0"/><line nr="231" mi="4" ci="0" mb="0" cb="0"/><line nr="232" mi="1" ci="0" mb="0" cb="0"/><line nr="233" mi="3" ci="0" mb="0" cb="0"/><line nr="234" mi="1" ci="0" mb="0" cb="0"/><line nr="235" mi="3" ci="0" mb="0" cb="0"/><line nr="236" mi="1" ci="0" mb="0" cb="0"/><line nr="239" mi="2" ci="0" mb="0" cb="0"/><line nr="240" mi="2" ci="0" mb="0" cb="0"/><line nr="241" mi="2" ci="0" mb="0" cb="0"/><line nr="242" mi="3" ci="0" mb="0" cb="0"/><line nr="243" mi="1" ci="0" mb="0" cb="0"/><line nr="244" mi="3" ci="0" mb="0" cb="0"/><line nr="245" mi="1" ci="0" mb="0" cb="0"/><line nr="248" mi="1" ci="0" mb="0" cb="0"/><line nr="249" mi="3" ci="0" mb="0" cb="0"/><line nr="250" mi="3" ci="0" mb="0" cb="0"/><line nr="251" mi="1" ci="0" mb="0" cb="0"/><line nr="254" mi="1" ci="0" mb="0" cb="0"/><line nr="257" mi="2" ci="0" mb="0" cb="0"/><line nr="258" mi="1" ci="0" mb="0" cb="0"/><line nr="261" mi="3" ci="0" mb="0" cb="0"/><line nr="262" mi="3" ci="0" mb="0" cb="0"/><line nr="263" mi="3" ci="0" mb="0" cb="0"/><line nr="264" mi="3" ci="0" mb="0" cb="0"/><line nr="265" mi="3" ci="0" mb="0" cb="0"/><line nr="266" mi="3" ci="0" mb="0" cb="0"/><line nr="267" mi="3" ci="0" mb="0" cb="0"/><line nr="268" mi="3" ci="0" mb="0" cb="0"/><line nr="269" mi="3" ci="0" mb="0" cb="0"/><line nr="270" mi="3" ci="0" mb="0" cb="0"/><line nr="271" mi="3" ci="0" mb="0" cb="0"/><line nr="272" mi="3" ci="0" mb="0" cb="0"/><line nr="273" mi="3" ci="0" mb="0" cb="0"/><line nr="274" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="605" covered="0"/><counter type="BRANCH" missed="41" covered="0"/><counter type="LINE" missed="206" covered="0"/><counter type="COMPLEXITY" missed="30" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><counter type="INSTRUCTION" missed="605" covered="0"/><counter type="BRANCH" missed="41" covered="0"/><counter type="LINE" missed="206" covered="0"/><counter type="COMPLEXITY" missed="30" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></package><counter type="INSTRUCTION" missed="2674" covered="129"/><counter type="BRANCH" missed="210" covered="0"/><counter type="LINE" missed="709" covered="36"/><counter type="COMPLEXITY" missed="202" covered="9"/><counter type="METHOD" missed="84" covered="9"/><counter type="CLASS" missed="16" covered="3"/></report>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.util/XMLHandler.html b/target/site/jacoco/musichub.util/XMLHandler.html
          index 7aff8c8..a99c1d8 100644
          --- a/target/site/jacoco/musichub.util/XMLHandler.html
          +++ b/target/site/jacoco/musichub.util/XMLHandler.html
          @@ -1 +1 @@
          -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>XMLHandler</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.html" class="el_package">musichub.util</a> &gt; <span class="el_class">XMLHandler</span></div><h1>XMLHandler</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">72 of 72</td><td class="ctr2">0 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">25</td><td class="ctr2">25</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a3"><a href="XMLHandler.java.html#L26" class="el_method">XMLHandler()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="23" alt="23"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="XMLHandler.java.html#L41" class="el_method">createXMLFile(Document, String)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="23" alt="23"/></td><td class="ctr2" id="c1">0 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h2">7</td><td class="ctr2" id="i2">7</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="XMLHandler.java.html#L61" class="el_method">parseXMLFile(String)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="114" height="10" title="22" alt="22"/></td><td class="ctr2" id="c2">0 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h1">8</td><td class="ctr2" id="i1">8</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="XMLHandler.java.html#L57" class="el_method">createXMLDocument()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="20" height="10" title="4" alt="4"/></td><td class="ctr2" id="c3">0 %</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>XMLHandler</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.html" class="el_package">musichub.util</a> &gt; <span class="el_class">XMLHandler</span></div><h1>XMLHandler</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">6 of 72</td><td class="ctr2">91 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">4</td><td class="ctr1">4</td><td class="ctr2">25</td><td class="ctr1">0</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a3"><a href="XMLHandler.java.html#L26" class="el_method">XMLHandler()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="15" height="10" title="3" alt="3"/><img src="../jacoco-resources/greenbar.gif" width="104" height="10" title="20" alt="20"/></td><td class="ctr2" id="c2">86 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="XMLHandler.java.html#L41" class="el_method">createXMLFile(Document, String)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="15" height="10" title="3" alt="3"/><img src="../jacoco-resources/greenbar.gif" width="104" height="10" title="20" alt="20"/></td><td class="ctr2" id="c3">86 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i2">7</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="XMLHandler.java.html#L61" class="el_method">parseXMLFile(String)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="114" height="10" title="22" alt="22"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i1">8</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="XMLHandler.java.html#L57" class="el_method">createXMLDocument()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/greenbar.gif" width="20" height="10" title="4" alt="4"/></td><td class="ctr2" id="c1">100 %</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.util/XMLHandler.java.html b/target/site/jacoco/musichub.util/XMLHandler.java.html
          index b8ee27a..7d6e751 100644
          --- a/target/site/jacoco/musichub.util/XMLHandler.java.html
          +++ b/target/site/jacoco/musichub.util/XMLHandler.java.html
          @@ -23,51 +23,51 @@ public class XMLHandler {
               DocumentBuilderFactory documentFactory;
               DocumentBuilder documentBuilder;
           
          -<span class="nc" id="L26">    public XMLHandler() {</span>
          +<span class="fc" id="L26">    public XMLHandler() {</span>
                   try {
          -<span class="nc" id="L28">            transformerFactory = TransformerFactory.newInstance();</span>
          -<span class="nc" id="L29">            transformer = transformerFactory.newTransformer();</span>
          -<span class="nc" id="L30">            documentFactory = DocumentBuilderFactory.newInstance();</span>
          -<span class="nc" id="L31">            documentBuilder = documentFactory.newDocumentBuilder();</span>
          +<span class="fc" id="L28">            transformerFactory = TransformerFactory.newInstance();</span>
          +<span class="fc" id="L29">            transformer = transformerFactory.newTransformer();</span>
          +<span class="fc" id="L30">            documentFactory = DocumentBuilderFactory.newInstance();</span>
          +<span class="fc" id="L31">            documentBuilder = documentFactory.newDocumentBuilder();</span>
           <span class="nc" id="L32">        } catch (TransformerException | ParserConfigurationException tfe) {</span>
           <span class="nc" id="L33">            tfe.printStackTrace();</span>
          -<span class="nc" id="L34">        }</span>
          -<span class="nc" id="L35">    }</span>
          +<span class="fc" id="L34">        }</span>
          +<span class="fc" id="L35">    }</span>
           
               public void createXMLFile(Document document, String filePath) {
                   try {
                       // create the xml file
                       //transform the DOM Object to an XML File
          -<span class="nc" id="L41">            DOMSource domSource = new DOMSource(document);</span>
          -<span class="nc" id="L42">            StreamResult streamResult = new StreamResult(new File(filePath));</span>
          +<span class="fc" id="L41">            DOMSource domSource = new DOMSource(document);</span>
          +<span class="fc" id="L42">            StreamResult streamResult = new StreamResult(new File(filePath));</span>
           
                       // If you use
                       // StreamResult result = new StreamResult(System.out);
                       // the output will be pushed to the standard output ...
                       // You can use that for debugging
           
          -<span class="nc" id="L49">            transformer.transform(domSource, streamResult);</span>
          +<span class="fc" id="L49">            transformer.transform(domSource, streamResult);</span>
           
           <span class="nc" id="L51">        } catch (TransformerException tfe) {</span>
           <span class="nc" id="L52">            tfe.printStackTrace();</span>
          -<span class="nc" id="L53">        }</span>
          -<span class="nc" id="L54">    }</span>
          +<span class="fc" id="L53">        }</span>
          +<span class="fc" id="L54">    }</span>
           
               public Document createXMLDocument() {
          -<span class="nc" id="L57">        return documentBuilder.newDocument();</span>
          +<span class="fc" id="L57">        return documentBuilder.newDocument();</span>
               }
           
               public NodeList parseXMLFile(String filePath) {
          -<span class="nc" id="L61">        NodeList elementNodes = null;</span>
          +<span class="fc" id="L61">        NodeList elementNodes = null;</span>
                   try {
          -<span class="nc" id="L63">            Document document = documentBuilder.parse(new File(filePath));</span>
          -<span class="nc" id="L64">            Element root = document.getDocumentElement();</span>
          +<span class="fc" id="L63">            Document document = documentBuilder.parse(new File(filePath));</span>
          +<span class="fc" id="L64">            Element root = document.getDocumentElement();</span>
           
          -<span class="nc" id="L66">            elementNodes = root.getChildNodes();</span>
          -<span class="nc" id="L67">        } catch (SAXException | IOException e) {</span>
          -<span class="nc" id="L68">            e.printStackTrace();</span>
          -<span class="nc" id="L69">        }</span>
          -<span class="nc" id="L70">        return elementNodes;</span>
          +<span class="fc" id="L66">            elementNodes = root.getChildNodes();</span>
          +<span class="fc" id="L67">        } catch (SAXException | IOException e) {</span>
          +<span class="fc" id="L68">            e.printStackTrace();</span>
          +<span class="fc" id="L69">        }</span>
          +<span class="fc" id="L70">        return elementNodes;</span>
               }
           
           
          diff --git a/target/site/jacoco/musichub.util/index.html b/target/site/jacoco/musichub.util/index.html
          index 20f0d2b..8091491 100644
          --- a/target/site/jacoco/musichub.util/index.html
          +++ b/target/site/jacoco/musichub.util/index.html
          @@ -1 +1 @@
          -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>musichub.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <span class="el_package">musichub.util</span></div><h1>musichub.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">72 of 135</td><td class="ctr2">46 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">9</td><td class="ctr1">25</td><td class="ctr2">40</td><td class="ctr1">4</td><td class="ctr2">9</td><td class="ctr1">1</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="XMLHandler.html" class="el_class">XMLHandler</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="72" alt="72"/></td><td class="ctr2" id="c2">0 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">25</td><td class="ctr2" id="i0">25</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="LogHandler.html" class="el_class">LogHandler</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="76" height="10" title="46" alt="46"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">11</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a1"><a href="PathValidation.html" class="el_class">PathValidation</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="28" height="10" title="17" alt="17"/></td><td class="ctr2" id="c1">100 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">2</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>musichub.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <span class="el_package">musichub.util</span></div><h1>musichub.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">6 of 135</td><td class="ctr2">95 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">9</td><td class="ctr1">4</td><td class="ctr2">40</td><td class="ctr1">0</td><td class="ctr2">9</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="XMLHandler.html" class="el_class">XMLHandler</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="10" height="10" title="6" alt="6"/><img src="../jacoco-resources/greenbar.gif" width="110" height="10" title="66" alt="66"/></td><td class="ctr2" id="c2">91 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">25</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="LogHandler.html" class="el_class">LogHandler</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="76" height="10" title="46" alt="46"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">11</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a1"><a href="PathValidation.html" class="el_class">PathValidation</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="28" height="10" title="17" alt="17"/></td><td class="ctr2" id="c1">100 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">2</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.util/index.source.html b/target/site/jacoco/musichub.util/index.source.html
          index f8bbd4e..ce29c52 100644
          --- a/target/site/jacoco/musichub.util/index.source.html
          +++ b/target/site/jacoco/musichub.util/index.source.html
          @@ -1 +1 @@
          -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>musichub.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <span class="el_package">musichub.util</span></div><h1>musichub.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">72 of 135</td><td class="ctr2">46 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">9</td><td class="ctr1">25</td><td class="ctr2">40</td><td class="ctr1">4</td><td class="ctr2">9</td><td class="ctr1">1</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="XMLHandler.java.html" class="el_source">XMLHandler.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="72" alt="72"/></td><td class="ctr2" id="c2">0 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">25</td><td class="ctr2" id="i0">25</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="LogHandler.java.html" class="el_source">LogHandler.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="76" height="10" title="46" alt="46"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">11</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a1"><a href="PathValidation.java.html" class="el_source">PathValidation.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="28" height="10" title="17" alt="17"/></td><td class="ctr2" id="c1">100 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">2</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>musichub.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <span class="el_package">musichub.util</span></div><h1>musichub.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">6 of 135</td><td class="ctr2">95 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">9</td><td class="ctr1">4</td><td class="ctr2">40</td><td class="ctr1">0</td><td class="ctr2">9</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="XMLHandler.java.html" class="el_source">XMLHandler.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="10" height="10" title="6" alt="6"/><img src="../jacoco-resources/greenbar.gif" width="110" height="10" title="66" alt="66"/></td><td class="ctr2" id="c2">91 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">25</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="LogHandler.java.html" class="el_source">LogHandler.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="76" height="10" title="46" alt="46"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">11</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a1"><a href="PathValidation.java.html" class="el_source">PathValidation.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="28" height="10" title="17" alt="17"/></td><td class="ctr2" id="c1">100 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">2</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/spoteezer-0.1.0.jar b/target/spoteezer-0.1.0.jar
          deleted file mode 100644
          index ea96baa..0000000
          Binary files a/target/spoteezer-0.1.0.jar and /dev/null differ
          -- 
          cgit v1.2.3
          
          
          From 9a234079437a1532072ed5f0bce0203922719b0f Mon Sep 17 00:00:00 2001
          From: Clyhtsuriva <aimeric@adjutor.xyz>
          Date: Sun, 27 Jun 2021 12:54:48 +0200
          Subject: Fix : Javadoc missing
          
          ---
           target/site/apidocs/allclasses-index.html          | 114 +++
           target/site/apidocs/allpackages-index.html         |  76 ++
           target/site/apidocs/element-list                   |   3 +
           target/site/apidocs/help-doc.html                  | 162 ++++
           target/site/apidocs/index-all.html                 | 410 ++++++++++
           target/site/apidocs/index.html                     |  78 ++
           target/site/apidocs/jquery-ui.overrides.css        |  34 +
           target/site/apidocs/member-search-index.js         |   1 +
           target/site/apidocs/module-search-index.js         |   1 +
           target/site/apidocs/musichub/business/Album.html   | 250 +++++++
           .../site/apidocs/musichub/business/AudioBook.html  | 273 +++++++
           .../apidocs/musichub/business/AudioElement.html    | 325 ++++++++
           .../site/apidocs/musichub/business/Category.html   | 258 +++++++
           target/site/apidocs/musichub/business/Genre.html   | 266 +++++++
           .../site/apidocs/musichub/business/Language.html   | 258 +++++++
           .../site/apidocs/musichub/business/MusicHub.html   | 412 ++++++++++
           .../musichub/business/NoAlbumFoundException.html   | 150 ++++
           .../musichub/business/NoElementFoundException.html | 150 ++++
           .../business/NoPlayListFoundException.html         | 150 ++++
           .../site/apidocs/musichub/business/PlayList.html   | 215 ++++++
           target/site/apidocs/musichub/business/Song.html    | 251 +++++++
           .../apidocs/musichub/business/class-use/Album.html |  99 +++
           .../musichub/business/class-use/AudioBook.html     |  65 ++
           .../musichub/business/class-use/AudioElement.html  | 124 +++
           .../musichub/business/class-use/Category.html      | 101 +++
           .../apidocs/musichub/business/class-use/Genre.html |  98 +++
           .../musichub/business/class-use/Language.html      | 101 +++
           .../musichub/business/class-use/MusicHub.html      |  65 ++
           .../business/class-use/NoAlbumFoundException.html  | 101 +++
           .../class-use/NoElementFoundException.html         |  95 +++
           .../class-use/NoPlayListFoundException.html        |  94 +++
           .../musichub/business/class-use/PlayList.html      |  99 +++
           .../apidocs/musichub/business/class-use/Song.html  |  90 +++
           .../apidocs/musichub/business/package-summary.html | 116 +++
           .../apidocs/musichub/business/package-tree.html    | 114 +++
           .../apidocs/musichub/business/package-use.html     | 105 +++
           target/site/apidocs/musichub/main/Main.html        | 175 +++++
           .../site/apidocs/musichub/main/class-use/Main.html |  65 ++
           .../apidocs/musichub/main/package-summary.html     |  80 ++
           .../site/apidocs/musichub/main/package-tree.html   |  79 ++
           target/site/apidocs/musichub/main/package-use.html |  65 ++
           target/site/apidocs/musichub/util/LogHandler.html  | 210 ++++++
           .../site/apidocs/musichub/util/PathValidation.html | 189 +++++
           target/site/apidocs/musichub/util/XMLHandler.html  | 186 +++++
           .../musichub/util/class-use/LogHandler.html        |  65 ++
           .../musichub/util/class-use/PathValidation.html    |  65 ++
           .../musichub/util/class-use/XMLHandler.html        |  65 ++
           .../apidocs/musichub/util/package-summary.html     |  88 +++
           .../site/apidocs/musichub/util/package-tree.html   |  81 ++
           target/site/apidocs/musichub/util/package-use.html |  65 ++
           target/site/apidocs/overview-summary.html          |  27 +
           target/site/apidocs/overview-tree.html             | 120 +++
           target/site/apidocs/package-search-index.js        |   1 +
           target/site/apidocs/resources/glass.png            | Bin 0 -> 499 bytes
           target/site/apidocs/resources/x.png                | Bin 0 -> 394 bytes
           .../images/ui-bg_glass_55_fbf9ee_1x400.png         | Bin 0 -> 335 bytes
           .../images/ui-bg_glass_65_dadada_1x400.png         | Bin 0 -> 262 bytes
           .../images/ui-bg_glass_75_dadada_1x400.png         | Bin 0 -> 262 bytes
           .../images/ui-bg_glass_75_e6e6e6_1x400.png         | Bin 0 -> 262 bytes
           .../images/ui-bg_glass_95_fef1ec_1x400.png         | Bin 0 -> 332 bytes
           .../ui-bg_highlight-soft_75_cccccc_1x100.png       | Bin 0 -> 280 bytes
           .../script-dir/images/ui-icons_222222_256x240.png  | Bin 0 -> 6922 bytes
           .../script-dir/images/ui-icons_2e83ff_256x240.png  | Bin 0 -> 4549 bytes
           .../script-dir/images/ui-icons_454545_256x240.png  | Bin 0 -> 6992 bytes
           .../script-dir/images/ui-icons_888888_256x240.png  | Bin 0 -> 6999 bytes
           .../script-dir/images/ui-icons_cd0a0a_256x240.png  | Bin 0 -> 4549 bytes
           target/site/apidocs/script-dir/jquery-3.5.1.min.js |   2 +
           target/site/apidocs/script-dir/jquery-ui.min.css   |   7 +
           target/site/apidocs/script-dir/jquery-ui.min.js    |   6 +
           .../apidocs/script-dir/jquery-ui.structure.min.css |   5 +
           target/site/apidocs/script.js                      | 132 ++++
           target/site/apidocs/search.js                      | 354 +++++++++
           target/site/apidocs/serialized-form.html           |  89 +++
           target/site/apidocs/stylesheet.css                 | 827 +++++++++++++++++++++
           target/site/apidocs/tag-search-index.js            |   1 +
           target/site/apidocs/type-search-index.js           |   1 +
           target/site/jacoco/musichub.util/LogHandler.html   |   1 +
           .../site/jacoco/musichub.util/LogHandler.java.html |  69 ++
           .../site/jacoco/musichub.util/PathValidation.html  |   1 +
           .../jacoco/musichub.util/PathValidation.java.html  |  40 +
           80 files changed, 8465 insertions(+)
           create mode 100644 target/site/apidocs/allclasses-index.html
           create mode 100644 target/site/apidocs/allpackages-index.html
           create mode 100644 target/site/apidocs/element-list
           create mode 100644 target/site/apidocs/help-doc.html
           create mode 100644 target/site/apidocs/index-all.html
           create mode 100644 target/site/apidocs/index.html
           create mode 100644 target/site/apidocs/jquery-ui.overrides.css
           create mode 100644 target/site/apidocs/member-search-index.js
           create mode 100644 target/site/apidocs/module-search-index.js
           create mode 100644 target/site/apidocs/musichub/business/Album.html
           create mode 100644 target/site/apidocs/musichub/business/AudioBook.html
           create mode 100644 target/site/apidocs/musichub/business/AudioElement.html
           create mode 100644 target/site/apidocs/musichub/business/Category.html
           create mode 100644 target/site/apidocs/musichub/business/Genre.html
           create mode 100644 target/site/apidocs/musichub/business/Language.html
           create mode 100644 target/site/apidocs/musichub/business/MusicHub.html
           create mode 100644 target/site/apidocs/musichub/business/NoAlbumFoundException.html
           create mode 100644 target/site/apidocs/musichub/business/NoElementFoundException.html
           create mode 100644 target/site/apidocs/musichub/business/NoPlayListFoundException.html
           create mode 100644 target/site/apidocs/musichub/business/PlayList.html
           create mode 100644 target/site/apidocs/musichub/business/Song.html
           create mode 100644 target/site/apidocs/musichub/business/class-use/Album.html
           create mode 100644 target/site/apidocs/musichub/business/class-use/AudioBook.html
           create mode 100644 target/site/apidocs/musichub/business/class-use/AudioElement.html
           create mode 100644 target/site/apidocs/musichub/business/class-use/Category.html
           create mode 100644 target/site/apidocs/musichub/business/class-use/Genre.html
           create mode 100644 target/site/apidocs/musichub/business/class-use/Language.html
           create mode 100644 target/site/apidocs/musichub/business/class-use/MusicHub.html
           create mode 100644 target/site/apidocs/musichub/business/class-use/NoAlbumFoundException.html
           create mode 100644 target/site/apidocs/musichub/business/class-use/NoElementFoundException.html
           create mode 100644 target/site/apidocs/musichub/business/class-use/NoPlayListFoundException.html
           create mode 100644 target/site/apidocs/musichub/business/class-use/PlayList.html
           create mode 100644 target/site/apidocs/musichub/business/class-use/Song.html
           create mode 100644 target/site/apidocs/musichub/business/package-summary.html
           create mode 100644 target/site/apidocs/musichub/business/package-tree.html
           create mode 100644 target/site/apidocs/musichub/business/package-use.html
           create mode 100644 target/site/apidocs/musichub/main/Main.html
           create mode 100644 target/site/apidocs/musichub/main/class-use/Main.html
           create mode 100644 target/site/apidocs/musichub/main/package-summary.html
           create mode 100644 target/site/apidocs/musichub/main/package-tree.html
           create mode 100644 target/site/apidocs/musichub/main/package-use.html
           create mode 100644 target/site/apidocs/musichub/util/LogHandler.html
           create mode 100644 target/site/apidocs/musichub/util/PathValidation.html
           create mode 100644 target/site/apidocs/musichub/util/XMLHandler.html
           create mode 100644 target/site/apidocs/musichub/util/class-use/LogHandler.html
           create mode 100644 target/site/apidocs/musichub/util/class-use/PathValidation.html
           create mode 100644 target/site/apidocs/musichub/util/class-use/XMLHandler.html
           create mode 100644 target/site/apidocs/musichub/util/package-summary.html
           create mode 100644 target/site/apidocs/musichub/util/package-tree.html
           create mode 100644 target/site/apidocs/musichub/util/package-use.html
           create mode 100644 target/site/apidocs/overview-summary.html
           create mode 100644 target/site/apidocs/overview-tree.html
           create mode 100644 target/site/apidocs/package-search-index.js
           create mode 100644 target/site/apidocs/resources/glass.png
           create mode 100644 target/site/apidocs/resources/x.png
           create mode 100644 target/site/apidocs/script-dir/images/ui-bg_glass_55_fbf9ee_1x400.png
           create mode 100644 target/site/apidocs/script-dir/images/ui-bg_glass_65_dadada_1x400.png
           create mode 100644 target/site/apidocs/script-dir/images/ui-bg_glass_75_dadada_1x400.png
           create mode 100644 target/site/apidocs/script-dir/images/ui-bg_glass_75_e6e6e6_1x400.png
           create mode 100644 target/site/apidocs/script-dir/images/ui-bg_glass_95_fef1ec_1x400.png
           create mode 100644 target/site/apidocs/script-dir/images/ui-bg_highlight-soft_75_cccccc_1x100.png
           create mode 100644 target/site/apidocs/script-dir/images/ui-icons_222222_256x240.png
           create mode 100644 target/site/apidocs/script-dir/images/ui-icons_2e83ff_256x240.png
           create mode 100644 target/site/apidocs/script-dir/images/ui-icons_454545_256x240.png
           create mode 100644 target/site/apidocs/script-dir/images/ui-icons_888888_256x240.png
           create mode 100644 target/site/apidocs/script-dir/images/ui-icons_cd0a0a_256x240.png
           create mode 100644 target/site/apidocs/script-dir/jquery-3.5.1.min.js
           create mode 100644 target/site/apidocs/script-dir/jquery-ui.min.css
           create mode 100644 target/site/apidocs/script-dir/jquery-ui.min.js
           create mode 100644 target/site/apidocs/script-dir/jquery-ui.structure.min.css
           create mode 100644 target/site/apidocs/script.js
           create mode 100644 target/site/apidocs/search.js
           create mode 100644 target/site/apidocs/serialized-form.html
           create mode 100644 target/site/apidocs/stylesheet.css
           create mode 100644 target/site/apidocs/tag-search-index.js
           create mode 100644 target/site/apidocs/type-search-index.js
           create mode 100644 target/site/jacoco/musichub.util/LogHandler.html
           create mode 100644 target/site/jacoco/musichub.util/LogHandler.java.html
           create mode 100644 target/site/jacoco/musichub.util/PathValidation.html
           create mode 100644 target/site/jacoco/musichub.util/PathValidation.java.html
          
          (limited to 'target/site/apidocs/musichub/business/class-use')
          
          diff --git a/target/site/apidocs/allclasses-index.html b/target/site/apidocs/allclasses-index.html
          new file mode 100644
          index 0000000..5373707
          --- /dev/null
          +++ b/target/site/apidocs/allclasses-index.html
          @@ -0,0 +1,114 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>All Classes (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="class index">
          +<meta name="generator" content="javadoc/AllClassesIndexWriter">
          +<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="script.js"></script>
          +<script type="text/javascript" src="script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="all-classes-index-page">
          +<script type="text/javascript">var evenRowColor = "even-row-color";
          +var oddRowColor = "odd-row-color";
          +var tableTab = "table-tab";
          +var activeTableTab = "active-table-tab";
          +var pathtoroot = "./";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="index.html">Overview</a></li>
          +<li>Package</li>
          +<li>Class</li>
          +<li>Use</li>
          +<li><a href="overview-tree.html">Tree</a></li>
          +<li><a href="index-all.html">Index</a></li>
          +<li><a href="help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<div class="header">
          +<h1 title="All&amp;nbsp;Classes" class="title">All&nbsp;Classes</h1>
          +</div>
          +<div id="all-classes-table">
          +<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="all-classes-table-tab0" role="tab" aria-selected="true" aria-controls="all-classes-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('all-classes-table', 'all-classes-table', 2)" class="active-table-tab">All Classes</button><button id="all-classes-table-tab2" role="tab" aria-selected="false" aria-controls="all-classes-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('all-classes-table', 'all-classes-table-tab2', 2)" class="table-tab">Class Summary</button><button id="all-classes-table-tab3" role="tab" aria-selected="false" aria-controls="all-classes-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('all-classes-table', 'all-classes-table-tab3', 2)" class="table-tab">Enum Class Summary</button><button id="all-classes-table-tab4" role="tab" aria-selected="false" aria-controls="all-classes-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('all-classes-table', 'all-classes-table-tab4', 2)" class="table-tab">Exception Summary</button></div>
          +<div id="all-classes-table.tabpanel" role="tabpanel">
          +<div class="summary-table two-column-summary" aria-labelledby="all-classes-table-tab0">
          +<div class="table-header col-first">Class</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color all-classes-table-tab2 all-classes-table"><a href="musichub/business/Album.html" title="class in musichub.business">Album</a></div>
          +<div class="col-last even-row-color all-classes-table-tab2 all-classes-table">&nbsp;</div>
          +<div class="col-first odd-row-color all-classes-table-tab2 all-classes-table"><a href="musichub/business/AudioBook.html" title="class in musichub.business">AudioBook</a></div>
          +<div class="col-last odd-row-color all-classes-table-tab2 all-classes-table">&nbsp;</div>
          +<div class="col-first even-row-color all-classes-table-tab2 all-classes-table"><a href="musichub/business/AudioElement.html" title="class in musichub.business">AudioElement</a></div>
          +<div class="col-last even-row-color all-classes-table-tab2 all-classes-table">&nbsp;</div>
          +<div class="col-first odd-row-color all-classes-table all-classes-table-tab3"><a href="musichub/business/Category.html" title="enum class in musichub.business">Category</a></div>
          +<div class="col-last odd-row-color all-classes-table all-classes-table-tab3">&nbsp;</div>
          +<div class="col-first even-row-color all-classes-table all-classes-table-tab3"><a href="musichub/business/Genre.html" title="enum class in musichub.business">Genre</a></div>
          +<div class="col-last even-row-color all-classes-table all-classes-table-tab3">&nbsp;</div>
          +<div class="col-first odd-row-color all-classes-table all-classes-table-tab3"><a href="musichub/business/Language.html" title="enum class in musichub.business">Language</a></div>
          +<div class="col-last odd-row-color all-classes-table all-classes-table-tab3">&nbsp;</div>
          +<div class="col-first even-row-color all-classes-table-tab2 all-classes-table"><a href="musichub/util/LogHandler.html" title="class in musichub.util">LogHandler</a></div>
          +<div class="col-last even-row-color all-classes-table-tab2 all-classes-table">
          +<div class="block">Class offering a log writing method.</div>
          +</div>
          +<div class="col-first odd-row-color all-classes-table-tab2 all-classes-table"><a href="musichub/main/Main.html" title="class in musichub.main">Main</a></div>
          +<div class="col-last odd-row-color all-classes-table-tab2 all-classes-table">&nbsp;</div>
          +<div class="col-first even-row-color all-classes-table-tab2 all-classes-table"><a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></div>
          +<div class="col-last even-row-color all-classes-table-tab2 all-classes-table">&nbsp;</div>
          +<div class="col-first odd-row-color all-classes-table all-classes-table-tab4"><a href="musichub/business/NoAlbumFoundException.html" title="class in musichub.business">NoAlbumFoundException</a></div>
          +<div class="col-last odd-row-color all-classes-table all-classes-table-tab4">&nbsp;</div>
          +<div class="col-first even-row-color all-classes-table all-classes-table-tab4"><a href="musichub/business/NoElementFoundException.html" title="class in musichub.business">NoElementFoundException</a></div>
          +<div class="col-last even-row-color all-classes-table all-classes-table-tab4">&nbsp;</div>
          +<div class="col-first odd-row-color all-classes-table all-classes-table-tab4"><a href="musichub/business/NoPlayListFoundException.html" title="class in musichub.business">NoPlayListFoundException</a></div>
          +<div class="col-last odd-row-color all-classes-table all-classes-table-tab4">&nbsp;</div>
          +<div class="col-first even-row-color all-classes-table-tab2 all-classes-table"><a href="musichub/util/PathValidation.html" title="class in musichub.util">PathValidation</a></div>
          +<div class="col-last even-row-color all-classes-table-tab2 all-classes-table">
          +<div class="block">Class offering a path validation method.</div>
          +</div>
          +<div class="col-first odd-row-color all-classes-table-tab2 all-classes-table"><a href="musichub/business/PlayList.html" title="class in musichub.business">PlayList</a></div>
          +<div class="col-last odd-row-color all-classes-table-tab2 all-classes-table">&nbsp;</div>
          +<div class="col-first even-row-color all-classes-table-tab2 all-classes-table"><a href="musichub/business/Song.html" title="class in musichub.business">Song</a></div>
          +<div class="col-last even-row-color all-classes-table-tab2 all-classes-table">&nbsp;</div>
          +<div class="col-first odd-row-color all-classes-table-tab2 all-classes-table"><a href="musichub/util/XMLHandler.html" title="class in musichub.util">XMLHandler</a></div>
          +<div class="col-last odd-row-color all-classes-table-tab2 all-classes-table">&nbsp;</div>
          +</div>
          +</div>
          +</div>
          +</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/allpackages-index.html b/target/site/apidocs/allpackages-index.html
          new file mode 100644
          index 0000000..3c3f2bf
          --- /dev/null
          +++ b/target/site/apidocs/allpackages-index.html
          @@ -0,0 +1,76 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>All Packages (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="package index">
          +<meta name="generator" content="javadoc/AllPackagesIndexWriter">
          +<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="script.js"></script>
          +<script type="text/javascript" src="script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="all-packages-index-page">
          +<script type="text/javascript">var pathtoroot = "./";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="index.html">Overview</a></li>
          +<li>Package</li>
          +<li>Class</li>
          +<li>Use</li>
          +<li><a href="overview-tree.html">Tree</a></li>
          +<li><a href="index-all.html">Index</a></li>
          +<li><a href="help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<div class="header">
          +<h1 title="All&amp;nbsp;Packages" class="title">All&nbsp;Packages</h1>
          +</div>
          +<div class="caption"><span>Package Summary</span></div>
          +<div class="summary-table two-column-summary">
          +<div class="table-header col-first">Package</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color"><a href="musichub/business/package-summary.html">musichub.business</a></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +<div class="col-first odd-row-color"><a href="musichub/main/package-summary.html">musichub.main</a></div>
          +<div class="col-last odd-row-color">&nbsp;</div>
          +<div class="col-first even-row-color"><a href="musichub/util/package-summary.html">musichub.util</a></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +</div>
          +</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/element-list b/target/site/apidocs/element-list
          new file mode 100644
          index 0000000..87e8cdc
          --- /dev/null
          +++ b/target/site/apidocs/element-list
          @@ -0,0 +1,3 @@
          +musichub.business
          +musichub.main
          +musichub.util
          diff --git a/target/site/apidocs/help-doc.html b/target/site/apidocs/help-doc.html
          new file mode 100644
          index 0000000..a862578
          --- /dev/null
          +++ b/target/site/apidocs/help-doc.html
          @@ -0,0 +1,162 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>API Help (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="help">
          +<meta name="generator" content="javadoc/HelpWriter">
          +<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="script.js"></script>
          +<script type="text/javascript" src="script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="help-page">
          +<script type="text/javascript">var pathtoroot = "./";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="index.html">Overview</a></li>
          +<li>Package</li>
          +<li>Class</li>
          +<li>Use</li>
          +<li><a href="overview-tree.html">Tree</a></li>
          +<li><a href="index-all.html">Index</a></li>
          +<li class="nav-bar-cell1-rev">Help</li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<div class="header">
          +<h1 class="title">How This API Document Is Organized</h1>
          +<div class="sub-title">This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.</div>
          +</div>
          +<section class="help-section">
          +<h2>Overview</h2>
          +<p>The <a href="index.html">Overview</a> page is the front page of this API document and provides a list of all packages with a summary for each.  This page can also contain an overall description of the set of packages.</p>
          +</section>
          +<section class="help-section">
          +<h2>Package</h2>
          +<p>Each package has a page that contains a list of its classes and interfaces, with a summary for each. These pages may contain six categories:</p>
          +<ul class="help-section-list">
          +<li>Interfaces</li>
          +<li>Classes</li>
          +<li>Enum Classes</li>
          +<li>Exceptions</li>
          +<li>Errors</li>
          +<li>Annotation Interfaces</li>
          +</ul>
          +</section>
          +<section class="help-section">
          +<h2>Class or Interface</h2>
          +<p>Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:</p>
          +<ul class="help-section-list">
          +<li>Class Inheritance Diagram</li>
          +<li>Direct Subclasses</li>
          +<li>All Known Subinterfaces</li>
          +<li>All Known Implementing Classes</li>
          +<li>Class or Interface Declaration</li>
          +<li>Class or Interface Description</li>
          +</ul>
          +<br>
          +<ul class="help-section-list">
          +<li>Nested Class Summary</li>
          +<li>Field Summary</li>
          +<li>Property Summary</li>
          +<li>Constructor Summary</li>
          +<li>Method Summary</li>
          +</ul>
          +<br>
          +<ul class="help-section-list">
          +<li>Field Details</li>
          +<li>Property Details</li>
          +<li>Constructor Details</li>
          +<li>Method Details</li>
          +</ul>
          +<p>The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.</p>
          +</section>
          +<section class="help-section">
          +<h2>Annotation Interface</h2>
          +<p>Each annotation interface has its own separate page with the following sections:</p>
          +<ul class="help-section-list">
          +<li>Annotation Interface Declaration</li>
          +<li>Annotation Interface Description</li>
          +<li>Required Element Summary</li>
          +<li>Optional Element Summary</li>
          +<li>Element Details</li>
          +</ul>
          +</section>
          +<section class="help-section">
          +<h2>Enum Class</h2>
          +<p>Each enum class has its own separate page with the following sections:</p>
          +<ul class="help-section-list">
          +<li>Enum Declaration</li>
          +<li>Enum Description</li>
          +<li>Enum Constant Summary</li>
          +<li>Enum Constant Details</li>
          +</ul>
          +</section>
          +<section class="help-section">
          +<h2>Use</h2>
          +<p>Each documented package, class and interface has its own Use page.  This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its "Use" page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A.  You can access this page by first going to the package, class or interface, then clicking on the "Use" link in the navigation bar.</p>
          +</section>
          +<section class="help-section">
          +<h2>Tree (Class Hierarchy)</h2>
          +<p>There is a <a href="overview-tree.html">Class Hierarchy</a> page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. Classes are organized by inheritance structure starting with <code>java.lang.Object</code>. Interfaces do not inherit from <code>java.lang.Object</code>.</p>
          +<ul class="help-section-list">
          +<li>When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.</li>
          +<li>When viewing a particular package, class or interface page, clicking on "Tree" displays the hierarchy for only that package.</li>
          +</ul>
          +</section>
          +<section class="help-section">
          +<h2>Index</h2>
          +<p>The <a href="index-all.html">Index</a> contains an alphabetic index of all classes, interfaces, constructors, methods, and fields, as well as lists of all packages and all classes.</p>
          +</section>
          +<section class="help-section">
          +<h2>Serialized Form</h2>
          +<p>Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to those who implement rather than use the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See Also" section of the class description.</p>
          +</section>
          +<section class="help-section">
          +<h2>Search</h2>
          +<p>You can search for definitions of modules, packages, types, fields, methods, system properties and other terms defined in the API, using some or all of the name, optionally using "camel-case" abbreviations. For example:</p>
          +<ul class="help-section-list">
          +<li><code>j.l.obj</code> will match "java.lang.Object"</li>
          +<li><code>InpStr</code> will match "java.io.InputStream"</li>
          +<li><code>HM.cK</code> will match "java.util.HashMap.containsKey(Object)"</li>
          +</ul>
          +<p>Refer to <a href="https://docs.oracle.com/en/java/javase/16/docs/specs/javadoc/javadoc-search-spec.html">the Javadoc Search Specification</a> for a full description of search features.</p>
          +</section>
          +<hr>
          +<span class="help-footnote">This help file applies to API documentation generated by the standard doclet.</span></main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/index-all.html b/target/site/apidocs/index-all.html
          new file mode 100644
          index 0000000..a35747c
          --- /dev/null
          +++ b/target/site/apidocs/index-all.html
          @@ -0,0 +1,410 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>Index (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="index">
          +<meta name="generator" content="javadoc/IndexWriter">
          +<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="script.js"></script>
          +<script type="text/javascript" src="script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="index-page">
          +<script type="text/javascript">var pathtoroot = "./";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="index.html">Overview</a></li>
          +<li>Package</li>
          +<li>Class</li>
          +<li>Use</li>
          +<li><a href="overview-tree.html">Tree</a></li>
          +<li class="nav-bar-cell1-rev">Index</li>
          +<li><a href="help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<div class="header">
          +<h1>Index</h1>
          +</div>
          +<a href="#I:A">A</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:D">D</a>&nbsp;<a href="#I:E">E</a>&nbsp;<a href="#I:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:H">H</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:J">J</a>&nbsp;<a href="#I:L">L</a>&nbsp;<a href="#I:M">M</a>&nbsp;<a href="#I:N">N</a>&nbsp;<a href="#I:P">P</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:U">U</a>&nbsp;<a href="#I:V">V</a>&nbsp;<a href="#I:W">W</a>&nbsp;<a href="#I:X">X</a>&nbsp;<a href="#I:Y">Y</a>&nbsp;<br><a href="allclasses-index.html">All&nbsp;Classes</a><span class="vertical-separator">|</span><a href="allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="serialized-form.html">Serialized&nbsp;Form</a>
          +<h2 class="title" id="I:A">A</h2>
          +<dl class="index">
          +<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#addAlbum(musichub.business.Album)">addAlbum(Album)</a></span> - Method in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/PlayList.html#addElement(java.util.UUID)">addElement(UUID)</a></span> - Method in class musichub.business.<a href="musichub/business/PlayList.html" title="class in musichub.business">PlayList</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#addElement(musichub.business.AudioElement)">addElement(AudioElement)</a></span> - Method in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#addElementToAlbum(java.lang.String,java.lang.String)">addElementToAlbum(String, String)</a></span> - Method in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#addElementToPlayList(java.lang.String,java.lang.String)">addElementToPlayList(String, String)</a></span> - Method in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#addPlaylist(musichub.business.PlayList)">addPlaylist(PlayList)</a></span> - Method in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/Album.html#addSong(java.util.UUID)">addSong(UUID)</a></span> - Method in class musichub.business.<a href="musichub/business/Album.html" title="class in musichub.business">Album</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><a href="musichub/business/Album.html" title="class in musichub.business"><span class="type-name-link">Album</span></a> - Class in <a href="musichub/business/package-summary.html">musichub.business</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/Album.html#%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String)">Album(String, String, int, String)</a></span> - Constructor for class musichub.business.<a href="musichub/business/Album.html" title="class in musichub.business">Album</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/Album.html#%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.util.ArrayList)">Album(String, String, int, String, String, ArrayList&lt;UUID&gt;)</a></span> - Constructor for class musichub.business.<a href="musichub/business/Album.html" title="class in musichub.business">Album</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/Album.html#%3Cinit%3E(org.w3c.dom.Element)">Album(Element)</a></span> - Constructor for class musichub.business.<a href="musichub/business/Album.html" title="class in musichub.business">Album</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#albums()">albums()</a></span> - Method in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#ALBUMS_FILE_PATH">ALBUMS_FILE_PATH</a></span> - Static variable in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/AudioElement.html#artist">artist</a></span> - Variable in class musichub.business.<a href="musichub/business/AudioElement.html" title="class in musichub.business">AudioElement</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><a href="musichub/business/AudioBook.html" title="class in musichub.business"><span class="type-name-link">AudioBook</span></a> - Class in <a href="musichub/business/package-summary.html">musichub.business</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/AudioBook.html#%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String)">AudioBook(String, String, int, String, String, String)</a></span> - Constructor for class musichub.business.<a href="musichub/business/AudioBook.html" title="class in musichub.business">AudioBook</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/AudioBook.html#%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String)">AudioBook(String, String, int, String, String, String, String)</a></span> - Constructor for class musichub.business.<a href="musichub/business/AudioBook.html" title="class in musichub.business">AudioBook</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/AudioBook.html#%3Cinit%3E(org.w3c.dom.Element)">AudioBook(Element)</a></span> - Constructor for class musichub.business.<a href="musichub/business/AudioBook.html" title="class in musichub.business">AudioBook</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><a href="musichub/business/AudioElement.html" title="class in musichub.business"><span class="type-name-link">AudioElement</span></a> - Class in <a href="musichub/business/package-summary.html">musichub.business</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/AudioElement.html#%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String)">AudioElement(String, String, int, String)</a></span> - Constructor for class musichub.business.<a href="musichub/business/AudioElement.html" title="class in musichub.business">AudioElement</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/AudioElement.html#%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String)">AudioElement(String, String, int, String, String)</a></span> - Constructor for class musichub.business.<a href="musichub/business/AudioElement.html" title="class in musichub.business">AudioElement</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/AudioElement.html#%3Cinit%3E(org.w3c.dom.Element)">AudioElement(Element)</a></span> - Constructor for class musichub.business.<a href="musichub/business/AudioElement.html" title="class in musichub.business">AudioElement</a></dt>
          +<dd>&nbsp;</dd>
          +</dl>
          +<h2 class="title" id="I:C">C</h2>
          +<dl class="index">
          +<dt><a href="musichub/business/Category.html" title="enum class in musichub.business"><span class="type-name-link">Category</span></a> - Enum Class in <a href="musichub/business/package-summary.html">musichub.business</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/Genre.html#CLASSIC">CLASSIC</a></span> - Enum constant in enum class musichub.business.<a href="musichub/business/Genre.html" title="enum class in musichub.business">Genre</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/AudioElement.html#content">content</a></span> - Variable in class musichub.business.<a href="musichub/business/AudioElement.html" title="class in musichub.business">AudioElement</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/util/XMLHandler.html#createXMLDocument()">createXMLDocument()</a></span> - Method in class musichub.util.<a href="musichub/util/XMLHandler.html" title="class in musichub.util">XMLHandler</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/Album.html#createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)">createXMLElement(Document, Element)</a></span> - Method in class musichub.business.<a href="musichub/business/Album.html" title="class in musichub.business">Album</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/AudioBook.html#createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)">createXMLElement(Document, Element)</a></span> - Method in class musichub.business.<a href="musichub/business/AudioBook.html" title="class in musichub.business">AudioBook</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/AudioElement.html#createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)">createXMLElement(Document, Element)</a></span> - Method in class musichub.business.<a href="musichub/business/AudioElement.html" title="class in musichub.business">AudioElement</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/PlayList.html#createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)">createXMLElement(Document, Element)</a></span> - Method in class musichub.business.<a href="musichub/business/PlayList.html" title="class in musichub.business">PlayList</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/Song.html#createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)">createXMLElement(Document, Element)</a></span> - Method in class musichub.business.<a href="musichub/business/Song.html" title="class in musichub.business">Song</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/util/XMLHandler.html#createXMLFile(org.w3c.dom.Document,java.lang.String)">createXMLFile(Document, String)</a></span> - Method in class musichub.util.<a href="musichub/util/XMLHandler.html" title="class in musichub.util">XMLHandler</a></dt>
          +<dd>&nbsp;</dd>
          +</dl>
          +<h2 class="title" id="I:D">D</h2>
          +<dl class="index">
          +<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#deletePlayList(java.lang.String)">deletePlayList(String)</a></span> - Method in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#DIR">DIR</a></span> - Static variable in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/Category.html#DOCUMENTARY">DOCUMENTARY</a></span> - Enum constant in enum class musichub.business.<a href="musichub/business/Category.html" title="enum class in musichub.business">Category</a></dt>
          +<dd>&nbsp;</dd>
          +</dl>
          +<h2 class="title" id="I:E">E</h2>
          +<dl class="index">
          +<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#elements()">elements()</a></span> - Method in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#ELEMENTS_FILE_PATH">ELEMENTS_FILE_PATH</a></span> - Static variable in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/Language.html#ENGLISH">ENGLISH</a></span> - Enum constant in enum class musichub.business.<a href="musichub/business/Language.html" title="enum class in musichub.business">Language</a></dt>
          +<dd>&nbsp;</dd>
          +</dl>
          +<h2 class="title" id="I:F">F</h2>
          +<dl class="index">
          +<dt><span class="member-name-link"><a href="musichub/business/Language.html#FRENCH">FRENCH</a></span> - Enum constant in enum class musichub.business.<a href="musichub/business/Language.html" title="enum class in musichub.business">Language</a></dt>
          +<dd>&nbsp;</dd>
          +</dl>
          +<h2 class="title" id="I:G">G</h2>
          +<dl class="index">
          +<dt><a href="musichub/business/Genre.html" title="enum class in musichub.business"><span class="type-name-link">Genre</span></a> - Enum Class in <a href="musichub/business/package-summary.html">musichub.business</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/Language.html#GERMAN">GERMAN</a></span> - Enum constant in enum class musichub.business.<a href="musichub/business/Language.html" title="enum class in musichub.business">Language</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#getAlbumSongs(java.lang.String)">getAlbumSongs(String)</a></span> - Method in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#getAlbumSongsSortedByGenre(java.lang.String)">getAlbumSongsSortedByGenre(String)</a></span> - Method in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#getAlbumsTitlesSortedByDate()">getAlbumsTitlesSortedByDate()</a></span> - Method in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/AudioElement.html#getArtist()">getArtist()</a></span> - Method in class musichub.business.<a href="musichub/business/AudioElement.html" title="class in musichub.business">AudioElement</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#getAudiobooksTitlesSortedByAuthor()">getAudiobooksTitlesSortedByAuthor()</a></span> - Method in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#getAudioElement(java.util.List,java.lang.String)">getAudioElement(List&lt;AudioElement&gt;, String)</a></span> - Method in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/AudioBook.html#getCategory()">getCategory()</a></span> - Method in class musichub.business.<a href="musichub/business/AudioBook.html" title="class in musichub.business">AudioBook</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/Category.html#getCategory()">getCategory()</a></span> - Method in enum class musichub.business.<a href="musichub/business/Category.html" title="enum class in musichub.business">Category</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/Album.html#getDate()">getDate()</a></span> - Method in class musichub.business.<a href="musichub/business/Album.html" title="class in musichub.business">Album</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/PlayList.html#getElements()">getElements()</a></span> - Method in class musichub.business.<a href="musichub/business/PlayList.html" title="class in musichub.business">PlayList</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/Genre.html#getGenre()">getGenre()</a></span> - Method in enum class musichub.business.<a href="musichub/business/Genre.html" title="enum class in musichub.business">Genre</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/Song.html#getGenre()">getGenre()</a></span> - Method in class musichub.business.<a href="musichub/business/Song.html" title="class in musichub.business">Song</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/AudioBook.html#getLanguage()">getLanguage()</a></span> - Method in class musichub.business.<a href="musichub/business/AudioBook.html" title="class in musichub.business">AudioBook</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/Language.html#getLanguage()">getLanguage()</a></span> - Method in enum class musichub.business.<a href="musichub/business/Language.html" title="enum class in musichub.business">Language</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/Album.html#getSongs()">getSongs()</a></span> - Method in class musichub.business.<a href="musichub/business/Album.html" title="class in musichub.business">Album</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/Album.html#getSongsRandomly()">getSongsRandomly()</a></span> - Method in class musichub.business.<a href="musichub/business/Album.html" title="class in musichub.business">Album</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/Album.html#getTitle()">getTitle()</a></span> - Method in class musichub.business.<a href="musichub/business/Album.html" title="class in musichub.business">Album</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/AudioElement.html#getTitle()">getTitle()</a></span> - Method in class musichub.business.<a href="musichub/business/AudioElement.html" title="class in musichub.business">AudioElement</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/PlayList.html#getTitle()">getTitle()</a></span> - Method in class musichub.business.<a href="musichub/business/PlayList.html" title="class in musichub.business">PlayList</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/AudioElement.html#getUUID()">getUUID()</a></span> - Method in class musichub.business.<a href="musichub/business/AudioElement.html" title="class in musichub.business">AudioElement</a></dt>
          +<dd>&nbsp;</dd>
          +</dl>
          +<h2 class="title" id="I:H">H</h2>
          +<dl class="index">
          +<dt><span class="member-name-link"><a href="musichub/business/Genre.html#HIPHOP">HIPHOP</a></span> - Enum constant in enum class musichub.business.<a href="musichub/business/Genre.html" title="enum class in musichub.business">Genre</a></dt>
          +<dd>&nbsp;</dd>
          +</dl>
          +<h2 class="title" id="I:I">I</h2>
          +<dl class="index">
          +<dt><span class="member-name-link"><a href="musichub/util/PathValidation.html#isPathValid(java.lang.String)">isPathValid(String)</a></span> - Static method in class musichub.util.<a href="musichub/util/PathValidation.html" title="class in musichub.util">PathValidation</a></dt>
          +<dd>
          +<div class="block">Method that checks the validity of a given path</div>
          +</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/Language.html#ITALIAN">ITALIAN</a></span> - Enum constant in enum class musichub.business.<a href="musichub/business/Language.html" title="enum class in musichub.business">Language</a></dt>
          +<dd>&nbsp;</dd>
          +</dl>
          +<h2 class="title" id="I:J">J</h2>
          +<dl class="index">
          +<dt><span class="member-name-link"><a href="musichub/business/Genre.html#JAZZ">JAZZ</a></span> - Enum constant in enum class musichub.business.<a href="musichub/business/Genre.html" title="enum class in musichub.business">Genre</a></dt>
          +<dd>&nbsp;</dd>
          +</dl>
          +<h2 class="title" id="I:L">L</h2>
          +<dl class="index">
          +<dt><a href="musichub/business/Language.html" title="enum class in musichub.business"><span class="type-name-link">Language</span></a> - Enum Class in <a href="musichub/business/package-summary.html">musichub.business</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/AudioElement.html#lengthInSeconds">lengthInSeconds</a></span> - Variable in class musichub.business.<a href="musichub/business/AudioElement.html" title="class in musichub.business">AudioElement</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><a href="musichub/util/LogHandler.html" title="class in musichub.util"><span class="type-name-link">LogHandler</span></a> - Class in <a href="musichub/util/package-summary.html">musichub.util</a></dt>
          +<dd>
          +<div class="block">Class offering a log writing method.</div>
          +</dd>
          +<dt><span class="member-name-link"><a href="musichub/util/LogHandler.html#%3Cinit%3E()">LogHandler()</a></span> - Constructor for class musichub.util.<a href="musichub/util/LogHandler.html" title="class in musichub.util">LogHandler</a></dt>
          +<dd>
          +<div class="block">Method that just throws an AssertionError if the class is called</div>
          +</dd>
          +</dl>
          +<h2 class="title" id="I:M">M</h2>
          +<dl class="index">
          +<dt><span class="member-name-link"><a href="musichub/main/Main.html#main(java.lang.String%5B%5D)">main(String[])</a></span> - Static method in class musichub.main.<a href="musichub/main/Main.html" title="class in musichub.main">Main</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><a href="musichub/main/Main.html" title="class in musichub.main"><span class="type-name-link">Main</span></a> - Class in <a href="musichub/main/package-summary.html">musichub.main</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/main/Main.html#%3Cinit%3E()">Main()</a></span> - Constructor for class musichub.main.<a href="musichub/main/Main.html" title="class in musichub.main">Main</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/AudioElement.html#manageAudioElement()">manageAudioElement()</a></span> - Method in class musichub.business.<a href="musichub/business/AudioElement.html" title="class in musichub.business">AudioElement</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><a href="musichub/business/MusicHub.html" title="class in musichub.business"><span class="type-name-link">MusicHub</span></a> - Class in <a href="musichub/business/package-summary.html">musichub.business</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#%3Cinit%3E()">MusicHub()</a></span> - Constructor for class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><a href="musichub/business/package-summary.html">musichub.business</a> - package musichub.business</dt>
          +<dd>&nbsp;</dd>
          +<dt><a href="musichub/main/package-summary.html">musichub.main</a> - package musichub.main</dt>
          +<dd>&nbsp;</dd>
          +<dt><a href="musichub/util/package-summary.html">musichub.util</a> - package musichub.util</dt>
          +<dd>&nbsp;</dd>
          +</dl>
          +<h2 class="title" id="I:N">N</h2>
          +<dl class="index">
          +<dt><a href="musichub/business/NoAlbumFoundException.html" title="class in musichub.business"><span class="type-name-link">NoAlbumFoundException</span></a> - Exception in <a href="musichub/business/package-summary.html">musichub.business</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/NoAlbumFoundException.html#%3Cinit%3E(java.lang.String)">NoAlbumFoundException(String)</a></span> - Constructor for exception musichub.business.<a href="musichub/business/NoAlbumFoundException.html" title="class in musichub.business">NoAlbumFoundException</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><a href="musichub/business/NoElementFoundException.html" title="class in musichub.business"><span class="type-name-link">NoElementFoundException</span></a> - Exception in <a href="musichub/business/package-summary.html">musichub.business</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/NoElementFoundException.html#%3Cinit%3E(java.lang.String)">NoElementFoundException(String)</a></span> - Constructor for exception musichub.business.<a href="musichub/business/NoElementFoundException.html" title="class in musichub.business">NoElementFoundException</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><a href="musichub/business/NoPlayListFoundException.html" title="class in musichub.business"><span class="type-name-link">NoPlayListFoundException</span></a> - Exception in <a href="musichub/business/package-summary.html">musichub.business</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/NoPlayListFoundException.html#%3Cinit%3E(java.lang.String)">NoPlayListFoundException(String)</a></span> - Constructor for exception musichub.business.<a href="musichub/business/NoPlayListFoundException.html" title="class in musichub.business">NoPlayListFoundException</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/Category.html#NOVEL">NOVEL</a></span> - Enum constant in enum class musichub.business.<a href="musichub/business/Category.html" title="enum class in musichub.business">Category</a></dt>
          +<dd>&nbsp;</dd>
          +</dl>
          +<h2 class="title" id="I:P">P</h2>
          +<dl class="index">
          +<dt><span class="member-name-link"><a href="musichub/util/XMLHandler.html#parseXMLFile(java.lang.String)">parseXMLFile(String)</a></span> - Method in class musichub.util.<a href="musichub/util/XMLHandler.html" title="class in musichub.util">XMLHandler</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><a href="musichub/util/PathValidation.html" title="class in musichub.util"><span class="type-name-link">PathValidation</span></a> - Class in <a href="musichub/util/package-summary.html">musichub.util</a></dt>
          +<dd>
          +<div class="block">Class offering a path validation method.</div>
          +</dd>
          +<dt><span class="member-name-link"><a href="musichub/util/PathValidation.html#%3Cinit%3E()">PathValidation()</a></span> - Constructor for class musichub.util.<a href="musichub/util/PathValidation.html" title="class in musichub.util">PathValidation</a></dt>
          +<dd>
          +<div class="block">Method that just throws an AssertionError if the class is called</div>
          +</dd>
          +<dt><a href="musichub/business/PlayList.html" title="class in musichub.business"><span class="type-name-link">PlayList</span></a> - Class in <a href="musichub/business/package-summary.html">musichub.business</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/PlayList.html#%3Cinit%3E(java.lang.String)">PlayList(String)</a></span> - Constructor for class musichub.business.<a href="musichub/business/PlayList.html" title="class in musichub.business">PlayList</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/PlayList.html#%3Cinit%3E(java.lang.String,java.lang.String,java.util.ArrayList)">PlayList(String, String, ArrayList&lt;UUID&gt;)</a></span> - Constructor for class musichub.business.<a href="musichub/business/PlayList.html" title="class in musichub.business">PlayList</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/PlayList.html#%3Cinit%3E(org.w3c.dom.Element)">PlayList(Element)</a></span> - Constructor for class musichub.business.<a href="musichub/business/PlayList.html" title="class in musichub.business">PlayList</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#playlists()">playlists()</a></span> - Method in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#PLAYLISTS_FILE_PATH">PLAYLISTS_FILE_PATH</a></span> - Static variable in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/Genre.html#POP">POP</a></span> - Enum constant in enum class musichub.business.<a href="musichub/business/Genre.html" title="enum class in musichub.business">Genre</a></dt>
          +<dd>&nbsp;</dd>
          +</dl>
          +<h2 class="title" id="I:R">R</h2>
          +<dl class="index">
          +<dt><span class="member-name-link"><a href="musichub/business/Genre.html#RAP">RAP</a></span> - Enum constant in enum class musichub.business.<a href="musichub/business/Genre.html" title="enum class in musichub.business">Genre</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/util/LogHandler.html#read()">read()</a></span> - Static method in class musichub.util.<a href="musichub/util/LogHandler.html" title="class in musichub.util">LogHandler</a></dt>
          +<dd>
          +<div class="block">Method that prints the content of spoteezer.log</div>
          +</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/Genre.html#ROCK">ROCK</a></span> - Enum constant in enum class musichub.business.<a href="musichub/business/Genre.html" title="enum class in musichub.business">Genre</a></dt>
          +<dd>&nbsp;</dd>
          +</dl>
          +<h2 class="title" id="I:S">S</h2>
          +<dl class="index">
          +<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#saveAlbums()">saveAlbums()</a></span> - Method in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#saveElements()">saveElements()</a></span> - Method in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#savePlayLists()">savePlayLists()</a></span> - Method in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/AudioBook.html#setCategory(java.lang.String)">setCategory(String)</a></span> - Method in class musichub.business.<a href="musichub/business/AudioBook.html" title="class in musichub.business">AudioBook</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/Song.html#setGenre(java.lang.String)">setGenre(String)</a></span> - Method in class musichub.business.<a href="musichub/business/Song.html" title="class in musichub.business">Song</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/AudioBook.html#setLanguage(java.lang.String)">setLanguage(String)</a></span> - Method in class musichub.business.<a href="musichub/business/AudioBook.html" title="class in musichub.business">AudioBook</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><a href="musichub/business/Song.html" title="class in musichub.business"><span class="type-name-link">Song</span></a> - Class in <a href="musichub/business/package-summary.html">musichub.business</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/Song.html#%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String)">Song(String, String, int, String, String)</a></span> - Constructor for class musichub.business.<a href="musichub/business/Song.html" title="class in musichub.business">Song</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/Song.html#%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String)">Song(String, String, int, String, String, String)</a></span> - Constructor for class musichub.business.<a href="musichub/business/Song.html" title="class in musichub.business">Song</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/Song.html#%3Cinit%3E(org.w3c.dom.Element)">Song(Element)</a></span> - Constructor for class musichub.business.<a href="musichub/business/Song.html" title="class in musichub.business">Song</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/Language.html#SPANISH">SPANISH</a></span> - Enum constant in enum class musichub.business.<a href="musichub/business/Language.html" title="enum class in musichub.business">Language</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/Category.html#SPEECH">SPEECH</a></span> - Enum constant in enum class musichub.business.<a href="musichub/business/Category.html" title="enum class in musichub.business">Category</a></dt>
          +<dd>&nbsp;</dd>
          +</dl>
          +<h2 class="title" id="I:T">T</h2>
          +<dl class="index">
          +<dt><span class="member-name-link"><a href="musichub/business/Category.html#THEATER">THEATER</a></span> - Enum constant in enum class musichub.business.<a href="musichub/business/Category.html" title="enum class in musichub.business">Category</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/AudioElement.html#title">title</a></span> - Variable in class musichub.business.<a href="musichub/business/AudioElement.html" title="class in musichub.business">AudioElement</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/AudioBook.html#toString()">toString()</a></span> - Method in class musichub.business.<a href="musichub/business/AudioBook.html" title="class in musichub.business">AudioBook</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/AudioElement.html#toString()">toString()</a></span> - Method in class musichub.business.<a href="musichub/business/AudioElement.html" title="class in musichub.business">AudioElement</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/Song.html#toString()">toString()</a></span> - Method in class musichub.business.<a href="musichub/business/Song.html" title="class in musichub.business">Song</a></dt>
          +<dd>&nbsp;</dd>
          +</dl>
          +<h2 class="title" id="I:U">U</h2>
          +<dl class="index">
          +<dt><span class="member-name-link"><a href="musichub/business/AudioElement.html#uuid">uuid</a></span> - Variable in class musichub.business.<a href="musichub/business/AudioElement.html" title="class in musichub.business">AudioElement</a></dt>
          +<dd>&nbsp;</dd>
          +</dl>
          +<h2 class="title" id="I:V">V</h2>
          +<dl class="index">
          +<dt><span class="member-name-link"><a href="musichub/business/Category.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum class musichub.business.<a href="musichub/business/Category.html" title="enum class in musichub.business">Category</a></dt>
          +<dd>
          +<div class="block">Returns the enum constant of this class with the specified name.</div>
          +</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/Genre.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum class musichub.business.<a href="musichub/business/Genre.html" title="enum class in musichub.business">Genre</a></dt>
          +<dd>
          +<div class="block">Returns the enum constant of this class with the specified name.</div>
          +</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/Language.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum class musichub.business.<a href="musichub/business/Language.html" title="enum class in musichub.business">Language</a></dt>
          +<dd>
          +<div class="block">Returns the enum constant of this class with the specified name.</div>
          +</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/Category.html#values()">values()</a></span> - Static method in enum class musichub.business.<a href="musichub/business/Category.html" title="enum class in musichub.business">Category</a></dt>
          +<dd>
          +<div class="block">Returns an array containing the constants of this enum class, in
          +the order they are declared.</div>
          +</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/Genre.html#values()">values()</a></span> - Static method in enum class musichub.business.<a href="musichub/business/Genre.html" title="enum class in musichub.business">Genre</a></dt>
          +<dd>
          +<div class="block">Returns an array containing the constants of this enum class, in
          +the order they are declared.</div>
          +</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/Language.html#values()">values()</a></span> - Static method in enum class musichub.business.<a href="musichub/business/Language.html" title="enum class in musichub.business">Language</a></dt>
          +<dd>
          +<div class="block">Returns an array containing the constants of this enum class, in
          +the order they are declared.</div>
          +</dd>
          +</dl>
          +<h2 class="title" id="I:W">W</h2>
          +<dl class="index">
          +<dt><span class="member-name-link"><a href="musichub/util/LogHandler.html#write(java.lang.String,java.lang.String)">write(String, String)</a></span> - Static method in class musichub.util.<a href="musichub/util/LogHandler.html" title="class in musichub.util">LogHandler</a></dt>
          +<dd>
          +<div class="block">Method that writes a log message to spoteezer.log</div>
          +</dd>
          +</dl>
          +<h2 class="title" id="I:X">X</h2>
          +<dl class="index">
          +<dt><a href="musichub/util/XMLHandler.html" title="class in musichub.util"><span class="type-name-link">XMLHandler</span></a> - Class in <a href="musichub/util/package-summary.html">musichub.util</a></dt>
          +<dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/util/XMLHandler.html#%3Cinit%3E()">XMLHandler()</a></span> - Constructor for class musichub.util.<a href="musichub/util/XMLHandler.html" title="class in musichub.util">XMLHandler</a></dt>
          +<dd>&nbsp;</dd>
          +</dl>
          +<h2 class="title" id="I:Y">Y</h2>
          +<dl class="index">
          +<dt><span class="member-name-link"><a href="musichub/business/Category.html#YOUTH">YOUTH</a></span> - Enum constant in enum class musichub.business.<a href="musichub/business/Category.html" title="enum class in musichub.business">Category</a></dt>
          +<dd>&nbsp;</dd>
          +</dl>
          +<a href="#I:A">A</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:D">D</a>&nbsp;<a href="#I:E">E</a>&nbsp;<a href="#I:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:H">H</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:J">J</a>&nbsp;<a href="#I:L">L</a>&nbsp;<a href="#I:M">M</a>&nbsp;<a href="#I:N">N</a>&nbsp;<a href="#I:P">P</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:U">U</a>&nbsp;<a href="#I:V">V</a>&nbsp;<a href="#I:W">W</a>&nbsp;<a href="#I:X">X</a>&nbsp;<a href="#I:Y">Y</a>&nbsp;<br><a href="allclasses-index.html">All&nbsp;Classes</a><span class="vertical-separator">|</span><a href="allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="serialized-form.html">Serialized&nbsp;Form</a></main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/index.html b/target/site/apidocs/index.html
          new file mode 100644
          index 0000000..2d288a6
          --- /dev/null
          +++ b/target/site/apidocs/index.html
          @@ -0,0 +1,78 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>Overview (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="package index">
          +<meta name="generator" content="javadoc/PackageIndexWriter">
          +<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="script.js"></script>
          +<script type="text/javascript" src="script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="package-index-page">
          +<script type="text/javascript">var pathtoroot = "./";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li class="nav-bar-cell1-rev">Overview</li>
          +<li>Package</li>
          +<li>Class</li>
          +<li>Use</li>
          +<li><a href="overview-tree.html">Tree</a></li>
          +<li><a href="index-all.html">Index</a></li>
          +<li><a href="help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<div class="header">
          +<h1 class="title">spoteezer 0.1.0 API</h1>
          +</div>
          +<div id="all-packages-table">
          +<div class="caption"><span>Packages</span></div>
          +<div class="summary-table two-column-summary">
          +<div class="table-header col-first">Package</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color all-packages-table-tab1 all-packages-table"><a href="musichub/business/package-summary.html">musichub.business</a></div>
          +<div class="col-last even-row-color all-packages-table-tab1 all-packages-table">&nbsp;</div>
          +<div class="col-first odd-row-color all-packages-table-tab1 all-packages-table"><a href="musichub/main/package-summary.html">musichub.main</a></div>
          +<div class="col-last odd-row-color all-packages-table-tab1 all-packages-table">&nbsp;</div>
          +<div class="col-first even-row-color all-packages-table-tab1 all-packages-table"><a href="musichub/util/package-summary.html">musichub.util</a></div>
          +<div class="col-last even-row-color all-packages-table-tab1 all-packages-table">&nbsp;</div>
          +</div>
          +</div>
          +</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/jquery-ui.overrides.css b/target/site/apidocs/jquery-ui.overrides.css
          new file mode 100644
          index 0000000..f89acb6
          --- /dev/null
          +++ b/target/site/apidocs/jquery-ui.overrides.css
          @@ -0,0 +1,34 @@
          +/*
          + * Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved.
          + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
          + *
          + * This code is free software; you can redistribute it and/or modify it
          + * under the terms of the GNU General Public License version 2 only, as
          + * published by the Free Software Foundation.  Oracle designates this
          + * particular file as subject to the "Classpath" exception as provided
          + * by Oracle in the LICENSE file that accompanied this code.
          + *
          + * This code is distributed in the hope that it will be useful, but WITHOUT
          + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
          + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
          + * version 2 for more details (a copy is included in the LICENSE file that
          + * accompanied this code).
          + *
          + * You should have received a copy of the GNU General Public License version
          + * 2 along with this work; if not, write to the Free Software Foundation,
          + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
          + *
          + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
          + * or visit www.oracle.com if you need additional information or have any
          + * questions.
          + */
          +
          +.ui-state-active,
          +.ui-widget-content .ui-state-active,
          +.ui-widget-header .ui-state-active,
          +a.ui-button:active,
          +.ui-button:active,
          +.ui-button.ui-state-active:hover {
          +    /* Overrides the color of selection used in jQuery UI */
          +    background: #F8981D;
          +}
          diff --git a/target/site/apidocs/member-search-index.js b/target/site/apidocs/member-search-index.js
          new file mode 100644
          index 0000000..f583be9
          --- /dev/null
          +++ b/target/site/apidocs/member-search-index.js
          @@ -0,0 +1 @@
          +memberSearchIndex = [{"p":"musichub.business","c":"MusicHub","l":"addAlbum(Album)","u":"addAlbum(musichub.business.Album)"},{"p":"musichub.business","c":"MusicHub","l":"addElement(AudioElement)","u":"addElement(musichub.business.AudioElement)"},{"p":"musichub.business","c":"PlayList","l":"addElement(UUID)","u":"addElement(java.util.UUID)"},{"p":"musichub.business","c":"MusicHub","l":"addElementToAlbum(String, String)","u":"addElementToAlbum(java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"addElementToPlayList(String, String)","u":"addElementToPlayList(java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"addPlaylist(PlayList)","u":"addPlaylist(musichub.business.PlayList)"},{"p":"musichub.business","c":"Album","l":"addSong(UUID)","u":"addSong(java.util.UUID)"},{"p":"musichub.business","c":"Album","l":"Album(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"Album","l":"Album(String, String, int, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String)"},{"p":"musichub.business","c":"Album","l":"Album(String, String, int, String, String, ArrayList<UUID>)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.util.ArrayList)"},{"p":"musichub.business","c":"MusicHub","l":"ALBUMS_FILE_PATH"},{"p":"musichub.business","c":"MusicHub","l":"albums()"},{"p":"musichub.business","c":"AudioElement","l":"artist"},{"p":"musichub.business","c":"AudioBook","l":"AudioBook(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioBook","l":"AudioBook(String, String, int, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"AudioBook","l":"AudioBook(String, String, int, String, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"AudioElement","l":"AudioElement(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioElement","l":"AudioElement(String, String, int, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String)"},{"p":"musichub.business","c":"AudioElement","l":"AudioElement(String, String, int, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"Genre","l":"CLASSIC"},{"p":"musichub.business","c":"AudioElement","l":"content"},{"p":"musichub.util","c":"XMLHandler","l":"createXMLDocument()"},{"p":"musichub.business","c":"Album","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioBook","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioElement","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"PlayList","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"Song","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.util","c":"XMLHandler","l":"createXMLFile(Document, String)","u":"createXMLFile(org.w3c.dom.Document,java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"deletePlayList(String)","u":"deletePlayList(java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"DIR"},{"p":"musichub.business","c":"Category","l":"DOCUMENTARY"},{"p":"musichub.business","c":"MusicHub","l":"ELEMENTS_FILE_PATH"},{"p":"musichub.business","c":"MusicHub","l":"elements()"},{"p":"musichub.business","c":"Language","l":"ENGLISH"},{"p":"musichub.business","c":"Language","l":"FRENCH"},{"p":"musichub.business","c":"Language","l":"GERMAN"},{"p":"musichub.business","c":"MusicHub","l":"getAlbumSongs(String)","u":"getAlbumSongs(java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"getAlbumSongsSortedByGenre(String)","u":"getAlbumSongsSortedByGenre(java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"getAlbumsTitlesSortedByDate()"},{"p":"musichub.business","c":"AudioElement","l":"getArtist()"},{"p":"musichub.business","c":"MusicHub","l":"getAudiobooksTitlesSortedByAuthor()"},{"p":"musichub.business","c":"MusicHub","l":"getAudioElement(List<AudioElement>, String)","u":"getAudioElement(java.util.List,java.lang.String)"},{"p":"musichub.business","c":"AudioBook","l":"getCategory()"},{"p":"musichub.business","c":"Category","l":"getCategory()"},{"p":"musichub.business","c":"Album","l":"getDate()"},{"p":"musichub.business","c":"PlayList","l":"getElements()"},{"p":"musichub.business","c":"Genre","l":"getGenre()"},{"p":"musichub.business","c":"Song","l":"getGenre()"},{"p":"musichub.business","c":"AudioBook","l":"getLanguage()"},{"p":"musichub.business","c":"Language","l":"getLanguage()"},{"p":"musichub.business","c":"Album","l":"getSongs()"},{"p":"musichub.business","c":"Album","l":"getSongsRandomly()"},{"p":"musichub.business","c":"Album","l":"getTitle()"},{"p":"musichub.business","c":"AudioElement","l":"getTitle()"},{"p":"musichub.business","c":"PlayList","l":"getTitle()"},{"p":"musichub.business","c":"AudioElement","l":"getUUID()"},{"p":"musichub.business","c":"Genre","l":"HIPHOP"},{"p":"musichub.util","c":"PathValidation","l":"isPathValid(String)","u":"isPathValid(java.lang.String)"},{"p":"musichub.business","c":"Language","l":"ITALIAN"},{"p":"musichub.business","c":"Genre","l":"JAZZ"},{"p":"musichub.business","c":"AudioElement","l":"lengthInSeconds"},{"p":"musichub.util","c":"LogHandler","l":"LogHandler()","u":"%3Cinit%3E()"},{"p":"musichub.main","c":"Main","l":"Main()","u":"%3Cinit%3E()"},{"p":"musichub.main","c":"Main","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"musichub.business","c":"AudioElement","l":"manageAudioElement()"},{"p":"musichub.business","c":"MusicHub","l":"MusicHub()","u":"%3Cinit%3E()"},{"p":"musichub.business","c":"NoAlbumFoundException","l":"NoAlbumFoundException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"NoElementFoundException","l":"NoElementFoundException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"NoPlayListFoundException","l":"NoPlayListFoundException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"Category","l":"NOVEL"},{"p":"musichub.util","c":"XMLHandler","l":"parseXMLFile(String)","u":"parseXMLFile(java.lang.String)"},{"p":"musichub.util","c":"PathValidation","l":"PathValidation()","u":"%3Cinit%3E()"},{"p":"musichub.business","c":"PlayList","l":"PlayList(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"PlayList","l":"PlayList(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"PlayList","l":"PlayList(String, String, ArrayList<UUID>)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.util.ArrayList)"},{"p":"musichub.business","c":"MusicHub","l":"PLAYLISTS_FILE_PATH"},{"p":"musichub.business","c":"MusicHub","l":"playlists()"},{"p":"musichub.business","c":"Genre","l":"POP"},{"p":"musichub.business","c":"Genre","l":"RAP"},{"p":"musichub.util","c":"LogHandler","l":"read()"},{"p":"musichub.business","c":"Genre","l":"ROCK"},{"p":"musichub.business","c":"MusicHub","l":"saveAlbums()"},{"p":"musichub.business","c":"MusicHub","l":"saveElements()"},{"p":"musichub.business","c":"MusicHub","l":"savePlayLists()"},{"p":"musichub.business","c":"AudioBook","l":"setCategory(String)","u":"setCategory(java.lang.String)"},{"p":"musichub.business","c":"Song","l":"setGenre(String)","u":"setGenre(java.lang.String)"},{"p":"musichub.business","c":"AudioBook","l":"setLanguage(String)","u":"setLanguage(java.lang.String)"},{"p":"musichub.business","c":"Song","l":"Song(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"Song","l":"Song(String, String, int, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"Song","l":"Song(String, String, int, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"Language","l":"SPANISH"},{"p":"musichub.business","c":"Category","l":"SPEECH"},{"p":"musichub.business","c":"Category","l":"THEATER"},{"p":"musichub.business","c":"AudioElement","l":"title"},{"p":"musichub.business","c":"AudioBook","l":"toString()"},{"p":"musichub.business","c":"AudioElement","l":"toString()"},{"p":"musichub.business","c":"Song","l":"toString()"},{"p":"musichub.business","c":"AudioElement","l":"uuid"},{"p":"musichub.business","c":"Category","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"musichub.business","c":"Genre","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"musichub.business","c":"Language","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"musichub.business","c":"Category","l":"values()"},{"p":"musichub.business","c":"Genre","l":"values()"},{"p":"musichub.business","c":"Language","l":"values()"},{"p":"musichub.util","c":"LogHandler","l":"write(String, String)","u":"write(java.lang.String,java.lang.String)"},{"p":"musichub.util","c":"XMLHandler","l":"XMLHandler()","u":"%3Cinit%3E()"},{"p":"musichub.business","c":"Category","l":"YOUTH"}];updateSearchResults();
          \ No newline at end of file
          diff --git a/target/site/apidocs/module-search-index.js b/target/site/apidocs/module-search-index.js
          new file mode 100644
          index 0000000..0d59754
          --- /dev/null
          +++ b/target/site/apidocs/module-search-index.js
          @@ -0,0 +1 @@
          +moduleSearchIndex = [];updateSearchResults();
          \ No newline at end of file
          diff --git a/target/site/apidocs/musichub/business/Album.html b/target/site/apidocs/musichub/business/Album.html
          new file mode 100644
          index 0000000..973b265
          --- /dev/null
          +++ b/target/site/apidocs/musichub/business/Album.html
          @@ -0,0 +1,250 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>Album (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="declaration: package: musichub.business, class: Album">
          +<meta name="generator" content="javadoc/ClassWriterImpl">
          +<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="../../script.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="class-declaration-page">
          +<script type="text/javascript">var evenRowColor = "even-row-color";
          +var oddRowColor = "odd-row-color";
          +var tableTab = "table-tab";
          +var activeTableTab = "active-table-tab";
          +var pathtoroot = "../../";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="../../index.html">Overview</a></li>
          +<li><a href="package-summary.html">Package</a></li>
          +<li class="nav-bar-cell1-rev">Class</li>
          +<li><a href="class-use/Album.html">Use</a></li>
          +<li><a href="package-tree.html">Tree</a></li>
          +<li><a href="../../index-all.html">Index</a></li>
          +<li><a href="../../help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div>
          +<ul class="sub-nav-list">
          +<li>Summary:&nbsp;</li>
          +<li>Nested&nbsp;|&nbsp;</li>
          +<li>Field&nbsp;|&nbsp;</li>
          +<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
          +<li><a href="#method.summary">Method</a></li>
          +</ul>
          +<ul class="sub-nav-list">
          +<li>Detail:&nbsp;</li>
          +<li>Field&nbsp;|&nbsp;</li>
          +<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
          +<li><a href="#method.detail">Method</a></li>
          +</ul>
          +</div>
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<!-- ======== START OF CLASS DATA ======== -->
          +<div class="header">
          +<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">musichub.business</a></div>
          +<h1 title="Class Album" class="title">Class Album</h1>
          +</div>
          +<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
          +<div class="inheritance">musichub.business.Album</div>
          +</div>
          +<section class="description">
          +<hr>
          +<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">Album</span>
          +<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
          +</section>
          +<section class="summary">
          +<ul class="summary-list">
          +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
          +<li>
          +<section class="constructor-summary" id="constructor.summary">
          +<h2>Constructor Summary</h2>
          +<div class="caption"><span>Constructors</span></div>
          +<div class="summary-table two-column-summary">
          +<div class="table-header col-first">Constructor</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-constructor-name even-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String)">Album</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;title,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;artist,
          + int&nbsp;lengthInSeconds,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;date)</code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +<div class="col-constructor-name odd-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.util.ArrayList)">Album</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;title,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;artist,
          + int&nbsp;lengthInSeconds,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;id,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;date,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/UUID.html" title="class or interface in java.util" class="external-link">UUID</a>&gt;&nbsp;songsUIDs)</code></div>
          +<div class="col-last odd-row-color">&nbsp;</div>
          +<div class="col-constructor-name even-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E(org.w3c.dom.Element)">Album</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom" class="external-link">Element</a>&nbsp;xmlElement)</code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +</div>
          +</section>
          +</li>
          +<!-- ========== METHOD SUMMARY =========== -->
          +<li>
          +<section class="method-summary" id="method.summary">
          +<h2>Method Summary</h2>
          +<div id="method-summary-table">
          +<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
          +<div id="method-summary-table.tabpanel" role="tabpanel">
          +<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
          +<div class="table-header col-first">Modifier and Type</div>
          +<div class="table-header col-second">Method</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
          +<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#addSong(java.util.UUID)">addSong</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/UUID.html" title="class or interface in java.util" class="external-link">UUID</a>&nbsp;song)</code></div>
          +<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
          +<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)">createXMLElement</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom" class="external-link">Document</a>&nbsp;document,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom" class="external-link">Element</a>&nbsp;parentElement)</code></div>
          +<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Date.html" title="class or interface in java.util" class="external-link">Date</a></code></div>
          +<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getDate()">getDate</a></span>()</code></div>
          +<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/UUID.html" title="class or interface in java.util" class="external-link">UUID</a>&gt;</code></div>
          +<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getSongs()">getSongs</a></span>()</code></div>
          +<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/UUID.html" title="class or interface in java.util" class="external-link">UUID</a>&gt;</code></div>
          +<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getSongsRandomly()">getSongsRandomly</a></span>()</code></div>
          +<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
          +<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getTitle()">getTitle</a></span>()</code></div>
          +<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +</div>
          +</div>
          +</div>
          +<div class="inherited-list">
          +<h3 id="methods.inherited.from.class.java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
          +<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +<section class="details">
          +<ul class="details-list">
          +<!-- ========= CONSTRUCTOR DETAIL ======== -->
          +<li>
          +<section class="constructor-details" id="constructor.detail">
          +<h2>Constructor Details</h2>
          +<ul class="member-list">
          +<li>
          +<section class="detail" id="&lt;init&gt;(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.util.ArrayList)">
          +<h3>Album</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">Album</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;title,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;artist,
          + int&nbsp;lengthInSeconds,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;id,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;date,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/UUID.html" title="class or interface in java.util" class="external-link">UUID</a>&gt;&nbsp;songsUIDs)</span></div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="&lt;init&gt;(java.lang.String,java.lang.String,int,java.lang.String)">
          +<h3>Album</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">Album</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;title,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;artist,
          + int&nbsp;lengthInSeconds,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;date)</span></div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="&lt;init&gt;(org.w3c.dom.Element)">
          +<h3>Album</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">Album</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom" class="external-link">Element</a>&nbsp;xmlElement)</span>
          +      throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a></span></div>
          +<dl class="notes">
          +<dt>Throws:</dt>
          +<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a></code></dd>
          +</dl>
          +</section>
          +</li>
          +</ul>
          +</section>
          +</li>
          +<!-- ============ METHOD DETAIL ========== -->
          +<li>
          +<section class="method-details" id="method.detail">
          +<h2>Method Details</h2>
          +<ul class="member-list">
          +<li>
          +<section class="detail" id="addSong(java.util.UUID)">
          +<h3>addSong</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">addSong</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/UUID.html" title="class or interface in java.util" class="external-link">UUID</a>&nbsp;song)</span></div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="getSongs()">
          +<h3>getSongs</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/UUID.html" title="class or interface in java.util" class="external-link">UUID</a>&gt;</span>&nbsp;<span class="element-name">getSongs</span>()</div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="getSongsRandomly()">
          +<h3>getSongsRandomly</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/UUID.html" title="class or interface in java.util" class="external-link">UUID</a>&gt;</span>&nbsp;<span class="element-name">getSongsRandomly</span>()</div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="getTitle()">
          +<h3>getTitle</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getTitle</span>()</div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="getDate()">
          +<h3>getDate</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Date.html" title="class or interface in java.util" class="external-link">Date</a></span>&nbsp;<span class="element-name">getDate</span>()</div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)">
          +<h3>createXMLElement</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">createXMLElement</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom" class="external-link">Document</a>&nbsp;document,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom" class="external-link">Element</a>&nbsp;parentElement)</span></div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +</li>
          +</ul>
          +</section>
          +<!-- ========= END OF CLASS DATA ========= -->
          +</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/musichub/business/AudioBook.html b/target/site/apidocs/musichub/business/AudioBook.html
          new file mode 100644
          index 0000000..f9f339c
          --- /dev/null
          +++ b/target/site/apidocs/musichub/business/AudioBook.html
          @@ -0,0 +1,273 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>AudioBook (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="declaration: package: musichub.business, class: AudioBook">
          +<meta name="generator" content="javadoc/ClassWriterImpl">
          +<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="../../script.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="class-declaration-page">
          +<script type="text/javascript">var evenRowColor = "even-row-color";
          +var oddRowColor = "odd-row-color";
          +var tableTab = "table-tab";
          +var activeTableTab = "active-table-tab";
          +var pathtoroot = "../../";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="../../index.html">Overview</a></li>
          +<li><a href="package-summary.html">Package</a></li>
          +<li class="nav-bar-cell1-rev">Class</li>
          +<li><a href="class-use/AudioBook.html">Use</a></li>
          +<li><a href="package-tree.html">Tree</a></li>
          +<li><a href="../../index-all.html">Index</a></li>
          +<li><a href="../../help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div>
          +<ul class="sub-nav-list">
          +<li>Summary:&nbsp;</li>
          +<li>Nested&nbsp;|&nbsp;</li>
          +<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
          +<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
          +<li><a href="#method.summary">Method</a></li>
          +</ul>
          +<ul class="sub-nav-list">
          +<li>Detail:&nbsp;</li>
          +<li>Field&nbsp;|&nbsp;</li>
          +<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
          +<li><a href="#method.detail">Method</a></li>
          +</ul>
          +</div>
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<!-- ======== START OF CLASS DATA ======== -->
          +<div class="header">
          +<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">musichub.business</a></div>
          +<h1 title="Class AudioBook" class="title">Class AudioBook</h1>
          +</div>
          +<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
          +<div class="inheritance"><a href="AudioElement.html" title="class in musichub.business">musichub.business.AudioElement</a>
          +<div class="inheritance">musichub.business.AudioBook</div>
          +</div>
          +</div>
          +<section class="description">
          +<hr>
          +<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">AudioBook</span>
          +<span class="extends-implements">extends <a href="AudioElement.html" title="class in musichub.business">AudioElement</a></span></div>
          +</section>
          +<section class="summary">
          +<ul class="summary-list">
          +<!-- =========== FIELD SUMMARY =========== -->
          +<li>
          +<section class="field-summary" id="field.summary">
          +<h2>Field Summary</h2>
          +<div class="inherited-list">
          +<h3 id="fields.inherited.from.class.musichub.business.AudioElement">Fields inherited from class&nbsp;musichub.business.<a href="AudioElement.html" title="class in musichub.business">AudioElement</a></h3>
          +<code><a href="AudioElement.html#artist">artist</a>, <a href="AudioElement.html#content">content</a>, <a href="AudioElement.html#lengthInSeconds">lengthInSeconds</a>, <a href="AudioElement.html#title">title</a>, <a href="AudioElement.html#uuid">uuid</a></code></div>
          +</section>
          +</li>
          +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
          +<li>
          +<section class="constructor-summary" id="constructor.summary">
          +<h2>Constructor Summary</h2>
          +<div class="caption"><span>Constructors</span></div>
          +<div class="summary-table two-column-summary">
          +<div class="table-header col-first">Constructor</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-constructor-name even-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String)">AudioBook</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;title,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;artist,
          + int&nbsp;lengthInSeconds,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;content,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;language,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;category)</code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +<div class="col-constructor-name odd-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String)">AudioBook</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;title,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;artist,
          + int&nbsp;lengthInSeconds,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;uid,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;content,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;language,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;category)</code></div>
          +<div class="col-last odd-row-color">&nbsp;</div>
          +<div class="col-constructor-name even-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E(org.w3c.dom.Element)">AudioBook</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom" class="external-link">Element</a>&nbsp;xmlElement)</code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +</div>
          +</section>
          +</li>
          +<!-- ========== METHOD SUMMARY =========== -->
          +<li>
          +<section class="method-summary" id="method.summary">
          +<h2>Method Summary</h2>
          +<div id="method-summary-table">
          +<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
          +<div id="method-summary-table.tabpanel" role="tabpanel">
          +<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
          +<div class="table-header col-first">Modifier and Type</div>
          +<div class="table-header col-second">Method</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
          +<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)">createXMLElement</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom" class="external-link">Document</a>&nbsp;document,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom" class="external-link">Element</a>&nbsp;parentElement)</code></div>
          +<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="Category.html" title="enum class in musichub.business">Category</a></code></div>
          +<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getCategory()">getCategory</a></span>()</code></div>
          +<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="Language.html" title="enum class in musichub.business">Language</a></code></div>
          +<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getLanguage()">getLanguage</a></span>()</code></div>
          +<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
          +<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#setCategory(java.lang.String)">setCategory</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;category)</code></div>
          +<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
          +<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#setLanguage(java.lang.String)">setLanguage</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;language)</code></div>
          +<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
          +<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#toString()">toString</a></span>()</code></div>
          +<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +</div>
          +</div>
          +</div>
          +<div class="inherited-list">
          +<h3 id="methods.inherited.from.class.musichub.business.AudioElement">Methods inherited from class&nbsp;musichub.business.<a href="AudioElement.html" title="class in musichub.business">AudioElement</a></h3>
          +<code><a href="AudioElement.html#getArtist()">getArtist</a>, <a href="AudioElement.html#getTitle()">getTitle</a>, <a href="AudioElement.html#getUUID()">getUUID</a>, <a href="AudioElement.html#manageAudioElement()">manageAudioElement</a></code></div>
          +<div class="inherited-list">
          +<h3 id="methods.inherited.from.class.java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
          +<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +<section class="details">
          +<ul class="details-list">
          +<!-- ========= CONSTRUCTOR DETAIL ======== -->
          +<li>
          +<section class="constructor-details" id="constructor.detail">
          +<h2>Constructor Details</h2>
          +<ul class="member-list">
          +<li>
          +<section class="detail" id="&lt;init&gt;(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String)">
          +<h3>AudioBook</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">AudioBook</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;title,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;artist,
          + int&nbsp;lengthInSeconds,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;uid,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;content,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;language,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;category)</span></div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="&lt;init&gt;(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String)">
          +<h3>AudioBook</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">AudioBook</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;title,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;artist,
          + int&nbsp;lengthInSeconds,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;content,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;language,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;category)</span></div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="&lt;init&gt;(org.w3c.dom.Element)">
          +<h3>AudioBook</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">AudioBook</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom" class="external-link">Element</a>&nbsp;xmlElement)</span></div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +</li>
          +<!-- ============ METHOD DETAIL ========== -->
          +<li>
          +<section class="method-details" id="method.detail">
          +<h2>Method Details</h2>
          +<ul class="member-list">
          +<li>
          +<section class="detail" id="getLanguage()">
          +<h3>getLanguage</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="Language.html" title="enum class in musichub.business">Language</a></span>&nbsp;<span class="element-name">getLanguage</span>()</div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="setLanguage(java.lang.String)">
          +<h3>setLanguage</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setLanguage</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;language)</span></div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="getCategory()">
          +<h3>getCategory</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="Category.html" title="enum class in musichub.business">Category</a></span>&nbsp;<span class="element-name">getCategory</span>()</div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="setCategory(java.lang.String)">
          +<h3>setCategory</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setCategory</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;category)</span></div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="toString()">
          +<h3>toString</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">toString</span>()</div>
          +<dl class="notes">
          +<dt>Overrides:</dt>
          +<dd><code><a href="AudioElement.html#toString()">toString</a></code>&nbsp;in class&nbsp;<code><a href="AudioElement.html" title="class in musichub.business">AudioElement</a></code></dd>
          +</dl>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)">
          +<h3>createXMLElement</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">createXMLElement</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom" class="external-link">Document</a>&nbsp;document,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom" class="external-link">Element</a>&nbsp;parentElement)</span></div>
          +<dl class="notes">
          +<dt>Overrides:</dt>
          +<dd><code><a href="AudioElement.html#createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)">createXMLElement</a></code>&nbsp;in class&nbsp;<code><a href="AudioElement.html" title="class in musichub.business">AudioElement</a></code></dd>
          +</dl>
          +</section>
          +</li>
          +</ul>
          +</section>
          +</li>
          +</ul>
          +</section>
          +<!-- ========= END OF CLASS DATA ========= -->
          +</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/musichub/business/AudioElement.html b/target/site/apidocs/musichub/business/AudioElement.html
          new file mode 100644
          index 0000000..0765c5e
          --- /dev/null
          +++ b/target/site/apidocs/musichub/business/AudioElement.html
          @@ -0,0 +1,325 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>AudioElement (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="declaration: package: musichub.business, class: AudioElement">
          +<meta name="generator" content="javadoc/ClassWriterImpl">
          +<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="../../script.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="class-declaration-page">
          +<script type="text/javascript">var evenRowColor = "even-row-color";
          +var oddRowColor = "odd-row-color";
          +var tableTab = "table-tab";
          +var activeTableTab = "active-table-tab";
          +var pathtoroot = "../../";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="../../index.html">Overview</a></li>
          +<li><a href="package-summary.html">Package</a></li>
          +<li class="nav-bar-cell1-rev">Class</li>
          +<li><a href="class-use/AudioElement.html">Use</a></li>
          +<li><a href="package-tree.html">Tree</a></li>
          +<li><a href="../../index-all.html">Index</a></li>
          +<li><a href="../../help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div>
          +<ul class="sub-nav-list">
          +<li>Summary:&nbsp;</li>
          +<li>Nested&nbsp;|&nbsp;</li>
          +<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
          +<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
          +<li><a href="#method.summary">Method</a></li>
          +</ul>
          +<ul class="sub-nav-list">
          +<li>Detail:&nbsp;</li>
          +<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
          +<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
          +<li><a href="#method.detail">Method</a></li>
          +</ul>
          +</div>
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<!-- ======== START OF CLASS DATA ======== -->
          +<div class="header">
          +<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">musichub.business</a></div>
          +<h1 title="Class AudioElement" class="title">Class AudioElement</h1>
          +</div>
          +<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
          +<div class="inheritance">musichub.business.AudioElement</div>
          +</div>
          +<section class="description">
          +<dl class="notes">
          +<dt>Direct Known Subclasses:</dt>
          +<dd><code><a href="AudioBook.html" title="class in musichub.business">AudioBook</a></code>, <code><a href="Song.html" title="class in musichub.business">Song</a></code></dd>
          +</dl>
          +<hr>
          +<div class="type-signature"><span class="modifiers">public abstract class </span><span class="element-name type-name-label">AudioElement</span>
          +<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
          +</section>
          +<section class="summary">
          +<ul class="summary-list">
          +<!-- =========== FIELD SUMMARY =========== -->
          +<li>
          +<section class="field-summary" id="field.summary">
          +<h2>Field Summary</h2>
          +<div class="caption"><span>Fields</span></div>
          +<div class="summary-table three-column-summary">
          +<div class="table-header col-first">Modifier and Type</div>
          +<div class="table-header col-second">Field</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color"><code>protected <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
          +<div class="col-second even-row-color"><code><span class="member-name-link"><a href="#artist">artist</a></span></code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +<div class="col-first odd-row-color"><code>protected <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
          +<div class="col-second odd-row-color"><code><span class="member-name-link"><a href="#content">content</a></span></code></div>
          +<div class="col-last odd-row-color">&nbsp;</div>
          +<div class="col-first even-row-color"><code>protected int</code></div>
          +<div class="col-second even-row-color"><code><span class="member-name-link"><a href="#lengthInSeconds">lengthInSeconds</a></span></code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +<div class="col-first odd-row-color"><code>protected <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
          +<div class="col-second odd-row-color"><code><span class="member-name-link"><a href="#title">title</a></span></code></div>
          +<div class="col-last odd-row-color">&nbsp;</div>
          +<div class="col-first even-row-color"><code>protected <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/UUID.html" title="class or interface in java.util" class="external-link">UUID</a></code></div>
          +<div class="col-second even-row-color"><code><span class="member-name-link"><a href="#uuid">uuid</a></span></code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +</div>
          +</section>
          +</li>
          +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
          +<li>
          +<section class="constructor-summary" id="constructor.summary">
          +<h2>Constructor Summary</h2>
          +<div class="caption"><span>Constructors</span></div>
          +<div class="summary-table two-column-summary">
          +<div class="table-header col-first">Constructor</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-constructor-name even-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String)">AudioElement</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;title,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;artist,
          + int&nbsp;lengthInSeconds,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;content)</code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +<div class="col-constructor-name odd-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String)">AudioElement</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;title,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;artist,
          + int&nbsp;lengthInSeconds,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;id,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;content)</code></div>
          +<div class="col-last odd-row-color">&nbsp;</div>
          +<div class="col-constructor-name even-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E(org.w3c.dom.Element)">AudioElement</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom" class="external-link">Element</a>&nbsp;xmlElement)</code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +</div>
          +</section>
          +</li>
          +<!-- ========== METHOD SUMMARY =========== -->
          +<li>
          +<section class="method-summary" id="method.summary">
          +<h2>Method Summary</h2>
          +<div id="method-summary-table">
          +<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
          +<div id="method-summary-table.tabpanel" role="tabpanel">
          +<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
          +<div class="table-header col-first">Modifier and Type</div>
          +<div class="table-header col-second">Method</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
          +<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)">createXMLElement</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom" class="external-link">Document</a>&nbsp;document,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom" class="external-link">Element</a>&nbsp;parentElement)</code></div>
          +<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
          +<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getArtist()">getArtist</a></span>()</code></div>
          +<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
          +<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getTitle()">getTitle</a></span>()</code></div>
          +<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/UUID.html" title="class or interface in java.util" class="external-link">UUID</a></code></div>
          +<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getUUID()">getUUID</a></span>()</code></div>
          +<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
          +<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#manageAudioElement()">manageAudioElement</a></span>()</code></div>
          +<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
          +<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#toString()">toString</a></span>()</code></div>
          +<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +</div>
          +</div>
          +</div>
          +<div class="inherited-list">
          +<h3 id="methods.inherited.from.class.java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
          +<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +<section class="details">
          +<ul class="details-list">
          +<!-- ============ FIELD DETAIL =========== -->
          +<li>
          +<section class="field-details" id="field.detail">
          +<h2>Field Details</h2>
          +<ul class="member-list">
          +<li>
          +<section class="detail" id="title">
          +<h3>title</h3>
          +<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">title</span></div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="artist">
          +<h3>artist</h3>
          +<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">artist</span></div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="lengthInSeconds">
          +<h3>lengthInSeconds</h3>
          +<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">lengthInSeconds</span></div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="uuid">
          +<h3>uuid</h3>
          +<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/UUID.html" title="class or interface in java.util" class="external-link">UUID</a></span>&nbsp;<span class="element-name">uuid</span></div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="content">
          +<h3>content</h3>
          +<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">content</span></div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +</li>
          +<!-- ========= CONSTRUCTOR DETAIL ======== -->
          +<li>
          +<section class="constructor-details" id="constructor.detail">
          +<h2>Constructor Details</h2>
          +<ul class="member-list">
          +<li>
          +<section class="detail" id="&lt;init&gt;(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String)">
          +<h3>AudioElement</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">AudioElement</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;title,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;artist,
          + int&nbsp;lengthInSeconds,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;id,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;content)</span></div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="&lt;init&gt;(java.lang.String,java.lang.String,int,java.lang.String)">
          +<h3>AudioElement</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">AudioElement</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;title,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;artist,
          + int&nbsp;lengthInSeconds,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;content)</span></div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="&lt;init&gt;(org.w3c.dom.Element)">
          +<h3>AudioElement</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">AudioElement</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom" class="external-link">Element</a>&nbsp;xmlElement)</span></div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +</li>
          +<!-- ============ METHOD DETAIL ========== -->
          +<li>
          +<section class="method-details" id="method.detail">
          +<h2>Method Details</h2>
          +<ul class="member-list">
          +<li>
          +<section class="detail" id="getUUID()">
          +<h3>getUUID</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/UUID.html" title="class or interface in java.util" class="external-link">UUID</a></span>&nbsp;<span class="element-name">getUUID</span>()</div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="getArtist()">
          +<h3>getArtist</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getArtist</span>()</div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="getTitle()">
          +<h3>getTitle</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getTitle</span>()</div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="toString()">
          +<h3>toString</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">toString</span>()</div>
          +<dl class="notes">
          +<dt>Overrides:</dt>
          +<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></code></dd>
          +</dl>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)">
          +<h3>createXMLElement</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">createXMLElement</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom" class="external-link">Document</a>&nbsp;document,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom" class="external-link">Element</a>&nbsp;parentElement)</span></div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="manageAudioElement()">
          +<h3>manageAudioElement</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">manageAudioElement</span>()
          +                        throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/javax/sound/sampled/UnsupportedAudioFileException.html" title="class or interface in javax.sound.sampled" class="external-link">UnsupportedAudioFileException</a>,
          +<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a>,
          +<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/javax/sound/sampled/LineUnavailableException.html" title="class or interface in javax.sound.sampled" class="external-link">LineUnavailableException</a></span></div>
          +<dl class="notes">
          +<dt>Throws:</dt>
          +<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/javax/sound/sampled/UnsupportedAudioFileException.html" title="class or interface in javax.sound.sampled" class="external-link">UnsupportedAudioFileException</a></code></dd>
          +<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
          +<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/javax/sound/sampled/LineUnavailableException.html" title="class or interface in javax.sound.sampled" class="external-link">LineUnavailableException</a></code></dd>
          +</dl>
          +</section>
          +</li>
          +</ul>
          +</section>
          +</li>
          +</ul>
          +</section>
          +<!-- ========= END OF CLASS DATA ========= -->
          +</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/musichub/business/Category.html b/target/site/apidocs/musichub/business/Category.html
          new file mode 100644
          index 0000000..78478cc
          --- /dev/null
          +++ b/target/site/apidocs/musichub/business/Category.html
          @@ -0,0 +1,258 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>Category (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="declaration: package: musichub.business, enum: Category">
          +<meta name="generator" content="javadoc/ClassWriterImpl">
          +<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="../../script.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="class-declaration-page">
          +<script type="text/javascript">var evenRowColor = "even-row-color";
          +var oddRowColor = "odd-row-color";
          +var tableTab = "table-tab";
          +var activeTableTab = "active-table-tab";
          +var pathtoroot = "../../";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="../../index.html">Overview</a></li>
          +<li><a href="package-summary.html">Package</a></li>
          +<li class="nav-bar-cell1-rev">Class</li>
          +<li><a href="class-use/Category.html">Use</a></li>
          +<li><a href="package-tree.html">Tree</a></li>
          +<li><a href="../../index-all.html">Index</a></li>
          +<li><a href="../../help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div>
          +<ul class="sub-nav-list">
          +<li>Summary:&nbsp;</li>
          +<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
          +<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
          +<li>Field&nbsp;|&nbsp;</li>
          +<li><a href="#method.summary">Method</a></li>
          +</ul>
          +<ul class="sub-nav-list">
          +<li>Detail:&nbsp;</li>
          +<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
          +<li>Field&nbsp;|&nbsp;</li>
          +<li><a href="#method.detail">Method</a></li>
          +</ul>
          +</div>
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<!-- ======== START OF CLASS DATA ======== -->
          +<div class="header">
          +<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">musichub.business</a></div>
          +<h1 title="Enum Class Category" class="title">Enum Class Category</h1>
          +</div>
          +<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
          +<div class="inheritance"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">java.lang.Enum</a>&lt;<a href="Category.html" title="enum class in musichub.business">Category</a>&gt;
          +<div class="inheritance">musichub.business.Category</div>
          +</div>
          +</div>
          +<section class="description">
          +<dl class="notes">
          +<dt>All Implemented Interfaces:</dt>
          +<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a></code>, <code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Comparable.html" title="class or interface in java.lang" class="external-link">Comparable</a>&lt;<a href="Category.html" title="enum class in musichub.business">Category</a>&gt;</code>, <code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/constant/Constable.html" title="class or interface in java.lang.constant" class="external-link">Constable</a></code></dd>
          +</dl>
          +<hr>
          +<div class="type-signature"><span class="modifiers">public enum </span><span class="element-name type-name-label">Category</span>
          +<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">Enum</a>&lt;<a href="Category.html" title="enum class in musichub.business">Category</a>&gt;</span></div>
          +</section>
          +<section class="summary">
          +<ul class="summary-list">
          +<!-- ======== NESTED CLASS SUMMARY ======== -->
          +<li>
          +<section class="nested-class-summary" id="nested.class.summary">
          +<h2>Nested Class Summary</h2>
          +<div class="inherited-list">
          +<h2 id="nested.classes.inherited.from.class.java.lang.Enum">Nested classes/interfaces inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">Enum</a></h2>
          +<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.EnumDesc.html" title="class or interface in java.lang" class="external-link">Enum.EnumDesc</a>&lt;<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.EnumDesc.html" title="class or interface in java.lang" class="external-link">E</a> extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">Enum</a>&lt;<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.EnumDesc.html" title="class or interface in java.lang" class="external-link">E</a>&gt;&gt;</code></div>
          +</section>
          +</li>
          +<!-- =========== ENUM CONSTANT SUMMARY =========== -->
          +<li>
          +<section class="constants-summary" id="enum.constant.summary">
          +<h2>Enum Constant Summary</h2>
          +<div class="caption"><span>Enum Constants</span></div>
          +<div class="summary-table two-column-summary">
          +<div class="table-header col-first">Enum Constant</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color"><code><span class="member-name-link"><a href="#DOCUMENTARY">DOCUMENTARY</a></span></code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +<div class="col-first odd-row-color"><code><span class="member-name-link"><a href="#NOVEL">NOVEL</a></span></code></div>
          +<div class="col-last odd-row-color">&nbsp;</div>
          +<div class="col-first even-row-color"><code><span class="member-name-link"><a href="#SPEECH">SPEECH</a></span></code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +<div class="col-first odd-row-color"><code><span class="member-name-link"><a href="#THEATER">THEATER</a></span></code></div>
          +<div class="col-last odd-row-color">&nbsp;</div>
          +<div class="col-first even-row-color"><code><span class="member-name-link"><a href="#YOUTH">YOUTH</a></span></code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +</div>
          +</section>
          +</li>
          +<!-- ========== METHOD SUMMARY =========== -->
          +<li>
          +<section class="method-summary" id="method.summary">
          +<h2>Method Summary</h2>
          +<div id="method-summary-table">
          +<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
          +<div id="method-summary-table.tabpanel" role="tabpanel">
          +<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
          +<div class="table-header col-first">Modifier and Type</div>
          +<div class="table-header col-second">Method</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
          +<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getCategory()">getCategory</a></span>()</code></div>
          +<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +<div class="col-first odd-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table"><code>static <a href="Category.html" title="enum class in musichub.business">Category</a></code></div>
          +<div class="col-second odd-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#valueOf(java.lang.String)">valueOf</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</code></div>
          +<div class="col-last odd-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table">
          +<div class="block">Returns the enum constant of this class with the specified name.</div>
          +</div>
          +<div class="col-first even-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table"><code>static <a href="Category.html" title="enum class in musichub.business">Category</a>[]</code></div>
          +<div class="col-second even-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#values()">values</a></span>()</code></div>
          +<div class="col-last even-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table">
          +<div class="block">Returns an array containing the constants of this enum class, in
          +the order they are declared.</div>
          +</div>
          +</div>
          +</div>
          +</div>
          +<div class="inherited-list">
          +<h3 id="methods.inherited.from.class.java.lang.Enum">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">Enum</a></h3>
          +<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#compareTo(E)" title="class or interface in java.lang" class="external-link">compareTo</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#describeConstable()" title="class or interface in java.lang" class="external-link">describeConstable</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#getDeclaringClass()" title="class or interface in java.lang" class="external-link">getDeclaringClass</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#name()" title="class or interface in java.lang" class="external-link">name</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#ordinal()" title="class or interface in java.lang" class="external-link">ordinal</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#valueOf(java.lang.Class,java.lang.String)" title="class or interface in java.lang" class="external-link">valueOf</a></code></div>
          +<div class="inherited-list">
          +<h3 id="methods.inherited.from.class.java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
          +<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +<section class="details">
          +<ul class="details-list">
          +<!-- ============ ENUM CONSTANT DETAIL =========== -->
          +<li>
          +<section class="constant-details" id="enum.constant.detail">
          +<h2>Enum Constant Details</h2>
          +<ul class="member-list">
          +<li>
          +<section class="detail" id="YOUTH">
          +<h3>YOUTH</h3>
          +<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Category.html" title="enum class in musichub.business">Category</a></span>&nbsp;<span class="element-name">YOUTH</span></div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="NOVEL">
          +<h3>NOVEL</h3>
          +<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Category.html" title="enum class in musichub.business">Category</a></span>&nbsp;<span class="element-name">NOVEL</span></div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="THEATER">
          +<h3>THEATER</h3>
          +<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Category.html" title="enum class in musichub.business">Category</a></span>&nbsp;<span class="element-name">THEATER</span></div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="DOCUMENTARY">
          +<h3>DOCUMENTARY</h3>
          +<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Category.html" title="enum class in musichub.business">Category</a></span>&nbsp;<span class="element-name">DOCUMENTARY</span></div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="SPEECH">
          +<h3>SPEECH</h3>
          +<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Category.html" title="enum class in musichub.business">Category</a></span>&nbsp;<span class="element-name">SPEECH</span></div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +</li>
          +<!-- ============ METHOD DETAIL ========== -->
          +<li>
          +<section class="method-details" id="method.detail">
          +<h2>Method Details</h2>
          +<ul class="member-list">
          +<li>
          +<section class="detail" id="values()">
          +<h3>values</h3>
          +<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="Category.html" title="enum class in musichub.business">Category</a>[]</span>&nbsp;<span class="element-name">values</span>()</div>
          +<div class="block">Returns an array containing the constants of this enum class, in
          +the order they are declared.</div>
          +<dl class="notes">
          +<dt>Returns:</dt>
          +<dd>an array containing the constants of this enum class, in the order they are declared</dd>
          +</dl>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="valueOf(java.lang.String)">
          +<h3>valueOf</h3>
          +<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="Category.html" title="enum class in musichub.business">Category</a></span>&nbsp;<span class="element-name">valueOf</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</span></div>
          +<div class="block">Returns the enum constant of this class with the specified name.
          +The string must match <i>exactly</i> an identifier used to declare an
          +enum constant in this class.  (Extraneous whitespace characters are 
          +not permitted.)</div>
          +<dl class="notes">
          +<dt>Parameters:</dt>
          +<dd><code>name</code> - the name of the enum constant to be returned.</dd>
          +<dt>Returns:</dt>
          +<dd>the enum constant with the specified name</dd>
          +<dt>Throws:</dt>
          +<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if this enum class has no constant with the specified name</dd>
          +<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/NullPointerException.html" title="class or interface in java.lang" class="external-link">NullPointerException</a></code> - if the argument is null</dd>
          +</dl>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="getCategory()">
          +<h3>getCategory</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getCategory</span>()</div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +</li>
          +</ul>
          +</section>
          +<!-- ========= END OF CLASS DATA ========= -->
          +</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/musichub/business/Genre.html b/target/site/apidocs/musichub/business/Genre.html
          new file mode 100644
          index 0000000..1e8368a
          --- /dev/null
          +++ b/target/site/apidocs/musichub/business/Genre.html
          @@ -0,0 +1,266 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>Genre (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="declaration: package: musichub.business, enum: Genre">
          +<meta name="generator" content="javadoc/ClassWriterImpl">
          +<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="../../script.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="class-declaration-page">
          +<script type="text/javascript">var evenRowColor = "even-row-color";
          +var oddRowColor = "odd-row-color";
          +var tableTab = "table-tab";
          +var activeTableTab = "active-table-tab";
          +var pathtoroot = "../../";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="../../index.html">Overview</a></li>
          +<li><a href="package-summary.html">Package</a></li>
          +<li class="nav-bar-cell1-rev">Class</li>
          +<li><a href="class-use/Genre.html">Use</a></li>
          +<li><a href="package-tree.html">Tree</a></li>
          +<li><a href="../../index-all.html">Index</a></li>
          +<li><a href="../../help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div>
          +<ul class="sub-nav-list">
          +<li>Summary:&nbsp;</li>
          +<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
          +<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
          +<li>Field&nbsp;|&nbsp;</li>
          +<li><a href="#method.summary">Method</a></li>
          +</ul>
          +<ul class="sub-nav-list">
          +<li>Detail:&nbsp;</li>
          +<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
          +<li>Field&nbsp;|&nbsp;</li>
          +<li><a href="#method.detail">Method</a></li>
          +</ul>
          +</div>
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<!-- ======== START OF CLASS DATA ======== -->
          +<div class="header">
          +<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">musichub.business</a></div>
          +<h1 title="Enum Class Genre" class="title">Enum Class Genre</h1>
          +</div>
          +<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
          +<div class="inheritance"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">java.lang.Enum</a>&lt;<a href="Genre.html" title="enum class in musichub.business">Genre</a>&gt;
          +<div class="inheritance">musichub.business.Genre</div>
          +</div>
          +</div>
          +<section class="description">
          +<dl class="notes">
          +<dt>All Implemented Interfaces:</dt>
          +<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a></code>, <code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Comparable.html" title="class or interface in java.lang" class="external-link">Comparable</a>&lt;<a href="Genre.html" title="enum class in musichub.business">Genre</a>&gt;</code>, <code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/constant/Constable.html" title="class or interface in java.lang.constant" class="external-link">Constable</a></code></dd>
          +</dl>
          +<hr>
          +<div class="type-signature"><span class="modifiers">public enum </span><span class="element-name type-name-label">Genre</span>
          +<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">Enum</a>&lt;<a href="Genre.html" title="enum class in musichub.business">Genre</a>&gt;</span></div>
          +</section>
          +<section class="summary">
          +<ul class="summary-list">
          +<!-- ======== NESTED CLASS SUMMARY ======== -->
          +<li>
          +<section class="nested-class-summary" id="nested.class.summary">
          +<h2>Nested Class Summary</h2>
          +<div class="inherited-list">
          +<h2 id="nested.classes.inherited.from.class.java.lang.Enum">Nested classes/interfaces inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">Enum</a></h2>
          +<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.EnumDesc.html" title="class or interface in java.lang" class="external-link">Enum.EnumDesc</a>&lt;<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.EnumDesc.html" title="class or interface in java.lang" class="external-link">E</a> extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">Enum</a>&lt;<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.EnumDesc.html" title="class or interface in java.lang" class="external-link">E</a>&gt;&gt;</code></div>
          +</section>
          +</li>
          +<!-- =========== ENUM CONSTANT SUMMARY =========== -->
          +<li>
          +<section class="constants-summary" id="enum.constant.summary">
          +<h2>Enum Constant Summary</h2>
          +<div class="caption"><span>Enum Constants</span></div>
          +<div class="summary-table two-column-summary">
          +<div class="table-header col-first">Enum Constant</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color"><code><span class="member-name-link"><a href="#CLASSIC">CLASSIC</a></span></code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +<div class="col-first odd-row-color"><code><span class="member-name-link"><a href="#HIPHOP">HIPHOP</a></span></code></div>
          +<div class="col-last odd-row-color">&nbsp;</div>
          +<div class="col-first even-row-color"><code><span class="member-name-link"><a href="#JAZZ">JAZZ</a></span></code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +<div class="col-first odd-row-color"><code><span class="member-name-link"><a href="#POP">POP</a></span></code></div>
          +<div class="col-last odd-row-color">&nbsp;</div>
          +<div class="col-first even-row-color"><code><span class="member-name-link"><a href="#RAP">RAP</a></span></code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +<div class="col-first odd-row-color"><code><span class="member-name-link"><a href="#ROCK">ROCK</a></span></code></div>
          +<div class="col-last odd-row-color">&nbsp;</div>
          +</div>
          +</section>
          +</li>
          +<!-- ========== METHOD SUMMARY =========== -->
          +<li>
          +<section class="method-summary" id="method.summary">
          +<h2>Method Summary</h2>
          +<div id="method-summary-table">
          +<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
          +<div id="method-summary-table.tabpanel" role="tabpanel">
          +<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
          +<div class="table-header col-first">Modifier and Type</div>
          +<div class="table-header col-second">Method</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
          +<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getGenre()">getGenre</a></span>()</code></div>
          +<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +<div class="col-first odd-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table"><code>static <a href="Genre.html" title="enum class in musichub.business">Genre</a></code></div>
          +<div class="col-second odd-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#valueOf(java.lang.String)">valueOf</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</code></div>
          +<div class="col-last odd-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table">
          +<div class="block">Returns the enum constant of this class with the specified name.</div>
          +</div>
          +<div class="col-first even-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table"><code>static <a href="Genre.html" title="enum class in musichub.business">Genre</a>[]</code></div>
          +<div class="col-second even-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#values()">values</a></span>()</code></div>
          +<div class="col-last even-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table">
          +<div class="block">Returns an array containing the constants of this enum class, in
          +the order they are declared.</div>
          +</div>
          +</div>
          +</div>
          +</div>
          +<div class="inherited-list">
          +<h3 id="methods.inherited.from.class.java.lang.Enum">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">Enum</a></h3>
          +<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#compareTo(E)" title="class or interface in java.lang" class="external-link">compareTo</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#describeConstable()" title="class or interface in java.lang" class="external-link">describeConstable</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#getDeclaringClass()" title="class or interface in java.lang" class="external-link">getDeclaringClass</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#name()" title="class or interface in java.lang" class="external-link">name</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#ordinal()" title="class or interface in java.lang" class="external-link">ordinal</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#valueOf(java.lang.Class,java.lang.String)" title="class or interface in java.lang" class="external-link">valueOf</a></code></div>
          +<div class="inherited-list">
          +<h3 id="methods.inherited.from.class.java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
          +<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +<section class="details">
          +<ul class="details-list">
          +<!-- ============ ENUM CONSTANT DETAIL =========== -->
          +<li>
          +<section class="constant-details" id="enum.constant.detail">
          +<h2>Enum Constant Details</h2>
          +<ul class="member-list">
          +<li>
          +<section class="detail" id="JAZZ">
          +<h3>JAZZ</h3>
          +<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Genre.html" title="enum class in musichub.business">Genre</a></span>&nbsp;<span class="element-name">JAZZ</span></div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="CLASSIC">
          +<h3>CLASSIC</h3>
          +<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Genre.html" title="enum class in musichub.business">Genre</a></span>&nbsp;<span class="element-name">CLASSIC</span></div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="HIPHOP">
          +<h3>HIPHOP</h3>
          +<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Genre.html" title="enum class in musichub.business">Genre</a></span>&nbsp;<span class="element-name">HIPHOP</span></div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="ROCK">
          +<h3>ROCK</h3>
          +<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Genre.html" title="enum class in musichub.business">Genre</a></span>&nbsp;<span class="element-name">ROCK</span></div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="POP">
          +<h3>POP</h3>
          +<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Genre.html" title="enum class in musichub.business">Genre</a></span>&nbsp;<span class="element-name">POP</span></div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="RAP">
          +<h3>RAP</h3>
          +<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Genre.html" title="enum class in musichub.business">Genre</a></span>&nbsp;<span class="element-name">RAP</span></div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +</li>
          +<!-- ============ METHOD DETAIL ========== -->
          +<li>
          +<section class="method-details" id="method.detail">
          +<h2>Method Details</h2>
          +<ul class="member-list">
          +<li>
          +<section class="detail" id="values()">
          +<h3>values</h3>
          +<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="Genre.html" title="enum class in musichub.business">Genre</a>[]</span>&nbsp;<span class="element-name">values</span>()</div>
          +<div class="block">Returns an array containing the constants of this enum class, in
          +the order they are declared.</div>
          +<dl class="notes">
          +<dt>Returns:</dt>
          +<dd>an array containing the constants of this enum class, in the order they are declared</dd>
          +</dl>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="valueOf(java.lang.String)">
          +<h3>valueOf</h3>
          +<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="Genre.html" title="enum class in musichub.business">Genre</a></span>&nbsp;<span class="element-name">valueOf</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</span></div>
          +<div class="block">Returns the enum constant of this class with the specified name.
          +The string must match <i>exactly</i> an identifier used to declare an
          +enum constant in this class.  (Extraneous whitespace characters are 
          +not permitted.)</div>
          +<dl class="notes">
          +<dt>Parameters:</dt>
          +<dd><code>name</code> - the name of the enum constant to be returned.</dd>
          +<dt>Returns:</dt>
          +<dd>the enum constant with the specified name</dd>
          +<dt>Throws:</dt>
          +<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if this enum class has no constant with the specified name</dd>
          +<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/NullPointerException.html" title="class or interface in java.lang" class="external-link">NullPointerException</a></code> - if the argument is null</dd>
          +</dl>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="getGenre()">
          +<h3>getGenre</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getGenre</span>()</div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +</li>
          +</ul>
          +</section>
          +<!-- ========= END OF CLASS DATA ========= -->
          +</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/musichub/business/Language.html b/target/site/apidocs/musichub/business/Language.html
          new file mode 100644
          index 0000000..373acb6
          --- /dev/null
          +++ b/target/site/apidocs/musichub/business/Language.html
          @@ -0,0 +1,258 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>Language (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="declaration: package: musichub.business, enum: Language">
          +<meta name="generator" content="javadoc/ClassWriterImpl">
          +<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="../../script.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="class-declaration-page">
          +<script type="text/javascript">var evenRowColor = "even-row-color";
          +var oddRowColor = "odd-row-color";
          +var tableTab = "table-tab";
          +var activeTableTab = "active-table-tab";
          +var pathtoroot = "../../";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="../../index.html">Overview</a></li>
          +<li><a href="package-summary.html">Package</a></li>
          +<li class="nav-bar-cell1-rev">Class</li>
          +<li><a href="class-use/Language.html">Use</a></li>
          +<li><a href="package-tree.html">Tree</a></li>
          +<li><a href="../../index-all.html">Index</a></li>
          +<li><a href="../../help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div>
          +<ul class="sub-nav-list">
          +<li>Summary:&nbsp;</li>
          +<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
          +<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
          +<li>Field&nbsp;|&nbsp;</li>
          +<li><a href="#method.summary">Method</a></li>
          +</ul>
          +<ul class="sub-nav-list">
          +<li>Detail:&nbsp;</li>
          +<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
          +<li>Field&nbsp;|&nbsp;</li>
          +<li><a href="#method.detail">Method</a></li>
          +</ul>
          +</div>
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<!-- ======== START OF CLASS DATA ======== -->
          +<div class="header">
          +<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">musichub.business</a></div>
          +<h1 title="Enum Class Language" class="title">Enum Class Language</h1>
          +</div>
          +<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
          +<div class="inheritance"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">java.lang.Enum</a>&lt;<a href="Language.html" title="enum class in musichub.business">Language</a>&gt;
          +<div class="inheritance">musichub.business.Language</div>
          +</div>
          +</div>
          +<section class="description">
          +<dl class="notes">
          +<dt>All Implemented Interfaces:</dt>
          +<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a></code>, <code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Comparable.html" title="class or interface in java.lang" class="external-link">Comparable</a>&lt;<a href="Language.html" title="enum class in musichub.business">Language</a>&gt;</code>, <code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/constant/Constable.html" title="class or interface in java.lang.constant" class="external-link">Constable</a></code></dd>
          +</dl>
          +<hr>
          +<div class="type-signature"><span class="modifiers">public enum </span><span class="element-name type-name-label">Language</span>
          +<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">Enum</a>&lt;<a href="Language.html" title="enum class in musichub.business">Language</a>&gt;</span></div>
          +</section>
          +<section class="summary">
          +<ul class="summary-list">
          +<!-- ======== NESTED CLASS SUMMARY ======== -->
          +<li>
          +<section class="nested-class-summary" id="nested.class.summary">
          +<h2>Nested Class Summary</h2>
          +<div class="inherited-list">
          +<h2 id="nested.classes.inherited.from.class.java.lang.Enum">Nested classes/interfaces inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">Enum</a></h2>
          +<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.EnumDesc.html" title="class or interface in java.lang" class="external-link">Enum.EnumDesc</a>&lt;<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.EnumDesc.html" title="class or interface in java.lang" class="external-link">E</a> extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">Enum</a>&lt;<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.EnumDesc.html" title="class or interface in java.lang" class="external-link">E</a>&gt;&gt;</code></div>
          +</section>
          +</li>
          +<!-- =========== ENUM CONSTANT SUMMARY =========== -->
          +<li>
          +<section class="constants-summary" id="enum.constant.summary">
          +<h2>Enum Constant Summary</h2>
          +<div class="caption"><span>Enum Constants</span></div>
          +<div class="summary-table two-column-summary">
          +<div class="table-header col-first">Enum Constant</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color"><code><span class="member-name-link"><a href="#ENGLISH">ENGLISH</a></span></code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +<div class="col-first odd-row-color"><code><span class="member-name-link"><a href="#FRENCH">FRENCH</a></span></code></div>
          +<div class="col-last odd-row-color">&nbsp;</div>
          +<div class="col-first even-row-color"><code><span class="member-name-link"><a href="#GERMAN">GERMAN</a></span></code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +<div class="col-first odd-row-color"><code><span class="member-name-link"><a href="#ITALIAN">ITALIAN</a></span></code></div>
          +<div class="col-last odd-row-color">&nbsp;</div>
          +<div class="col-first even-row-color"><code><span class="member-name-link"><a href="#SPANISH">SPANISH</a></span></code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +</div>
          +</section>
          +</li>
          +<!-- ========== METHOD SUMMARY =========== -->
          +<li>
          +<section class="method-summary" id="method.summary">
          +<h2>Method Summary</h2>
          +<div id="method-summary-table">
          +<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
          +<div id="method-summary-table.tabpanel" role="tabpanel">
          +<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
          +<div class="table-header col-first">Modifier and Type</div>
          +<div class="table-header col-second">Method</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
          +<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getLanguage()">getLanguage</a></span>()</code></div>
          +<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +<div class="col-first odd-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table"><code>static <a href="Language.html" title="enum class in musichub.business">Language</a></code></div>
          +<div class="col-second odd-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#valueOf(java.lang.String)">valueOf</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</code></div>
          +<div class="col-last odd-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table">
          +<div class="block">Returns the enum constant of this class with the specified name.</div>
          +</div>
          +<div class="col-first even-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table"><code>static <a href="Language.html" title="enum class in musichub.business">Language</a>[]</code></div>
          +<div class="col-second even-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#values()">values</a></span>()</code></div>
          +<div class="col-last even-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table">
          +<div class="block">Returns an array containing the constants of this enum class, in
          +the order they are declared.</div>
          +</div>
          +</div>
          +</div>
          +</div>
          +<div class="inherited-list">
          +<h3 id="methods.inherited.from.class.java.lang.Enum">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">Enum</a></h3>
          +<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#compareTo(E)" title="class or interface in java.lang" class="external-link">compareTo</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#describeConstable()" title="class or interface in java.lang" class="external-link">describeConstable</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#getDeclaringClass()" title="class or interface in java.lang" class="external-link">getDeclaringClass</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#name()" title="class or interface in java.lang" class="external-link">name</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#ordinal()" title="class or interface in java.lang" class="external-link">ordinal</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html#valueOf(java.lang.Class,java.lang.String)" title="class or interface in java.lang" class="external-link">valueOf</a></code></div>
          +<div class="inherited-list">
          +<h3 id="methods.inherited.from.class.java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
          +<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +<section class="details">
          +<ul class="details-list">
          +<!-- ============ ENUM CONSTANT DETAIL =========== -->
          +<li>
          +<section class="constant-details" id="enum.constant.detail">
          +<h2>Enum Constant Details</h2>
          +<ul class="member-list">
          +<li>
          +<section class="detail" id="FRENCH">
          +<h3>FRENCH</h3>
          +<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Language.html" title="enum class in musichub.business">Language</a></span>&nbsp;<span class="element-name">FRENCH</span></div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="ENGLISH">
          +<h3>ENGLISH</h3>
          +<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Language.html" title="enum class in musichub.business">Language</a></span>&nbsp;<span class="element-name">ENGLISH</span></div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="ITALIAN">
          +<h3>ITALIAN</h3>
          +<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Language.html" title="enum class in musichub.business">Language</a></span>&nbsp;<span class="element-name">ITALIAN</span></div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="SPANISH">
          +<h3>SPANISH</h3>
          +<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Language.html" title="enum class in musichub.business">Language</a></span>&nbsp;<span class="element-name">SPANISH</span></div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="GERMAN">
          +<h3>GERMAN</h3>
          +<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Language.html" title="enum class in musichub.business">Language</a></span>&nbsp;<span class="element-name">GERMAN</span></div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +</li>
          +<!-- ============ METHOD DETAIL ========== -->
          +<li>
          +<section class="method-details" id="method.detail">
          +<h2>Method Details</h2>
          +<ul class="member-list">
          +<li>
          +<section class="detail" id="values()">
          +<h3>values</h3>
          +<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="Language.html" title="enum class in musichub.business">Language</a>[]</span>&nbsp;<span class="element-name">values</span>()</div>
          +<div class="block">Returns an array containing the constants of this enum class, in
          +the order they are declared.</div>
          +<dl class="notes">
          +<dt>Returns:</dt>
          +<dd>an array containing the constants of this enum class, in the order they are declared</dd>
          +</dl>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="valueOf(java.lang.String)">
          +<h3>valueOf</h3>
          +<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="Language.html" title="enum class in musichub.business">Language</a></span>&nbsp;<span class="element-name">valueOf</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</span></div>
          +<div class="block">Returns the enum constant of this class with the specified name.
          +The string must match <i>exactly</i> an identifier used to declare an
          +enum constant in this class.  (Extraneous whitespace characters are 
          +not permitted.)</div>
          +<dl class="notes">
          +<dt>Parameters:</dt>
          +<dd><code>name</code> - the name of the enum constant to be returned.</dd>
          +<dt>Returns:</dt>
          +<dd>the enum constant with the specified name</dd>
          +<dt>Throws:</dt>
          +<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if this enum class has no constant with the specified name</dd>
          +<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/NullPointerException.html" title="class or interface in java.lang" class="external-link">NullPointerException</a></code> - if the argument is null</dd>
          +</dl>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="getLanguage()">
          +<h3>getLanguage</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getLanguage</span>()</div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +</li>
          +</ul>
          +</section>
          +<!-- ========= END OF CLASS DATA ========= -->
          +</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/musichub/business/MusicHub.html b/target/site/apidocs/musichub/business/MusicHub.html
          new file mode 100644
          index 0000000..796ef55
          --- /dev/null
          +++ b/target/site/apidocs/musichub/business/MusicHub.html
          @@ -0,0 +1,412 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>MusicHub (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="declaration: package: musichub.business, class: MusicHub">
          +<meta name="generator" content="javadoc/ClassWriterImpl">
          +<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="../../script.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="class-declaration-page">
          +<script type="text/javascript">var evenRowColor = "even-row-color";
          +var oddRowColor = "odd-row-color";
          +var tableTab = "table-tab";
          +var activeTableTab = "active-table-tab";
          +var pathtoroot = "../../";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="../../index.html">Overview</a></li>
          +<li><a href="package-summary.html">Package</a></li>
          +<li class="nav-bar-cell1-rev">Class</li>
          +<li><a href="class-use/MusicHub.html">Use</a></li>
          +<li><a href="package-tree.html">Tree</a></li>
          +<li><a href="../../index-all.html">Index</a></li>
          +<li><a href="../../help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div>
          +<ul class="sub-nav-list">
          +<li>Summary:&nbsp;</li>
          +<li>Nested&nbsp;|&nbsp;</li>
          +<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
          +<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
          +<li><a href="#method.summary">Method</a></li>
          +</ul>
          +<ul class="sub-nav-list">
          +<li>Detail:&nbsp;</li>
          +<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
          +<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
          +<li><a href="#method.detail">Method</a></li>
          +</ul>
          +</div>
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<!-- ======== START OF CLASS DATA ======== -->
          +<div class="header">
          +<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">musichub.business</a></div>
          +<h1 title="Class MusicHub" class="title">Class MusicHub</h1>
          +</div>
          +<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
          +<div class="inheritance">musichub.business.MusicHub</div>
          +</div>
          +<section class="description">
          +<hr>
          +<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">MusicHub</span>
          +<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
          +</section>
          +<section class="summary">
          +<ul class="summary-list">
          +<!-- =========== FIELD SUMMARY =========== -->
          +<li>
          +<section class="field-summary" id="field.summary">
          +<h2>Field Summary</h2>
          +<div class="caption"><span>Fields</span></div>
          +<div class="summary-table three-column-summary">
          +<div class="table-header col-first">Modifier and Type</div>
          +<div class="table-header col-second">Field</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color"><code>static <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
          +<div class="col-second even-row-color"><code><span class="member-name-link"><a href="#ALBUMS_FILE_PATH">ALBUMS_FILE_PATH</a></span></code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +<div class="col-first odd-row-color"><code>static <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
          +<div class="col-second odd-row-color"><code><span class="member-name-link"><a href="#DIR">DIR</a></span></code></div>
          +<div class="col-last odd-row-color">&nbsp;</div>
          +<div class="col-first even-row-color"><code>static <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
          +<div class="col-second even-row-color"><code><span class="member-name-link"><a href="#ELEMENTS_FILE_PATH">ELEMENTS_FILE_PATH</a></span></code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +<div class="col-first odd-row-color"><code>static <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
          +<div class="col-second odd-row-color"><code><span class="member-name-link"><a href="#PLAYLISTS_FILE_PATH">PLAYLISTS_FILE_PATH</a></span></code></div>
          +<div class="col-last odd-row-color">&nbsp;</div>
          +</div>
          +</section>
          +</li>
          +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
          +<li>
          +<section class="constructor-summary" id="constructor.summary">
          +<h2>Constructor Summary</h2>
          +<div class="caption"><span>Constructors</span></div>
          +<div class="summary-table two-column-summary">
          +<div class="table-header col-first">Constructor</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-constructor-name even-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E()">MusicHub</a></span>()</code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +</div>
          +</section>
          +</li>
          +<!-- ========== METHOD SUMMARY =========== -->
          +<li>
          +<section class="method-summary" id="method.summary">
          +<h2>Method Summary</h2>
          +<div id="method-summary-table">
          +<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
          +<div id="method-summary-table.tabpanel" role="tabpanel">
          +<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
          +<div class="table-header col-first">Modifier and Type</div>
          +<div class="table-header col-second">Method</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
          +<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#addAlbum(musichub.business.Album)">addAlbum</a></span>&#8203;(<a href="Album.html" title="class in musichub.business">Album</a>&nbsp;album)</code></div>
          +<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
          +<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#addElement(musichub.business.AudioElement)">addElement</a></span>&#8203;(<a href="AudioElement.html" title="class in musichub.business">AudioElement</a>&nbsp;element)</code></div>
          +<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
          +<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#addElementToAlbum(java.lang.String,java.lang.String)">addElementToAlbum</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;elementTitle,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;albumTitle)</code></div>
          +<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
          +<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#addElementToPlayList(java.lang.String,java.lang.String)">addElementToPlayList</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;elementTitle,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;playListTitle)</code></div>
          +<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
          +<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#addPlaylist(musichub.business.PlayList)">addPlaylist</a></span>&#8203;(<a href="PlayList.html" title="class in musichub.business">PlayList</a>&nbsp;playlist)</code></div>
          +<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link">Iterator</a>&lt;<a href="Album.html" title="class in musichub.business">Album</a>&gt;</code></div>
          +<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#albums()">albums</a></span>()</code></div>
          +<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
          +<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#deletePlayList(java.lang.String)">deletePlayList</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;playListTitle)</code></div>
          +<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link">Iterator</a>&lt;<a href="AudioElement.html" title="class in musichub.business">AudioElement</a>&gt;</code></div>
          +<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#elements()">elements</a></span>()</code></div>
          +<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="AudioElement.html" title="class in musichub.business">AudioElement</a>&gt;</code></div>
          +<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getAlbumSongs(java.lang.String)">getAlbumSongs</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;albumTitle)</code></div>
          +<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="Song.html" title="class in musichub.business">Song</a>&gt;</code></div>
          +<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getAlbumSongsSortedByGenre(java.lang.String)">getAlbumSongsSortedByGenre</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;albumTitle)</code></div>
          +<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
          +<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getAlbumsTitlesSortedByDate()">getAlbumsTitlesSortedByDate</a></span>()</code></div>
          +<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
          +<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getAudiobooksTitlesSortedByAuthor()">getAudiobooksTitlesSortedByAuthor</a></span>()</code></div>
          +<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
          +<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getAudioElement(java.util.List,java.lang.String)">getAudioElement</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="AudioElement.html" title="class in musichub.business">AudioElement</a>&gt;&nbsp;audios,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;elementTitle)</code></div>
          +<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link">Iterator</a>&lt;<a href="PlayList.html" title="class in musichub.business">PlayList</a>&gt;</code></div>
          +<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#playlists()">playlists</a></span>()</code></div>
          +<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
          +<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#saveAlbums()">saveAlbums</a></span>()</code></div>
          +<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
          +<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#saveElements()">saveElements</a></span>()</code></div>
          +<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
          +<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#savePlayLists()">savePlayLists</a></span>()</code></div>
          +<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +</div>
          +</div>
          +</div>
          +<div class="inherited-list">
          +<h3 id="methods.inherited.from.class.java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
          +<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +<section class="details">
          +<ul class="details-list">
          +<!-- ============ FIELD DETAIL =========== -->
          +<li>
          +<section class="field-details" id="field.detail">
          +<h2>Field Details</h2>
          +<ul class="member-list">
          +<li>
          +<section class="detail" id="DIR">
          +<h3>DIR</h3>
          +<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">DIR</span></div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="ALBUMS_FILE_PATH">
          +<h3>ALBUMS_FILE_PATH</h3>
          +<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">ALBUMS_FILE_PATH</span></div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="PLAYLISTS_FILE_PATH">
          +<h3>PLAYLISTS_FILE_PATH</h3>
          +<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">PLAYLISTS_FILE_PATH</span></div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="ELEMENTS_FILE_PATH">
          +<h3>ELEMENTS_FILE_PATH</h3>
          +<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">ELEMENTS_FILE_PATH</span></div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +</li>
          +<!-- ========= CONSTRUCTOR DETAIL ======== -->
          +<li>
          +<section class="constructor-details" id="constructor.detail">
          +<h2>Constructor Details</h2>
          +<ul class="member-list">
          +<li>
          +<section class="detail" id="&lt;init&gt;()">
          +<h3>MusicHub</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">MusicHub</span>()</div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +</li>
          +<!-- ============ METHOD DETAIL ========== -->
          +<li>
          +<section class="method-details" id="method.detail">
          +<h2>Method Details</h2>
          +<ul class="member-list">
          +<li>
          +<section class="detail" id="addElement(musichub.business.AudioElement)">
          +<h3>addElement</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">addElement</span>&#8203;<span class="parameters">(<a href="AudioElement.html" title="class in musichub.business">AudioElement</a>&nbsp;element)</span></div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="addAlbum(musichub.business.Album)">
          +<h3>addAlbum</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">addAlbum</span>&#8203;<span class="parameters">(<a href="Album.html" title="class in musichub.business">Album</a>&nbsp;album)</span></div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="addPlaylist(musichub.business.PlayList)">
          +<h3>addPlaylist</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">addPlaylist</span>&#8203;<span class="parameters">(<a href="PlayList.html" title="class in musichub.business">PlayList</a>&nbsp;playlist)</span></div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="deletePlayList(java.lang.String)">
          +<h3>deletePlayList</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">deletePlayList</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;playListTitle)</span>
          +                    throws <span class="exceptions"><a href="NoPlayListFoundException.html" title="class in musichub.business">NoPlayListFoundException</a></span></div>
          +<dl class="notes">
          +<dt>Throws:</dt>
          +<dd><code><a href="NoPlayListFoundException.html" title="class in musichub.business">NoPlayListFoundException</a></code></dd>
          +</dl>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="albums()">
          +<h3>albums</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link">Iterator</a>&lt;<a href="Album.html" title="class in musichub.business">Album</a>&gt;</span>&nbsp;<span class="element-name">albums</span>()</div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="playlists()">
          +<h3>playlists</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link">Iterator</a>&lt;<a href="PlayList.html" title="class in musichub.business">PlayList</a>&gt;</span>&nbsp;<span class="element-name">playlists</span>()</div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="elements()">
          +<h3>elements</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link">Iterator</a>&lt;<a href="AudioElement.html" title="class in musichub.business">AudioElement</a>&gt;</span>&nbsp;<span class="element-name">elements</span>()</div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="getAlbumsTitlesSortedByDate()">
          +<h3>getAlbumsTitlesSortedByDate</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getAlbumsTitlesSortedByDate</span>()</div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="getAudiobooksTitlesSortedByAuthor()">
          +<h3>getAudiobooksTitlesSortedByAuthor</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getAudiobooksTitlesSortedByAuthor</span>()</div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="getAlbumSongs(java.lang.String)">
          +<h3>getAlbumSongs</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="AudioElement.html" title="class in musichub.business">AudioElement</a>&gt;</span>&nbsp;<span class="element-name">getAlbumSongs</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;albumTitle)</span>
          +                                 throws <span class="exceptions"><a href="NoAlbumFoundException.html" title="class in musichub.business">NoAlbumFoundException</a></span></div>
          +<dl class="notes">
          +<dt>Throws:</dt>
          +<dd><code><a href="NoAlbumFoundException.html" title="class in musichub.business">NoAlbumFoundException</a></code></dd>
          +</dl>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="getAlbumSongsSortedByGenre(java.lang.String)">
          +<h3>getAlbumSongsSortedByGenre</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="Song.html" title="class in musichub.business">Song</a>&gt;</span>&nbsp;<span class="element-name">getAlbumSongsSortedByGenre</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;albumTitle)</span>
          +                                      throws <span class="exceptions"><a href="NoAlbumFoundException.html" title="class in musichub.business">NoAlbumFoundException</a></span></div>
          +<dl class="notes">
          +<dt>Throws:</dt>
          +<dd><code><a href="NoAlbumFoundException.html" title="class in musichub.business">NoAlbumFoundException</a></code></dd>
          +</dl>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="addElementToAlbum(java.lang.String,java.lang.String)">
          +<h3>addElementToAlbum</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">addElementToAlbum</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;elementTitle,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;albumTitle)</span>
          +                       throws <span class="exceptions"><a href="NoAlbumFoundException.html" title="class in musichub.business">NoAlbumFoundException</a>,
          +<a href="NoElementFoundException.html" title="class in musichub.business">NoElementFoundException</a></span></div>
          +<dl class="notes">
          +<dt>Throws:</dt>
          +<dd><code><a href="NoAlbumFoundException.html" title="class in musichub.business">NoAlbumFoundException</a></code></dd>
          +<dd><code><a href="NoElementFoundException.html" title="class in musichub.business">NoElementFoundException</a></code></dd>
          +</dl>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="addElementToPlayList(java.lang.String,java.lang.String)">
          +<h3>addElementToPlayList</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">addElementToPlayList</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;elementTitle,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;playListTitle)</span>
          +                          throws <span class="exceptions"><a href="NoPlayListFoundException.html" title="class in musichub.business">NoPlayListFoundException</a>,
          +<a href="NoElementFoundException.html" title="class in musichub.business">NoElementFoundException</a></span></div>
          +<dl class="notes">
          +<dt>Throws:</dt>
          +<dd><code><a href="NoPlayListFoundException.html" title="class in musichub.business">NoPlayListFoundException</a></code></dd>
          +<dd><code><a href="NoElementFoundException.html" title="class in musichub.business">NoElementFoundException</a></code></dd>
          +</dl>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="saveAlbums()">
          +<h3>saveAlbums</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">saveAlbums</span>()</div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="savePlayLists()">
          +<h3>savePlayLists</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">savePlayLists</span>()</div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="saveElements()">
          +<h3>saveElements</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">saveElements</span>()</div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="getAudioElement(java.util.List,java.lang.String)">
          +<h3>getAudioElement</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">getAudioElement</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="AudioElement.html" title="class in musichub.business">AudioElement</a>&gt;&nbsp;audios,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;elementTitle)</span>
          +                     throws <span class="exceptions"><a href="NoAlbumFoundException.html" title="class in musichub.business">NoAlbumFoundException</a>,
          +<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/javax/sound/sampled/UnsupportedAudioFileException.html" title="class or interface in javax.sound.sampled" class="external-link">UnsupportedAudioFileException</a>,
          +<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a>,
          +<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/javax/sound/sampled/LineUnavailableException.html" title="class or interface in javax.sound.sampled" class="external-link">LineUnavailableException</a></span></div>
          +<dl class="notes">
          +<dt>Throws:</dt>
          +<dd><code><a href="NoAlbumFoundException.html" title="class in musichub.business">NoAlbumFoundException</a></code></dd>
          +<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/javax/sound/sampled/UnsupportedAudioFileException.html" title="class or interface in javax.sound.sampled" class="external-link">UnsupportedAudioFileException</a></code></dd>
          +<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
          +<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/javax/sound/sampled/LineUnavailableException.html" title="class or interface in javax.sound.sampled" class="external-link">LineUnavailableException</a></code></dd>
          +</dl>
          +</section>
          +</li>
          +</ul>
          +</section>
          +</li>
          +</ul>
          +</section>
          +<!-- ========= END OF CLASS DATA ========= -->
          +</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/musichub/business/NoAlbumFoundException.html b/target/site/apidocs/musichub/business/NoAlbumFoundException.html
          new file mode 100644
          index 0000000..b97e96b
          --- /dev/null
          +++ b/target/site/apidocs/musichub/business/NoAlbumFoundException.html
          @@ -0,0 +1,150 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>NoAlbumFoundException (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="declaration: package: musichub.business, class: NoAlbumFoundException">
          +<meta name="generator" content="javadoc/ClassWriterImpl">
          +<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="../../script.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="class-declaration-page">
          +<script type="text/javascript">var pathtoroot = "../../";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="../../index.html">Overview</a></li>
          +<li><a href="package-summary.html">Package</a></li>
          +<li class="nav-bar-cell1-rev">Class</li>
          +<li><a href="class-use/NoAlbumFoundException.html">Use</a></li>
          +<li><a href="package-tree.html">Tree</a></li>
          +<li><a href="../../index-all.html">Index</a></li>
          +<li><a href="../../help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div>
          +<ul class="sub-nav-list">
          +<li>Summary:&nbsp;</li>
          +<li>Nested&nbsp;|&nbsp;</li>
          +<li>Field&nbsp;|&nbsp;</li>
          +<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
          +<li><a href="#method.summary">Method</a></li>
          +</ul>
          +<ul class="sub-nav-list">
          +<li>Detail:&nbsp;</li>
          +<li>Field&nbsp;|&nbsp;</li>
          +<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
          +<li>Method</li>
          +</ul>
          +</div>
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<!-- ======== START OF CLASS DATA ======== -->
          +<div class="header">
          +<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">musichub.business</a></div>
          +<h1 title="Class NoAlbumFoundException" class="title">Class NoAlbumFoundException</h1>
          +</div>
          +<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
          +<div class="inheritance"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html" title="class or interface in java.lang" class="external-link">java.lang.Throwable</a>
          +<div class="inheritance"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">java.lang.Exception</a>
          +<div class="inheritance">musichub.business.NoAlbumFoundException</div>
          +</div>
          +</div>
          +</div>
          +<section class="description">
          +<dl class="notes">
          +<dt>All Implemented Interfaces:</dt>
          +<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a></code></dd>
          +</dl>
          +<hr>
          +<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">NoAlbumFoundException</span>
          +<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a></span></div>
          +<dl class="notes">
          +<dt>See Also:</dt>
          +<dd><a href="../../serialized-form.html#musichub.business.NoAlbumFoundException">Serialized Form</a></dd>
          +</dl>
          +</section>
          +<section class="summary">
          +<ul class="summary-list">
          +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
          +<li>
          +<section class="constructor-summary" id="constructor.summary">
          +<h2>Constructor Summary</h2>
          +<div class="caption"><span>Constructors</span></div>
          +<div class="summary-table two-column-summary">
          +<div class="table-header col-first">Constructor</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-constructor-name even-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E(java.lang.String)">NoAlbumFoundException</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;msg)</code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +</div>
          +</section>
          +</li>
          +<!-- ========== METHOD SUMMARY =========== -->
          +<li>
          +<section class="method-summary" id="method.summary">
          +<h2>Method Summary</h2>
          +<div class="inherited-list">
          +<h3 id="methods.inherited.from.class.java.lang.Throwable">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html" title="class or interface in java.lang" class="external-link">Throwable</a></h3>
          +<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#addSuppressed(java.lang.Throwable)" title="class or interface in java.lang" class="external-link">addSuppressed</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#fillInStackTrace()" title="class or interface in java.lang" class="external-link">fillInStackTrace</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#getCause()" title="class or interface in java.lang" class="external-link">getCause</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#getLocalizedMessage()" title="class or interface in java.lang" class="external-link">getLocalizedMessage</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#getMessage()" title="class or interface in java.lang" class="external-link">getMessage</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#getStackTrace()" title="class or interface in java.lang" class="external-link">getStackTrace</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#getSuppressed()" title="class or interface in java.lang" class="external-link">getSuppressed</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#initCause(java.lang.Throwable)" title="class or interface in java.lang" class="external-link">initCause</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#printStackTrace()" title="class or interface in java.lang" class="external-link">printStackTrace</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#printStackTrace(java.io.PrintStream)" title="class or interface in java.lang" class="external-link">printStackTrace</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#printStackTrace(java.io.PrintWriter)" title="class or interface in java.lang" class="external-link">printStackTrace</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#setStackTrace(java.lang.StackTraceElement%5B%5D)" title="class or interface in java.lang" class="external-link">setStackTrace</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#toString()" title="class or interface in java.lang" class="external-link">toString</a></code></div>
          +<div class="inherited-list">
          +<h3 id="methods.inherited.from.class.java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
          +<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +<section class="details">
          +<ul class="details-list">
          +<!-- ========= CONSTRUCTOR DETAIL ======== -->
          +<li>
          +<section class="constructor-details" id="constructor.detail">
          +<h2>Constructor Details</h2>
          +<ul class="member-list">
          +<li>
          +<section class="detail" id="&lt;init&gt;(java.lang.String)">
          +<h3>NoAlbumFoundException</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">NoAlbumFoundException</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;msg)</span></div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +</li>
          +</ul>
          +</section>
          +<!-- ========= END OF CLASS DATA ========= -->
          +</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/musichub/business/NoElementFoundException.html b/target/site/apidocs/musichub/business/NoElementFoundException.html
          new file mode 100644
          index 0000000..02158e1
          --- /dev/null
          +++ b/target/site/apidocs/musichub/business/NoElementFoundException.html
          @@ -0,0 +1,150 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>NoElementFoundException (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="declaration: package: musichub.business, class: NoElementFoundException">
          +<meta name="generator" content="javadoc/ClassWriterImpl">
          +<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="../../script.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="class-declaration-page">
          +<script type="text/javascript">var pathtoroot = "../../";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="../../index.html">Overview</a></li>
          +<li><a href="package-summary.html">Package</a></li>
          +<li class="nav-bar-cell1-rev">Class</li>
          +<li><a href="class-use/NoElementFoundException.html">Use</a></li>
          +<li><a href="package-tree.html">Tree</a></li>
          +<li><a href="../../index-all.html">Index</a></li>
          +<li><a href="../../help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div>
          +<ul class="sub-nav-list">
          +<li>Summary:&nbsp;</li>
          +<li>Nested&nbsp;|&nbsp;</li>
          +<li>Field&nbsp;|&nbsp;</li>
          +<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
          +<li><a href="#method.summary">Method</a></li>
          +</ul>
          +<ul class="sub-nav-list">
          +<li>Detail:&nbsp;</li>
          +<li>Field&nbsp;|&nbsp;</li>
          +<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
          +<li>Method</li>
          +</ul>
          +</div>
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<!-- ======== START OF CLASS DATA ======== -->
          +<div class="header">
          +<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">musichub.business</a></div>
          +<h1 title="Class NoElementFoundException" class="title">Class NoElementFoundException</h1>
          +</div>
          +<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
          +<div class="inheritance"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html" title="class or interface in java.lang" class="external-link">java.lang.Throwable</a>
          +<div class="inheritance"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">java.lang.Exception</a>
          +<div class="inheritance">musichub.business.NoElementFoundException</div>
          +</div>
          +</div>
          +</div>
          +<section class="description">
          +<dl class="notes">
          +<dt>All Implemented Interfaces:</dt>
          +<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a></code></dd>
          +</dl>
          +<hr>
          +<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">NoElementFoundException</span>
          +<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a></span></div>
          +<dl class="notes">
          +<dt>See Also:</dt>
          +<dd><a href="../../serialized-form.html#musichub.business.NoElementFoundException">Serialized Form</a></dd>
          +</dl>
          +</section>
          +<section class="summary">
          +<ul class="summary-list">
          +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
          +<li>
          +<section class="constructor-summary" id="constructor.summary">
          +<h2>Constructor Summary</h2>
          +<div class="caption"><span>Constructors</span></div>
          +<div class="summary-table two-column-summary">
          +<div class="table-header col-first">Constructor</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-constructor-name even-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E(java.lang.String)">NoElementFoundException</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;msg)</code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +</div>
          +</section>
          +</li>
          +<!-- ========== METHOD SUMMARY =========== -->
          +<li>
          +<section class="method-summary" id="method.summary">
          +<h2>Method Summary</h2>
          +<div class="inherited-list">
          +<h3 id="methods.inherited.from.class.java.lang.Throwable">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html" title="class or interface in java.lang" class="external-link">Throwable</a></h3>
          +<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#addSuppressed(java.lang.Throwable)" title="class or interface in java.lang" class="external-link">addSuppressed</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#fillInStackTrace()" title="class or interface in java.lang" class="external-link">fillInStackTrace</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#getCause()" title="class or interface in java.lang" class="external-link">getCause</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#getLocalizedMessage()" title="class or interface in java.lang" class="external-link">getLocalizedMessage</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#getMessage()" title="class or interface in java.lang" class="external-link">getMessage</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#getStackTrace()" title="class or interface in java.lang" class="external-link">getStackTrace</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#getSuppressed()" title="class or interface in java.lang" class="external-link">getSuppressed</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#initCause(java.lang.Throwable)" title="class or interface in java.lang" class="external-link">initCause</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#printStackTrace()" title="class or interface in java.lang" class="external-link">printStackTrace</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#printStackTrace(java.io.PrintStream)" title="class or interface in java.lang" class="external-link">printStackTrace</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#printStackTrace(java.io.PrintWriter)" title="class or interface in java.lang" class="external-link">printStackTrace</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#setStackTrace(java.lang.StackTraceElement%5B%5D)" title="class or interface in java.lang" class="external-link">setStackTrace</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#toString()" title="class or interface in java.lang" class="external-link">toString</a></code></div>
          +<div class="inherited-list">
          +<h3 id="methods.inherited.from.class.java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
          +<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +<section class="details">
          +<ul class="details-list">
          +<!-- ========= CONSTRUCTOR DETAIL ======== -->
          +<li>
          +<section class="constructor-details" id="constructor.detail">
          +<h2>Constructor Details</h2>
          +<ul class="member-list">
          +<li>
          +<section class="detail" id="&lt;init&gt;(java.lang.String)">
          +<h3>NoElementFoundException</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">NoElementFoundException</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;msg)</span></div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +</li>
          +</ul>
          +</section>
          +<!-- ========= END OF CLASS DATA ========= -->
          +</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/musichub/business/NoPlayListFoundException.html b/target/site/apidocs/musichub/business/NoPlayListFoundException.html
          new file mode 100644
          index 0000000..cb1bead
          --- /dev/null
          +++ b/target/site/apidocs/musichub/business/NoPlayListFoundException.html
          @@ -0,0 +1,150 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>NoPlayListFoundException (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="declaration: package: musichub.business, class: NoPlayListFoundException">
          +<meta name="generator" content="javadoc/ClassWriterImpl">
          +<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="../../script.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="class-declaration-page">
          +<script type="text/javascript">var pathtoroot = "../../";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="../../index.html">Overview</a></li>
          +<li><a href="package-summary.html">Package</a></li>
          +<li class="nav-bar-cell1-rev">Class</li>
          +<li><a href="class-use/NoPlayListFoundException.html">Use</a></li>
          +<li><a href="package-tree.html">Tree</a></li>
          +<li><a href="../../index-all.html">Index</a></li>
          +<li><a href="../../help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div>
          +<ul class="sub-nav-list">
          +<li>Summary:&nbsp;</li>
          +<li>Nested&nbsp;|&nbsp;</li>
          +<li>Field&nbsp;|&nbsp;</li>
          +<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
          +<li><a href="#method.summary">Method</a></li>
          +</ul>
          +<ul class="sub-nav-list">
          +<li>Detail:&nbsp;</li>
          +<li>Field&nbsp;|&nbsp;</li>
          +<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
          +<li>Method</li>
          +</ul>
          +</div>
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<!-- ======== START OF CLASS DATA ======== -->
          +<div class="header">
          +<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">musichub.business</a></div>
          +<h1 title="Class NoPlayListFoundException" class="title">Class NoPlayListFoundException</h1>
          +</div>
          +<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
          +<div class="inheritance"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html" title="class or interface in java.lang" class="external-link">java.lang.Throwable</a>
          +<div class="inheritance"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">java.lang.Exception</a>
          +<div class="inheritance">musichub.business.NoPlayListFoundException</div>
          +</div>
          +</div>
          +</div>
          +<section class="description">
          +<dl class="notes">
          +<dt>All Implemented Interfaces:</dt>
          +<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a></code></dd>
          +</dl>
          +<hr>
          +<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">NoPlayListFoundException</span>
          +<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a></span></div>
          +<dl class="notes">
          +<dt>See Also:</dt>
          +<dd><a href="../../serialized-form.html#musichub.business.NoPlayListFoundException">Serialized Form</a></dd>
          +</dl>
          +</section>
          +<section class="summary">
          +<ul class="summary-list">
          +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
          +<li>
          +<section class="constructor-summary" id="constructor.summary">
          +<h2>Constructor Summary</h2>
          +<div class="caption"><span>Constructors</span></div>
          +<div class="summary-table two-column-summary">
          +<div class="table-header col-first">Constructor</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-constructor-name even-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E(java.lang.String)">NoPlayListFoundException</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;msg)</code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +</div>
          +</section>
          +</li>
          +<!-- ========== METHOD SUMMARY =========== -->
          +<li>
          +<section class="method-summary" id="method.summary">
          +<h2>Method Summary</h2>
          +<div class="inherited-list">
          +<h3 id="methods.inherited.from.class.java.lang.Throwable">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html" title="class or interface in java.lang" class="external-link">Throwable</a></h3>
          +<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#addSuppressed(java.lang.Throwable)" title="class or interface in java.lang" class="external-link">addSuppressed</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#fillInStackTrace()" title="class or interface in java.lang" class="external-link">fillInStackTrace</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#getCause()" title="class or interface in java.lang" class="external-link">getCause</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#getLocalizedMessage()" title="class or interface in java.lang" class="external-link">getLocalizedMessage</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#getMessage()" title="class or interface in java.lang" class="external-link">getMessage</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#getStackTrace()" title="class or interface in java.lang" class="external-link">getStackTrace</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#getSuppressed()" title="class or interface in java.lang" class="external-link">getSuppressed</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#initCause(java.lang.Throwable)" title="class or interface in java.lang" class="external-link">initCause</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#printStackTrace()" title="class or interface in java.lang" class="external-link">printStackTrace</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#printStackTrace(java.io.PrintStream)" title="class or interface in java.lang" class="external-link">printStackTrace</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#printStackTrace(java.io.PrintWriter)" title="class or interface in java.lang" class="external-link">printStackTrace</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#setStackTrace(java.lang.StackTraceElement%5B%5D)" title="class or interface in java.lang" class="external-link">setStackTrace</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html#toString()" title="class or interface in java.lang" class="external-link">toString</a></code></div>
          +<div class="inherited-list">
          +<h3 id="methods.inherited.from.class.java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
          +<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +<section class="details">
          +<ul class="details-list">
          +<!-- ========= CONSTRUCTOR DETAIL ======== -->
          +<li>
          +<section class="constructor-details" id="constructor.detail">
          +<h2>Constructor Details</h2>
          +<ul class="member-list">
          +<li>
          +<section class="detail" id="&lt;init&gt;(java.lang.String)">
          +<h3>NoPlayListFoundException</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">NoPlayListFoundException</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;msg)</span></div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +</li>
          +</ul>
          +</section>
          +<!-- ========= END OF CLASS DATA ========= -->
          +</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/musichub/business/PlayList.html b/target/site/apidocs/musichub/business/PlayList.html
          new file mode 100644
          index 0000000..d681f94
          --- /dev/null
          +++ b/target/site/apidocs/musichub/business/PlayList.html
          @@ -0,0 +1,215 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>PlayList (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="declaration: package: musichub.business, class: PlayList">
          +<meta name="generator" content="javadoc/ClassWriterImpl">
          +<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="../../script.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="class-declaration-page">
          +<script type="text/javascript">var evenRowColor = "even-row-color";
          +var oddRowColor = "odd-row-color";
          +var tableTab = "table-tab";
          +var activeTableTab = "active-table-tab";
          +var pathtoroot = "../../";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="../../index.html">Overview</a></li>
          +<li><a href="package-summary.html">Package</a></li>
          +<li class="nav-bar-cell1-rev">Class</li>
          +<li><a href="class-use/PlayList.html">Use</a></li>
          +<li><a href="package-tree.html">Tree</a></li>
          +<li><a href="../../index-all.html">Index</a></li>
          +<li><a href="../../help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div>
          +<ul class="sub-nav-list">
          +<li>Summary:&nbsp;</li>
          +<li>Nested&nbsp;|&nbsp;</li>
          +<li>Field&nbsp;|&nbsp;</li>
          +<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
          +<li><a href="#method.summary">Method</a></li>
          +</ul>
          +<ul class="sub-nav-list">
          +<li>Detail:&nbsp;</li>
          +<li>Field&nbsp;|&nbsp;</li>
          +<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
          +<li><a href="#method.detail">Method</a></li>
          +</ul>
          +</div>
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<!-- ======== START OF CLASS DATA ======== -->
          +<div class="header">
          +<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">musichub.business</a></div>
          +<h1 title="Class PlayList" class="title">Class PlayList</h1>
          +</div>
          +<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
          +<div class="inheritance">musichub.business.PlayList</div>
          +</div>
          +<section class="description">
          +<hr>
          +<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">PlayList</span>
          +<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
          +</section>
          +<section class="summary">
          +<ul class="summary-list">
          +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
          +<li>
          +<section class="constructor-summary" id="constructor.summary">
          +<h2>Constructor Summary</h2>
          +<div class="caption"><span>Constructors</span></div>
          +<div class="summary-table two-column-summary">
          +<div class="table-header col-first">Constructor</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-constructor-name even-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E(java.lang.String)">PlayList</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;title)</code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +<div class="col-constructor-name odd-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E(java.lang.String,java.lang.String,java.util.ArrayList)">PlayList</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;title,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;id,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/UUID.html" title="class or interface in java.util" class="external-link">UUID</a>&gt;&nbsp;elementUUIDs)</code></div>
          +<div class="col-last odd-row-color">&nbsp;</div>
          +<div class="col-constructor-name even-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E(org.w3c.dom.Element)">PlayList</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom" class="external-link">Element</a>&nbsp;xmlElement)</code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +</div>
          +</section>
          +</li>
          +<!-- ========== METHOD SUMMARY =========== -->
          +<li>
          +<section class="method-summary" id="method.summary">
          +<h2>Method Summary</h2>
          +<div id="method-summary-table">
          +<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
          +<div id="method-summary-table.tabpanel" role="tabpanel">
          +<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
          +<div class="table-header col-first">Modifier and Type</div>
          +<div class="table-header col-second">Method</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
          +<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#addElement(java.util.UUID)">addElement</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/UUID.html" title="class or interface in java.util" class="external-link">UUID</a>&nbsp;element)</code></div>
          +<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
          +<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)">createXMLElement</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom" class="external-link">Document</a>&nbsp;document,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom" class="external-link">Element</a>&nbsp;parentElement)</code></div>
          +<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/UUID.html" title="class or interface in java.util" class="external-link">UUID</a>&gt;</code></div>
          +<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getElements()">getElements</a></span>()</code></div>
          +<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
          +<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getTitle()">getTitle</a></span>()</code></div>
          +<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +</div>
          +</div>
          +</div>
          +<div class="inherited-list">
          +<h3 id="methods.inherited.from.class.java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
          +<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +<section class="details">
          +<ul class="details-list">
          +<!-- ========= CONSTRUCTOR DETAIL ======== -->
          +<li>
          +<section class="constructor-details" id="constructor.detail">
          +<h2>Constructor Details</h2>
          +<ul class="member-list">
          +<li>
          +<section class="detail" id="&lt;init&gt;(java.lang.String,java.lang.String,java.util.ArrayList)">
          +<h3>PlayList</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">PlayList</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;title,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;id,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/UUID.html" title="class or interface in java.util" class="external-link">UUID</a>&gt;&nbsp;elementUUIDs)</span></div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="&lt;init&gt;(java.lang.String)">
          +<h3>PlayList</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">PlayList</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;title)</span></div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="&lt;init&gt;(org.w3c.dom.Element)">
          +<h3>PlayList</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">PlayList</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom" class="external-link">Element</a>&nbsp;xmlElement)</span></div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +</li>
          +<!-- ============ METHOD DETAIL ========== -->
          +<li>
          +<section class="method-details" id="method.detail">
          +<h2>Method Details</h2>
          +<ul class="member-list">
          +<li>
          +<section class="detail" id="addElement(java.util.UUID)">
          +<h3>addElement</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">addElement</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/UUID.html" title="class or interface in java.util" class="external-link">UUID</a>&nbsp;element)</span></div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="getElements()">
          +<h3>getElements</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a>&lt;<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/UUID.html" title="class or interface in java.util" class="external-link">UUID</a>&gt;</span>&nbsp;<span class="element-name">getElements</span>()</div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="getTitle()">
          +<h3>getTitle</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getTitle</span>()</div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)">
          +<h3>createXMLElement</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">createXMLElement</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom" class="external-link">Document</a>&nbsp;document,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom" class="external-link">Element</a>&nbsp;parentElement)</span></div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +</li>
          +</ul>
          +</section>
          +<!-- ========= END OF CLASS DATA ========= -->
          +</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/musichub/business/Song.html b/target/site/apidocs/musichub/business/Song.html
          new file mode 100644
          index 0000000..fb5a918
          --- /dev/null
          +++ b/target/site/apidocs/musichub/business/Song.html
          @@ -0,0 +1,251 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>Song (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="declaration: package: musichub.business, class: Song">
          +<meta name="generator" content="javadoc/ClassWriterImpl">
          +<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="../../script.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="class-declaration-page">
          +<script type="text/javascript">var evenRowColor = "even-row-color";
          +var oddRowColor = "odd-row-color";
          +var tableTab = "table-tab";
          +var activeTableTab = "active-table-tab";
          +var pathtoroot = "../../";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="../../index.html">Overview</a></li>
          +<li><a href="package-summary.html">Package</a></li>
          +<li class="nav-bar-cell1-rev">Class</li>
          +<li><a href="class-use/Song.html">Use</a></li>
          +<li><a href="package-tree.html">Tree</a></li>
          +<li><a href="../../index-all.html">Index</a></li>
          +<li><a href="../../help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div>
          +<ul class="sub-nav-list">
          +<li>Summary:&nbsp;</li>
          +<li>Nested&nbsp;|&nbsp;</li>
          +<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
          +<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
          +<li><a href="#method.summary">Method</a></li>
          +</ul>
          +<ul class="sub-nav-list">
          +<li>Detail:&nbsp;</li>
          +<li>Field&nbsp;|&nbsp;</li>
          +<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
          +<li><a href="#method.detail">Method</a></li>
          +</ul>
          +</div>
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<!-- ======== START OF CLASS DATA ======== -->
          +<div class="header">
          +<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">musichub.business</a></div>
          +<h1 title="Class Song" class="title">Class Song</h1>
          +</div>
          +<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
          +<div class="inheritance"><a href="AudioElement.html" title="class in musichub.business">musichub.business.AudioElement</a>
          +<div class="inheritance">musichub.business.Song</div>
          +</div>
          +</div>
          +<section class="description">
          +<hr>
          +<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">Song</span>
          +<span class="extends-implements">extends <a href="AudioElement.html" title="class in musichub.business">AudioElement</a></span></div>
          +</section>
          +<section class="summary">
          +<ul class="summary-list">
          +<!-- =========== FIELD SUMMARY =========== -->
          +<li>
          +<section class="field-summary" id="field.summary">
          +<h2>Field Summary</h2>
          +<div class="inherited-list">
          +<h3 id="fields.inherited.from.class.musichub.business.AudioElement">Fields inherited from class&nbsp;musichub.business.<a href="AudioElement.html" title="class in musichub.business">AudioElement</a></h3>
          +<code><a href="AudioElement.html#artist">artist</a>, <a href="AudioElement.html#content">content</a>, <a href="AudioElement.html#lengthInSeconds">lengthInSeconds</a>, <a href="AudioElement.html#title">title</a>, <a href="AudioElement.html#uuid">uuid</a></code></div>
          +</section>
          +</li>
          +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
          +<li>
          +<section class="constructor-summary" id="constructor.summary">
          +<h2>Constructor Summary</h2>
          +<div class="caption"><span>Constructors</span></div>
          +<div class="summary-table two-column-summary">
          +<div class="table-header col-first">Constructor</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-constructor-name even-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String)">Song</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;title,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;artist,
          + int&nbsp;length,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;content,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;genre)</code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +<div class="col-constructor-name odd-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String)">Song</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;title,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;artist,
          + int&nbsp;length,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;uid,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;content,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;genre)</code></div>
          +<div class="col-last odd-row-color">&nbsp;</div>
          +<div class="col-constructor-name even-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E(org.w3c.dom.Element)">Song</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom" class="external-link">Element</a>&nbsp;xmlElement)</code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +</div>
          +</section>
          +</li>
          +<!-- ========== METHOD SUMMARY =========== -->
          +<li>
          +<section class="method-summary" id="method.summary">
          +<h2>Method Summary</h2>
          +<div id="method-summary-table">
          +<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
          +<div id="method-summary-table.tabpanel" role="tabpanel">
          +<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
          +<div class="table-header col-first">Modifier and Type</div>
          +<div class="table-header col-second">Method</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
          +<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)">createXMLElement</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom" class="external-link">Document</a>&nbsp;document,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom" class="external-link">Element</a>&nbsp;parentElement)</code></div>
          +<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
          +<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getGenre()">getGenre</a></span>()</code></div>
          +<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
          +<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#setGenre(java.lang.String)">setGenre</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;genre)</code></div>
          +<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
          +<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#toString()">toString</a></span>()</code></div>
          +<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +</div>
          +</div>
          +</div>
          +<div class="inherited-list">
          +<h3 id="methods.inherited.from.class.musichub.business.AudioElement">Methods inherited from class&nbsp;musichub.business.<a href="AudioElement.html" title="class in musichub.business">AudioElement</a></h3>
          +<code><a href="AudioElement.html#getArtist()">getArtist</a>, <a href="AudioElement.html#getTitle()">getTitle</a>, <a href="AudioElement.html#getUUID()">getUUID</a>, <a href="AudioElement.html#manageAudioElement()">manageAudioElement</a></code></div>
          +<div class="inherited-list">
          +<h3 id="methods.inherited.from.class.java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
          +<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +<section class="details">
          +<ul class="details-list">
          +<!-- ========= CONSTRUCTOR DETAIL ======== -->
          +<li>
          +<section class="constructor-details" id="constructor.detail">
          +<h2>Constructor Details</h2>
          +<ul class="member-list">
          +<li>
          +<section class="detail" id="&lt;init&gt;(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String)">
          +<h3>Song</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">Song</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;title,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;artist,
          + int&nbsp;length,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;uid,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;content,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;genre)</span></div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="&lt;init&gt;(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String)">
          +<h3>Song</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">Song</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;title,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;artist,
          + int&nbsp;length,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;content,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;genre)</span></div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="&lt;init&gt;(org.w3c.dom.Element)">
          +<h3>Song</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">Song</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom" class="external-link">Element</a>&nbsp;xmlElement)</span></div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +</li>
          +<!-- ============ METHOD DETAIL ========== -->
          +<li>
          +<section class="method-details" id="method.detail">
          +<h2>Method Details</h2>
          +<ul class="member-list">
          +<li>
          +<section class="detail" id="getGenre()">
          +<h3>getGenre</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getGenre</span>()</div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="setGenre(java.lang.String)">
          +<h3>setGenre</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setGenre</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;genre)</span></div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="toString()">
          +<h3>toString</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">toString</span>()</div>
          +<dl class="notes">
          +<dt>Overrides:</dt>
          +<dd><code><a href="AudioElement.html#toString()">toString</a></code>&nbsp;in class&nbsp;<code><a href="AudioElement.html" title="class in musichub.business">AudioElement</a></code></dd>
          +</dl>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)">
          +<h3>createXMLElement</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">createXMLElement</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom" class="external-link">Document</a>&nbsp;document,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom" class="external-link">Element</a>&nbsp;parentElement)</span></div>
          +<dl class="notes">
          +<dt>Overrides:</dt>
          +<dd><code><a href="AudioElement.html#createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)">createXMLElement</a></code>&nbsp;in class&nbsp;<code><a href="AudioElement.html" title="class in musichub.business">AudioElement</a></code></dd>
          +</dl>
          +</section>
          +</li>
          +</ul>
          +</section>
          +</li>
          +</ul>
          +</section>
          +<!-- ========= END OF CLASS DATA ========= -->
          +</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/musichub/business/class-use/Album.html b/target/site/apidocs/musichub/business/class-use/Album.html
          new file mode 100644
          index 0000000..89a09b3
          --- /dev/null
          +++ b/target/site/apidocs/musichub/business/class-use/Album.html
          @@ -0,0 +1,99 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>Uses of Class musichub.business.Album (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="use: package: musichub.business, class: Album">
          +<meta name="generator" content="javadoc/ClassUseWriter">
          +<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../../jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="../../../script.js"></script>
          +<script type="text/javascript" src="../../../script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="../../../script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="class-use-page">
          +<script type="text/javascript">var pathtoroot = "../../../";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="../../../index.html">Overview</a></li>
          +<li><a href="../package-summary.html">Package</a></li>
          +<li><a href="../Album.html" title="class in musichub.business">Class</a></li>
          +<li class="nav-bar-cell1-rev">Use</li>
          +<li><a href="../package-tree.html">Tree</a></li>
          +<li><a href="../../../index-all.html">Index</a></li>
          +<li><a href="../../../help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<div class="header">
          +<h1 title="Uses of Class musichub.business.Album" class="title">Uses of Class<br>musichub.business.Album</h1>
          +</div>
          +<div class="caption"><span>Packages that use <a href="../Album.html" title="class in musichub.business">Album</a></span></div>
          +<div class="summary-table two-column-summary">
          +<div class="table-header col-first">Package</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color"><a href="#musichub.business">musichub.business</a></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +</div>
          +<section class="class-uses">
          +<ul class="block-list">
          +<li>
          +<section class="detail" id="musichub.business">
          +<h2>Uses of <a href="../Album.html" title="class in musichub.business">Album</a> in <a href="../package-summary.html">musichub.business</a></h2>
          +<div class="caption"><span>Methods in <a href="../package-summary.html">musichub.business</a> that return types with arguments of type <a href="../Album.html" title="class in musichub.business">Album</a></span></div>
          +<div class="summary-table three-column-summary">
          +<div class="table-header col-first">Modifier and Type</div>
          +<div class="table-header col-second">Method</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link">Iterator</a>&lt;<a href="../Album.html" title="class in musichub.business">Album</a>&gt;</code></div>
          +<div class="col-second even-row-color"><span class="type-name-label">MusicHub.</span><code><span class="member-name-link"><a href="../MusicHub.html#albums()">albums</a></span>()</code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +</div>
          +<div class="caption"><span>Methods in <a href="../package-summary.html">musichub.business</a> with parameters of type <a href="../Album.html" title="class in musichub.business">Album</a></span></div>
          +<div class="summary-table three-column-summary">
          +<div class="table-header col-first">Modifier and Type</div>
          +<div class="table-header col-second">Method</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color"><code>void</code></div>
          +<div class="col-second even-row-color"><span class="type-name-label">MusicHub.</span><code><span class="member-name-link"><a href="../MusicHub.html#addAlbum(musichub.business.Album)">addAlbum</a></span>&#8203;(<a href="../Album.html" title="class in musichub.business">Album</a>&nbsp;album)</code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +</div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/musichub/business/class-use/AudioBook.html b/target/site/apidocs/musichub/business/class-use/AudioBook.html
          new file mode 100644
          index 0000000..e911a56
          --- /dev/null
          +++ b/target/site/apidocs/musichub/business/class-use/AudioBook.html
          @@ -0,0 +1,65 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>Uses of Class musichub.business.AudioBook (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="use: package: musichub.business, class: AudioBook">
          +<meta name="generator" content="javadoc/ClassUseWriter">
          +<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../../jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="../../../script.js"></script>
          +<script type="text/javascript" src="../../../script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="../../../script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="class-use-page">
          +<script type="text/javascript">var pathtoroot = "../../../";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="../../../index.html">Overview</a></li>
          +<li><a href="../package-summary.html">Package</a></li>
          +<li><a href="../AudioBook.html" title="class in musichub.business">Class</a></li>
          +<li class="nav-bar-cell1-rev">Use</li>
          +<li><a href="../package-tree.html">Tree</a></li>
          +<li><a href="../../../index-all.html">Index</a></li>
          +<li><a href="../../../help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<div class="header">
          +<h1 title="Uses of Class musichub.business.AudioBook" class="title">Uses of Class<br>musichub.business.AudioBook</h1>
          +</div>
          +No usage of musichub.business.AudioBook</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/musichub/business/class-use/AudioElement.html b/target/site/apidocs/musichub/business/class-use/AudioElement.html
          new file mode 100644
          index 0000000..67ffde5
          --- /dev/null
          +++ b/target/site/apidocs/musichub/business/class-use/AudioElement.html
          @@ -0,0 +1,124 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>Uses of Class musichub.business.AudioElement (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="use: package: musichub.business, class: AudioElement">
          +<meta name="generator" content="javadoc/ClassUseWriter">
          +<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../../jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="../../../script.js"></script>
          +<script type="text/javascript" src="../../../script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="../../../script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="class-use-page">
          +<script type="text/javascript">var pathtoroot = "../../../";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="../../../index.html">Overview</a></li>
          +<li><a href="../package-summary.html">Package</a></li>
          +<li><a href="../AudioElement.html" title="class in musichub.business">Class</a></li>
          +<li class="nav-bar-cell1-rev">Use</li>
          +<li><a href="../package-tree.html">Tree</a></li>
          +<li><a href="../../../index-all.html">Index</a></li>
          +<li><a href="../../../help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<div class="header">
          +<h1 title="Uses of Class musichub.business.AudioElement" class="title">Uses of Class<br>musichub.business.AudioElement</h1>
          +</div>
          +<div class="caption"><span>Packages that use <a href="../AudioElement.html" title="class in musichub.business">AudioElement</a></span></div>
          +<div class="summary-table two-column-summary">
          +<div class="table-header col-first">Package</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color"><a href="#musichub.business">musichub.business</a></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +</div>
          +<section class="class-uses">
          +<ul class="block-list">
          +<li>
          +<section class="detail" id="musichub.business">
          +<h2>Uses of <a href="../AudioElement.html" title="class in musichub.business">AudioElement</a> in <a href="../package-summary.html">musichub.business</a></h2>
          +<div class="caption"><span>Subclasses of <a href="../AudioElement.html" title="class in musichub.business">AudioElement</a> in <a href="../package-summary.html">musichub.business</a></span></div>
          +<div class="summary-table three-column-summary">
          +<div class="table-header col-first">Modifier and Type</div>
          +<div class="table-header col-second">Class</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color"><code>class&nbsp;</code></div>
          +<div class="col-second even-row-color"><code><span class="member-name-link"><a href="../AudioBook.html" title="class in musichub.business">AudioBook</a></span></code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +<div class="col-first odd-row-color"><code>class&nbsp;</code></div>
          +<div class="col-second odd-row-color"><code><span class="member-name-link"><a href="../Song.html" title="class in musichub.business">Song</a></span></code></div>
          +<div class="col-last odd-row-color">&nbsp;</div>
          +</div>
          +<div class="caption"><span>Methods in <a href="../package-summary.html">musichub.business</a> that return types with arguments of type <a href="../AudioElement.html" title="class in musichub.business">AudioElement</a></span></div>
          +<div class="summary-table three-column-summary">
          +<div class="table-header col-first">Modifier and Type</div>
          +<div class="table-header col-second">Method</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link">Iterator</a>&lt;<a href="../AudioElement.html" title="class in musichub.business">AudioElement</a>&gt;</code></div>
          +<div class="col-second even-row-color"><span class="type-name-label">MusicHub.</span><code><span class="member-name-link"><a href="../MusicHub.html#elements()">elements</a></span>()</code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +<div class="col-first odd-row-color"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../AudioElement.html" title="class in musichub.business">AudioElement</a>&gt;</code></div>
          +<div class="col-second odd-row-color"><span class="type-name-label">MusicHub.</span><code><span class="member-name-link"><a href="../MusicHub.html#getAlbumSongs(java.lang.String)">getAlbumSongs</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;albumTitle)</code></div>
          +<div class="col-last odd-row-color">&nbsp;</div>
          +</div>
          +<div class="caption"><span>Methods in <a href="../package-summary.html">musichub.business</a> with parameters of type <a href="../AudioElement.html" title="class in musichub.business">AudioElement</a></span></div>
          +<div class="summary-table three-column-summary">
          +<div class="table-header col-first">Modifier and Type</div>
          +<div class="table-header col-second">Method</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color"><code>void</code></div>
          +<div class="col-second even-row-color"><span class="type-name-label">MusicHub.</span><code><span class="member-name-link"><a href="../MusicHub.html#addElement(musichub.business.AudioElement)">addElement</a></span>&#8203;(<a href="../AudioElement.html" title="class in musichub.business">AudioElement</a>&nbsp;element)</code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +</div>
          +<div class="caption"><span>Method parameters in <a href="../package-summary.html">musichub.business</a> with type arguments of type <a href="../AudioElement.html" title="class in musichub.business">AudioElement</a></span></div>
          +<div class="summary-table three-column-summary">
          +<div class="table-header col-first">Modifier and Type</div>
          +<div class="table-header col-second">Method</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color"><code>void</code></div>
          +<div class="col-second even-row-color"><span class="type-name-label">MusicHub.</span><code><span class="member-name-link"><a href="../MusicHub.html#getAudioElement(java.util.List,java.lang.String)">getAudioElement</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../AudioElement.html" title="class in musichub.business">AudioElement</a>&gt;&nbsp;audios,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;elementTitle)</code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +</div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/musichub/business/class-use/Category.html b/target/site/apidocs/musichub/business/class-use/Category.html
          new file mode 100644
          index 0000000..3c43357
          --- /dev/null
          +++ b/target/site/apidocs/musichub/business/class-use/Category.html
          @@ -0,0 +1,101 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>Uses of Enum Class musichub.business.Category (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="use: package: musichub.business, enum: Category">
          +<meta name="generator" content="javadoc/ClassUseWriter">
          +<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../../jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="../../../script.js"></script>
          +<script type="text/javascript" src="../../../script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="../../../script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="class-use-page">
          +<script type="text/javascript">var pathtoroot = "../../../";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="../../../index.html">Overview</a></li>
          +<li><a href="../package-summary.html">Package</a></li>
          +<li><a href="../Category.html" title="enum class in musichub.business">Class</a></li>
          +<li class="nav-bar-cell1-rev">Use</li>
          +<li><a href="../package-tree.html">Tree</a></li>
          +<li><a href="../../../index-all.html">Index</a></li>
          +<li><a href="../../../help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<div class="header">
          +<h1 title="Uses of Enum Class musichub.business.Category" class="title">Uses of Enum Class<br>musichub.business.Category</h1>
          +</div>
          +<div class="caption"><span>Packages that use <a href="../Category.html" title="enum class in musichub.business">Category</a></span></div>
          +<div class="summary-table two-column-summary">
          +<div class="table-header col-first">Package</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color"><a href="#musichub.business">musichub.business</a></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +</div>
          +<section class="class-uses">
          +<ul class="block-list">
          +<li>
          +<section class="detail" id="musichub.business">
          +<h2>Uses of <a href="../Category.html" title="enum class in musichub.business">Category</a> in <a href="../package-summary.html">musichub.business</a></h2>
          +<div class="caption"><span>Methods in <a href="../package-summary.html">musichub.business</a> that return <a href="../Category.html" title="enum class in musichub.business">Category</a></span></div>
          +<div class="summary-table three-column-summary">
          +<div class="table-header col-first">Modifier and Type</div>
          +<div class="table-header col-second">Method</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color"><code><a href="../Category.html" title="enum class in musichub.business">Category</a></code></div>
          +<div class="col-second even-row-color"><span class="type-name-label">AudioBook.</span><code><span class="member-name-link"><a href="../AudioBook.html#getCategory()">getCategory</a></span>()</code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +<div class="col-first odd-row-color"><code>static <a href="../Category.html" title="enum class in musichub.business">Category</a></code></div>
          +<div class="col-second odd-row-color"><span class="type-name-label">Category.</span><code><span class="member-name-link"><a href="../Category.html#valueOf(java.lang.String)">valueOf</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</code></div>
          +<div class="col-last odd-row-color">
          +<div class="block">Returns the enum constant of this class with the specified name.</div>
          +</div>
          +<div class="col-first even-row-color"><code>static <a href="../Category.html" title="enum class in musichub.business">Category</a>[]</code></div>
          +<div class="col-second even-row-color"><span class="type-name-label">Category.</span><code><span class="member-name-link"><a href="../Category.html#values()">values</a></span>()</code></div>
          +<div class="col-last even-row-color">
          +<div class="block">Returns an array containing the constants of this enum class, in
          +the order they are declared.</div>
          +</div>
          +</div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/musichub/business/class-use/Genre.html b/target/site/apidocs/musichub/business/class-use/Genre.html
          new file mode 100644
          index 0000000..e07056b
          --- /dev/null
          +++ b/target/site/apidocs/musichub/business/class-use/Genre.html
          @@ -0,0 +1,98 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>Uses of Enum Class musichub.business.Genre (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="use: package: musichub.business, enum: Genre">
          +<meta name="generator" content="javadoc/ClassUseWriter">
          +<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../../jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="../../../script.js"></script>
          +<script type="text/javascript" src="../../../script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="../../../script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="class-use-page">
          +<script type="text/javascript">var pathtoroot = "../../../";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="../../../index.html">Overview</a></li>
          +<li><a href="../package-summary.html">Package</a></li>
          +<li><a href="../Genre.html" title="enum class in musichub.business">Class</a></li>
          +<li class="nav-bar-cell1-rev">Use</li>
          +<li><a href="../package-tree.html">Tree</a></li>
          +<li><a href="../../../index-all.html">Index</a></li>
          +<li><a href="../../../help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<div class="header">
          +<h1 title="Uses of Enum Class musichub.business.Genre" class="title">Uses of Enum Class<br>musichub.business.Genre</h1>
          +</div>
          +<div class="caption"><span>Packages that use <a href="../Genre.html" title="enum class in musichub.business">Genre</a></span></div>
          +<div class="summary-table two-column-summary">
          +<div class="table-header col-first">Package</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color"><a href="#musichub.business">musichub.business</a></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +</div>
          +<section class="class-uses">
          +<ul class="block-list">
          +<li>
          +<section class="detail" id="musichub.business">
          +<h2>Uses of <a href="../Genre.html" title="enum class in musichub.business">Genre</a> in <a href="../package-summary.html">musichub.business</a></h2>
          +<div class="caption"><span>Methods in <a href="../package-summary.html">musichub.business</a> that return <a href="../Genre.html" title="enum class in musichub.business">Genre</a></span></div>
          +<div class="summary-table three-column-summary">
          +<div class="table-header col-first">Modifier and Type</div>
          +<div class="table-header col-second">Method</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color"><code>static <a href="../Genre.html" title="enum class in musichub.business">Genre</a></code></div>
          +<div class="col-second even-row-color"><span class="type-name-label">Genre.</span><code><span class="member-name-link"><a href="../Genre.html#valueOf(java.lang.String)">valueOf</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</code></div>
          +<div class="col-last even-row-color">
          +<div class="block">Returns the enum constant of this class with the specified name.</div>
          +</div>
          +<div class="col-first odd-row-color"><code>static <a href="../Genre.html" title="enum class in musichub.business">Genre</a>[]</code></div>
          +<div class="col-second odd-row-color"><span class="type-name-label">Genre.</span><code><span class="member-name-link"><a href="../Genre.html#values()">values</a></span>()</code></div>
          +<div class="col-last odd-row-color">
          +<div class="block">Returns an array containing the constants of this enum class, in
          +the order they are declared.</div>
          +</div>
          +</div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/musichub/business/class-use/Language.html b/target/site/apidocs/musichub/business/class-use/Language.html
          new file mode 100644
          index 0000000..446982a
          --- /dev/null
          +++ b/target/site/apidocs/musichub/business/class-use/Language.html
          @@ -0,0 +1,101 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>Uses of Enum Class musichub.business.Language (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="use: package: musichub.business, enum: Language">
          +<meta name="generator" content="javadoc/ClassUseWriter">
          +<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../../jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="../../../script.js"></script>
          +<script type="text/javascript" src="../../../script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="../../../script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="class-use-page">
          +<script type="text/javascript">var pathtoroot = "../../../";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="../../../index.html">Overview</a></li>
          +<li><a href="../package-summary.html">Package</a></li>
          +<li><a href="../Language.html" title="enum class in musichub.business">Class</a></li>
          +<li class="nav-bar-cell1-rev">Use</li>
          +<li><a href="../package-tree.html">Tree</a></li>
          +<li><a href="../../../index-all.html">Index</a></li>
          +<li><a href="../../../help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<div class="header">
          +<h1 title="Uses of Enum Class musichub.business.Language" class="title">Uses of Enum Class<br>musichub.business.Language</h1>
          +</div>
          +<div class="caption"><span>Packages that use <a href="../Language.html" title="enum class in musichub.business">Language</a></span></div>
          +<div class="summary-table two-column-summary">
          +<div class="table-header col-first">Package</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color"><a href="#musichub.business">musichub.business</a></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +</div>
          +<section class="class-uses">
          +<ul class="block-list">
          +<li>
          +<section class="detail" id="musichub.business">
          +<h2>Uses of <a href="../Language.html" title="enum class in musichub.business">Language</a> in <a href="../package-summary.html">musichub.business</a></h2>
          +<div class="caption"><span>Methods in <a href="../package-summary.html">musichub.business</a> that return <a href="../Language.html" title="enum class in musichub.business">Language</a></span></div>
          +<div class="summary-table three-column-summary">
          +<div class="table-header col-first">Modifier and Type</div>
          +<div class="table-header col-second">Method</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color"><code><a href="../Language.html" title="enum class in musichub.business">Language</a></code></div>
          +<div class="col-second even-row-color"><span class="type-name-label">AudioBook.</span><code><span class="member-name-link"><a href="../AudioBook.html#getLanguage()">getLanguage</a></span>()</code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +<div class="col-first odd-row-color"><code>static <a href="../Language.html" title="enum class in musichub.business">Language</a></code></div>
          +<div class="col-second odd-row-color"><span class="type-name-label">Language.</span><code><span class="member-name-link"><a href="../Language.html#valueOf(java.lang.String)">valueOf</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</code></div>
          +<div class="col-last odd-row-color">
          +<div class="block">Returns the enum constant of this class with the specified name.</div>
          +</div>
          +<div class="col-first even-row-color"><code>static <a href="../Language.html" title="enum class in musichub.business">Language</a>[]</code></div>
          +<div class="col-second even-row-color"><span class="type-name-label">Language.</span><code><span class="member-name-link"><a href="../Language.html#values()">values</a></span>()</code></div>
          +<div class="col-last even-row-color">
          +<div class="block">Returns an array containing the constants of this enum class, in
          +the order they are declared.</div>
          +</div>
          +</div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/musichub/business/class-use/MusicHub.html b/target/site/apidocs/musichub/business/class-use/MusicHub.html
          new file mode 100644
          index 0000000..284de20
          --- /dev/null
          +++ b/target/site/apidocs/musichub/business/class-use/MusicHub.html
          @@ -0,0 +1,65 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>Uses of Class musichub.business.MusicHub (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="use: package: musichub.business, class: MusicHub">
          +<meta name="generator" content="javadoc/ClassUseWriter">
          +<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../../jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="../../../script.js"></script>
          +<script type="text/javascript" src="../../../script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="../../../script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="class-use-page">
          +<script type="text/javascript">var pathtoroot = "../../../";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="../../../index.html">Overview</a></li>
          +<li><a href="../package-summary.html">Package</a></li>
          +<li><a href="../MusicHub.html" title="class in musichub.business">Class</a></li>
          +<li class="nav-bar-cell1-rev">Use</li>
          +<li><a href="../package-tree.html">Tree</a></li>
          +<li><a href="../../../index-all.html">Index</a></li>
          +<li><a href="../../../help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<div class="header">
          +<h1 title="Uses of Class musichub.business.MusicHub" class="title">Uses of Class<br>musichub.business.MusicHub</h1>
          +</div>
          +No usage of musichub.business.MusicHub</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/musichub/business/class-use/NoAlbumFoundException.html b/target/site/apidocs/musichub/business/class-use/NoAlbumFoundException.html
          new file mode 100644
          index 0000000..4fe2d48
          --- /dev/null
          +++ b/target/site/apidocs/musichub/business/class-use/NoAlbumFoundException.html
          @@ -0,0 +1,101 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>Uses of Class musichub.business.NoAlbumFoundException (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="use: package: musichub.business, class: NoAlbumFoundException">
          +<meta name="generator" content="javadoc/ClassUseWriter">
          +<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../../jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="../../../script.js"></script>
          +<script type="text/javascript" src="../../../script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="../../../script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="class-use-page">
          +<script type="text/javascript">var pathtoroot = "../../../";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="../../../index.html">Overview</a></li>
          +<li><a href="../package-summary.html">Package</a></li>
          +<li><a href="../NoAlbumFoundException.html" title="class in musichub.business">Class</a></li>
          +<li class="nav-bar-cell1-rev">Use</li>
          +<li><a href="../package-tree.html">Tree</a></li>
          +<li><a href="../../../index-all.html">Index</a></li>
          +<li><a href="../../../help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<div class="header">
          +<h1 title="Uses of Class musichub.business.NoAlbumFoundException" class="title">Uses of Class<br>musichub.business.NoAlbumFoundException</h1>
          +</div>
          +<div class="caption"><span>Packages that use <a href="../NoAlbumFoundException.html" title="class in musichub.business">NoAlbumFoundException</a></span></div>
          +<div class="summary-table two-column-summary">
          +<div class="table-header col-first">Package</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color"><a href="#musichub.business">musichub.business</a></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +</div>
          +<section class="class-uses">
          +<ul class="block-list">
          +<li>
          +<section class="detail" id="musichub.business">
          +<h2>Uses of <a href="../NoAlbumFoundException.html" title="class in musichub.business">NoAlbumFoundException</a> in <a href="../package-summary.html">musichub.business</a></h2>
          +<div class="caption"><span>Methods in <a href="../package-summary.html">musichub.business</a> that throw <a href="../NoAlbumFoundException.html" title="class in musichub.business">NoAlbumFoundException</a></span></div>
          +<div class="summary-table three-column-summary">
          +<div class="table-header col-first">Modifier and Type</div>
          +<div class="table-header col-second">Method</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color"><code>void</code></div>
          +<div class="col-second even-row-color"><span class="type-name-label">MusicHub.</span><code><span class="member-name-link"><a href="../MusicHub.html#addElementToAlbum(java.lang.String,java.lang.String)">addElementToAlbum</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;elementTitle,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;albumTitle)</code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +<div class="col-first odd-row-color"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../AudioElement.html" title="class in musichub.business">AudioElement</a>&gt;</code></div>
          +<div class="col-second odd-row-color"><span class="type-name-label">MusicHub.</span><code><span class="member-name-link"><a href="../MusicHub.html#getAlbumSongs(java.lang.String)">getAlbumSongs</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;albumTitle)</code></div>
          +<div class="col-last odd-row-color">&nbsp;</div>
          +<div class="col-first even-row-color"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../Song.html" title="class in musichub.business">Song</a>&gt;</code></div>
          +<div class="col-second even-row-color"><span class="type-name-label">MusicHub.</span><code><span class="member-name-link"><a href="../MusicHub.html#getAlbumSongsSortedByGenre(java.lang.String)">getAlbumSongsSortedByGenre</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;albumTitle)</code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +<div class="col-first odd-row-color"><code>void</code></div>
          +<div class="col-second odd-row-color"><span class="type-name-label">MusicHub.</span><code><span class="member-name-link"><a href="../MusicHub.html#getAudioElement(java.util.List,java.lang.String)">getAudioElement</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../AudioElement.html" title="class in musichub.business">AudioElement</a>&gt;&nbsp;audios,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;elementTitle)</code></div>
          +<div class="col-last odd-row-color">&nbsp;</div>
          +</div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/musichub/business/class-use/NoElementFoundException.html b/target/site/apidocs/musichub/business/class-use/NoElementFoundException.html
          new file mode 100644
          index 0000000..18ab630
          --- /dev/null
          +++ b/target/site/apidocs/musichub/business/class-use/NoElementFoundException.html
          @@ -0,0 +1,95 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>Uses of Class musichub.business.NoElementFoundException (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="use: package: musichub.business, class: NoElementFoundException">
          +<meta name="generator" content="javadoc/ClassUseWriter">
          +<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../../jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="../../../script.js"></script>
          +<script type="text/javascript" src="../../../script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="../../../script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="class-use-page">
          +<script type="text/javascript">var pathtoroot = "../../../";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="../../../index.html">Overview</a></li>
          +<li><a href="../package-summary.html">Package</a></li>
          +<li><a href="../NoElementFoundException.html" title="class in musichub.business">Class</a></li>
          +<li class="nav-bar-cell1-rev">Use</li>
          +<li><a href="../package-tree.html">Tree</a></li>
          +<li><a href="../../../index-all.html">Index</a></li>
          +<li><a href="../../../help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<div class="header">
          +<h1 title="Uses of Class musichub.business.NoElementFoundException" class="title">Uses of Class<br>musichub.business.NoElementFoundException</h1>
          +</div>
          +<div class="caption"><span>Packages that use <a href="../NoElementFoundException.html" title="class in musichub.business">NoElementFoundException</a></span></div>
          +<div class="summary-table two-column-summary">
          +<div class="table-header col-first">Package</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color"><a href="#musichub.business">musichub.business</a></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +</div>
          +<section class="class-uses">
          +<ul class="block-list">
          +<li>
          +<section class="detail" id="musichub.business">
          +<h2>Uses of <a href="../NoElementFoundException.html" title="class in musichub.business">NoElementFoundException</a> in <a href="../package-summary.html">musichub.business</a></h2>
          +<div class="caption"><span>Methods in <a href="../package-summary.html">musichub.business</a> that throw <a href="../NoElementFoundException.html" title="class in musichub.business">NoElementFoundException</a></span></div>
          +<div class="summary-table three-column-summary">
          +<div class="table-header col-first">Modifier and Type</div>
          +<div class="table-header col-second">Method</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color"><code>void</code></div>
          +<div class="col-second even-row-color"><span class="type-name-label">MusicHub.</span><code><span class="member-name-link"><a href="../MusicHub.html#addElementToAlbum(java.lang.String,java.lang.String)">addElementToAlbum</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;elementTitle,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;albumTitle)</code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +<div class="col-first odd-row-color"><code>void</code></div>
          +<div class="col-second odd-row-color"><span class="type-name-label">MusicHub.</span><code><span class="member-name-link"><a href="../MusicHub.html#addElementToPlayList(java.lang.String,java.lang.String)">addElementToPlayList</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;elementTitle,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;playListTitle)</code></div>
          +<div class="col-last odd-row-color">&nbsp;</div>
          +</div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/musichub/business/class-use/NoPlayListFoundException.html b/target/site/apidocs/musichub/business/class-use/NoPlayListFoundException.html
          new file mode 100644
          index 0000000..a1bdfd9
          --- /dev/null
          +++ b/target/site/apidocs/musichub/business/class-use/NoPlayListFoundException.html
          @@ -0,0 +1,94 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>Uses of Class musichub.business.NoPlayListFoundException (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="use: package: musichub.business, class: NoPlayListFoundException">
          +<meta name="generator" content="javadoc/ClassUseWriter">
          +<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../../jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="../../../script.js"></script>
          +<script type="text/javascript" src="../../../script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="../../../script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="class-use-page">
          +<script type="text/javascript">var pathtoroot = "../../../";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="../../../index.html">Overview</a></li>
          +<li><a href="../package-summary.html">Package</a></li>
          +<li><a href="../NoPlayListFoundException.html" title="class in musichub.business">Class</a></li>
          +<li class="nav-bar-cell1-rev">Use</li>
          +<li><a href="../package-tree.html">Tree</a></li>
          +<li><a href="../../../index-all.html">Index</a></li>
          +<li><a href="../../../help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<div class="header">
          +<h1 title="Uses of Class musichub.business.NoPlayListFoundException" class="title">Uses of Class<br>musichub.business.NoPlayListFoundException</h1>
          +</div>
          +<div class="caption"><span>Packages that use <a href="../NoPlayListFoundException.html" title="class in musichub.business">NoPlayListFoundException</a></span></div>
          +<div class="summary-table two-column-summary">
          +<div class="table-header col-first">Package</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color"><a href="#musichub.business">musichub.business</a></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +</div>
          +<section class="class-uses">
          +<ul class="block-list">
          +<li>
          +<section class="detail" id="musichub.business">
          +<h2>Uses of <a href="../NoPlayListFoundException.html" title="class in musichub.business">NoPlayListFoundException</a> in <a href="../package-summary.html">musichub.business</a></h2>
          +<div class="caption"><span>Methods in <a href="../package-summary.html">musichub.business</a> that throw <a href="../NoPlayListFoundException.html" title="class in musichub.business">NoPlayListFoundException</a></span></div>
          +<div class="summary-table three-column-summary">
          +<div class="table-header col-first">Modifier and Type</div>
          +<div class="table-header col-second">Method</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color"><code>void</code></div>
          +<div class="col-second even-row-color"><span class="type-name-label">MusicHub.</span><code><span class="member-name-link"><a href="../MusicHub.html#addElementToPlayList(java.lang.String,java.lang.String)">addElementToPlayList</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;elementTitle,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;playListTitle)</code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +<div class="col-first odd-row-color"><code>void</code></div>
          +<div class="col-second odd-row-color"><span class="type-name-label">MusicHub.</span><code><span class="member-name-link"><a href="../MusicHub.html#deletePlayList(java.lang.String)">deletePlayList</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;playListTitle)</code></div>
          +<div class="col-last odd-row-color">&nbsp;</div>
          +</div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/musichub/business/class-use/PlayList.html b/target/site/apidocs/musichub/business/class-use/PlayList.html
          new file mode 100644
          index 0000000..634e0d8
          --- /dev/null
          +++ b/target/site/apidocs/musichub/business/class-use/PlayList.html
          @@ -0,0 +1,99 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>Uses of Class musichub.business.PlayList (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="use: package: musichub.business, class: PlayList">
          +<meta name="generator" content="javadoc/ClassUseWriter">
          +<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../../jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="../../../script.js"></script>
          +<script type="text/javascript" src="../../../script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="../../../script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="class-use-page">
          +<script type="text/javascript">var pathtoroot = "../../../";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="../../../index.html">Overview</a></li>
          +<li><a href="../package-summary.html">Package</a></li>
          +<li><a href="../PlayList.html" title="class in musichub.business">Class</a></li>
          +<li class="nav-bar-cell1-rev">Use</li>
          +<li><a href="../package-tree.html">Tree</a></li>
          +<li><a href="../../../index-all.html">Index</a></li>
          +<li><a href="../../../help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<div class="header">
          +<h1 title="Uses of Class musichub.business.PlayList" class="title">Uses of Class<br>musichub.business.PlayList</h1>
          +</div>
          +<div class="caption"><span>Packages that use <a href="../PlayList.html" title="class in musichub.business">PlayList</a></span></div>
          +<div class="summary-table two-column-summary">
          +<div class="table-header col-first">Package</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color"><a href="#musichub.business">musichub.business</a></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +</div>
          +<section class="class-uses">
          +<ul class="block-list">
          +<li>
          +<section class="detail" id="musichub.business">
          +<h2>Uses of <a href="../PlayList.html" title="class in musichub.business">PlayList</a> in <a href="../package-summary.html">musichub.business</a></h2>
          +<div class="caption"><span>Methods in <a href="../package-summary.html">musichub.business</a> that return types with arguments of type <a href="../PlayList.html" title="class in musichub.business">PlayList</a></span></div>
          +<div class="summary-table three-column-summary">
          +<div class="table-header col-first">Modifier and Type</div>
          +<div class="table-header col-second">Method</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link">Iterator</a>&lt;<a href="../PlayList.html" title="class in musichub.business">PlayList</a>&gt;</code></div>
          +<div class="col-second even-row-color"><span class="type-name-label">MusicHub.</span><code><span class="member-name-link"><a href="../MusicHub.html#playlists()">playlists</a></span>()</code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +</div>
          +<div class="caption"><span>Methods in <a href="../package-summary.html">musichub.business</a> with parameters of type <a href="../PlayList.html" title="class in musichub.business">PlayList</a></span></div>
          +<div class="summary-table three-column-summary">
          +<div class="table-header col-first">Modifier and Type</div>
          +<div class="table-header col-second">Method</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color"><code>void</code></div>
          +<div class="col-second even-row-color"><span class="type-name-label">MusicHub.</span><code><span class="member-name-link"><a href="../MusicHub.html#addPlaylist(musichub.business.PlayList)">addPlaylist</a></span>&#8203;(<a href="../PlayList.html" title="class in musichub.business">PlayList</a>&nbsp;playlist)</code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +</div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/musichub/business/class-use/Song.html b/target/site/apidocs/musichub/business/class-use/Song.html
          new file mode 100644
          index 0000000..fb99612
          --- /dev/null
          +++ b/target/site/apidocs/musichub/business/class-use/Song.html
          @@ -0,0 +1,90 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>Uses of Class musichub.business.Song (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="use: package: musichub.business, class: Song">
          +<meta name="generator" content="javadoc/ClassUseWriter">
          +<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../../jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="../../../script.js"></script>
          +<script type="text/javascript" src="../../../script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="../../../script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="class-use-page">
          +<script type="text/javascript">var pathtoroot = "../../../";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="../../../index.html">Overview</a></li>
          +<li><a href="../package-summary.html">Package</a></li>
          +<li><a href="../Song.html" title="class in musichub.business">Class</a></li>
          +<li class="nav-bar-cell1-rev">Use</li>
          +<li><a href="../package-tree.html">Tree</a></li>
          +<li><a href="../../../index-all.html">Index</a></li>
          +<li><a href="../../../help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<div class="header">
          +<h1 title="Uses of Class musichub.business.Song" class="title">Uses of Class<br>musichub.business.Song</h1>
          +</div>
          +<div class="caption"><span>Packages that use <a href="../Song.html" title="class in musichub.business">Song</a></span></div>
          +<div class="summary-table two-column-summary">
          +<div class="table-header col-first">Package</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color"><a href="#musichub.business">musichub.business</a></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +</div>
          +<section class="class-uses">
          +<ul class="block-list">
          +<li>
          +<section class="detail" id="musichub.business">
          +<h2>Uses of <a href="../Song.html" title="class in musichub.business">Song</a> in <a href="../package-summary.html">musichub.business</a></h2>
          +<div class="caption"><span>Methods in <a href="../package-summary.html">musichub.business</a> that return types with arguments of type <a href="../Song.html" title="class in musichub.business">Song</a></span></div>
          +<div class="summary-table three-column-summary">
          +<div class="table-header col-first">Modifier and Type</div>
          +<div class="table-header col-second">Method</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../Song.html" title="class in musichub.business">Song</a>&gt;</code></div>
          +<div class="col-second even-row-color"><span class="type-name-label">MusicHub.</span><code><span class="member-name-link"><a href="../MusicHub.html#getAlbumSongsSortedByGenre(java.lang.String)">getAlbumSongsSortedByGenre</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;albumTitle)</code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +</div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/musichub/business/package-summary.html b/target/site/apidocs/musichub/business/package-summary.html
          new file mode 100644
          index 0000000..5c16eb0
          --- /dev/null
          +++ b/target/site/apidocs/musichub/business/package-summary.html
          @@ -0,0 +1,116 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>musichub.business (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="declaration: package: musichub.business">
          +<meta name="generator" content="javadoc/PackageWriterImpl">
          +<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="../../script.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="package-declaration-page">
          +<script type="text/javascript">var pathtoroot = "../../";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="../../index.html">Overview</a></li>
          +<li class="nav-bar-cell1-rev">Package</li>
          +<li>Class</li>
          +<li><a href="package-use.html">Use</a></li>
          +<li><a href="package-tree.html">Tree</a></li>
          +<li><a href="../../index-all.html">Index</a></li>
          +<li><a href="../../help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<div class="header">
          +<h1 title="Package" class="title">Package&nbsp;musichub.business</h1>
          +</div>
          +<hr>
          +<div class="package-signature">package <span class="element-name">musichub.business</span></div>
          +<section class="summary">
          +<ul class="summary-list">
          +<li>
          +<div class="caption"><span>Class Summary</span></div>
          +<div class="summary-table two-column-summary">
          +<div class="table-header col-first">Class</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color"><a href="Album.html" title="class in musichub.business">Album</a></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +<div class="col-first odd-row-color"><a href="AudioBook.html" title="class in musichub.business">AudioBook</a></div>
          +<div class="col-last odd-row-color">&nbsp;</div>
          +<div class="col-first even-row-color"><a href="AudioElement.html" title="class in musichub.business">AudioElement</a></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +<div class="col-first odd-row-color"><a href="MusicHub.html" title="class in musichub.business">MusicHub</a></div>
          +<div class="col-last odd-row-color">&nbsp;</div>
          +<div class="col-first even-row-color"><a href="PlayList.html" title="class in musichub.business">PlayList</a></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +<div class="col-first odd-row-color"><a href="Song.html" title="class in musichub.business">Song</a></div>
          +<div class="col-last odd-row-color">&nbsp;</div>
          +</div>
          +</li>
          +<li>
          +<div class="caption"><span>Enum Class Summary</span></div>
          +<div class="summary-table two-column-summary">
          +<div class="table-header col-first">Enum Class</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color"><a href="Category.html" title="enum class in musichub.business">Category</a></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +<div class="col-first odd-row-color"><a href="Genre.html" title="enum class in musichub.business">Genre</a></div>
          +<div class="col-last odd-row-color">&nbsp;</div>
          +<div class="col-first even-row-color"><a href="Language.html" title="enum class in musichub.business">Language</a></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +</div>
          +</li>
          +<li>
          +<div class="caption"><span>Exception Summary</span></div>
          +<div class="summary-table two-column-summary">
          +<div class="table-header col-first">Exception</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color"><a href="NoAlbumFoundException.html" title="class in musichub.business">NoAlbumFoundException</a></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +<div class="col-first odd-row-color"><a href="NoElementFoundException.html" title="class in musichub.business">NoElementFoundException</a></div>
          +<div class="col-last odd-row-color">&nbsp;</div>
          +<div class="col-first even-row-color"><a href="NoPlayListFoundException.html" title="class in musichub.business">NoPlayListFoundException</a></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +</div>
          +</li>
          +</ul>
          +</section>
          +</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/musichub/business/package-tree.html b/target/site/apidocs/musichub/business/package-tree.html
          new file mode 100644
          index 0000000..fd8432b
          --- /dev/null
          +++ b/target/site/apidocs/musichub/business/package-tree.html
          @@ -0,0 +1,114 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>musichub.business Class Hierarchy (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="tree: package: musichub.business">
          +<meta name="generator" content="javadoc/PackageTreeWriter">
          +<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="../../script.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="package-tree-page">
          +<script type="text/javascript">var pathtoroot = "../../";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="../../index.html">Overview</a></li>
          +<li><a href="package-summary.html">Package</a></li>
          +<li>Class</li>
          +<li>Use</li>
          +<li class="nav-bar-cell1-rev">Tree</li>
          +<li><a href="../../index-all.html">Index</a></li>
          +<li><a href="../../help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<div class="header">
          +<h1 class="title">Hierarchy For Package musichub.business</h1>
          +<span class="package-hierarchy-label">Package Hierarchies:</span>
          +<ul class="horizontal">
          +<li><a href="../../overview-tree.html">All Packages</a></li>
          +</ul>
          +</div>
          +<section class="hierarchy">
          +<h2 title="Class Hierarchy">Class Hierarchy</h2>
          +<ul>
          +<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link"><span class="type-name-link">Object</span></a>
          +<ul>
          +<li class="circle">musichub.business.<a href="Album.html" title="class in musichub.business"><span class="type-name-link">Album</span></a></li>
          +<li class="circle">musichub.business.<a href="AudioElement.html" title="class in musichub.business"><span class="type-name-link">AudioElement</span></a>
          +<ul>
          +<li class="circle">musichub.business.<a href="AudioBook.html" title="class in musichub.business"><span class="type-name-link">AudioBook</span></a></li>
          +<li class="circle">musichub.business.<a href="Song.html" title="class in musichub.business"><span class="type-name-link">Song</span></a></li>
          +</ul>
          +</li>
          +<li class="circle">musichub.business.<a href="MusicHub.html" title="class in musichub.business"><span class="type-name-link">MusicHub</span></a></li>
          +<li class="circle">musichub.business.<a href="PlayList.html" title="class in musichub.business"><span class="type-name-link">PlayList</span></a></li>
          +<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html" title="class or interface in java.lang" class="external-link"><span class="type-name-link">Throwable</span></a> (implements java.io.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a>)
          +<ul>
          +<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link"><span class="type-name-link">Exception</span></a>
          +<ul>
          +<li class="circle">musichub.business.<a href="NoAlbumFoundException.html" title="class in musichub.business"><span class="type-name-link">NoAlbumFoundException</span></a></li>
          +<li class="circle">musichub.business.<a href="NoElementFoundException.html" title="class in musichub.business"><span class="type-name-link">NoElementFoundException</span></a></li>
          +<li class="circle">musichub.business.<a href="NoPlayListFoundException.html" title="class in musichub.business"><span class="type-name-link">NoPlayListFoundException</span></a></li>
          +</ul>
          +</li>
          +</ul>
          +</li>
          +</ul>
          +</li>
          +</ul>
          +</section>
          +<section class="hierarchy">
          +<h2 title="Enum Class Hierarchy">Enum Class Hierarchy</h2>
          +<ul>
          +<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link"><span class="type-name-link">Object</span></a>
          +<ul>
          +<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link"><span class="type-name-link">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Comparable.html" title="class or interface in java.lang" class="external-link">Comparable</a>&lt;T&gt;, java.lang.constant.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/constant/Constable.html" title="class or interface in java.lang.constant" class="external-link">Constable</a>, java.io.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a>)
          +<ul>
          +<li class="circle">musichub.business.<a href="Category.html" title="enum class in musichub.business"><span class="type-name-link">Category</span></a></li>
          +<li class="circle">musichub.business.<a href="Genre.html" title="enum class in musichub.business"><span class="type-name-link">Genre</span></a></li>
          +<li class="circle">musichub.business.<a href="Language.html" title="enum class in musichub.business"><span class="type-name-link">Language</span></a></li>
          +</ul>
          +</li>
          +</ul>
          +</li>
          +</ul>
          +</section>
          +</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/musichub/business/package-use.html b/target/site/apidocs/musichub/business/package-use.html
          new file mode 100644
          index 0000000..f00b71c
          --- /dev/null
          +++ b/target/site/apidocs/musichub/business/package-use.html
          @@ -0,0 +1,105 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>Uses of Package musichub.business (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="use: package: musichub.business">
          +<meta name="generator" content="javadoc/PackageUseWriter">
          +<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="../../script.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="package-use-page">
          +<script type="text/javascript">var pathtoroot = "../../";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="../../index.html">Overview</a></li>
          +<li><a href="package-summary.html">Package</a></li>
          +<li>Class</li>
          +<li class="nav-bar-cell1-rev">Use</li>
          +<li><a href="package-tree.html">Tree</a></li>
          +<li><a href="../../index-all.html">Index</a></li>
          +<li><a href="../../help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<div class="header">
          +<h1 title="Uses of Package musichub.business" class="title">Uses of Package<br>musichub.business</h1>
          +</div>
          +<div class="caption"><span>Packages that use <a href="package-summary.html">musichub.business</a></span></div>
          +<div class="summary-table two-column-summary">
          +<div class="table-header col-first">Package</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color"><a href="#musichub.business">musichub.business</a></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +</div>
          +<section class="package-uses">
          +<ul class="block-list">
          +<li>
          +<section class="detail" id="musichub.business">
          +<div class="caption"><span>Classes in <a href="package-summary.html">musichub.business</a> used by <a href="package-summary.html">musichub.business</a></span></div>
          +<div class="summary-table two-column-summary">
          +<div class="table-header col-first">Class</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color"><a href="class-use/Album.html#musichub.business">Album</a></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +<div class="col-first odd-row-color"><a href="class-use/AudioElement.html#musichub.business">AudioElement</a></div>
          +<div class="col-last odd-row-color">&nbsp;</div>
          +<div class="col-first even-row-color"><a href="class-use/Category.html#musichub.business">Category</a></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +<div class="col-first odd-row-color"><a href="class-use/Genre.html#musichub.business">Genre</a></div>
          +<div class="col-last odd-row-color">&nbsp;</div>
          +<div class="col-first even-row-color"><a href="class-use/Language.html#musichub.business">Language</a></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +<div class="col-first odd-row-color"><a href="class-use/NoAlbumFoundException.html#musichub.business">NoAlbumFoundException</a></div>
          +<div class="col-last odd-row-color">&nbsp;</div>
          +<div class="col-first even-row-color"><a href="class-use/NoElementFoundException.html#musichub.business">NoElementFoundException</a></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +<div class="col-first odd-row-color"><a href="class-use/NoPlayListFoundException.html#musichub.business">NoPlayListFoundException</a></div>
          +<div class="col-last odd-row-color">&nbsp;</div>
          +<div class="col-first even-row-color"><a href="class-use/PlayList.html#musichub.business">PlayList</a></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +<div class="col-first odd-row-color"><a href="class-use/Song.html#musichub.business">Song</a></div>
          +<div class="col-last odd-row-color">&nbsp;</div>
          +</div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/musichub/main/Main.html b/target/site/apidocs/musichub/main/Main.html
          new file mode 100644
          index 0000000..756debb
          --- /dev/null
          +++ b/target/site/apidocs/musichub/main/Main.html
          @@ -0,0 +1,175 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>Main (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="declaration: package: musichub.main, class: Main">
          +<meta name="generator" content="javadoc/ClassWriterImpl">
          +<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="../../script.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="class-declaration-page">
          +<script type="text/javascript">var evenRowColor = "even-row-color";
          +var oddRowColor = "odd-row-color";
          +var tableTab = "table-tab";
          +var activeTableTab = "active-table-tab";
          +var pathtoroot = "../../";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="../../index.html">Overview</a></li>
          +<li><a href="package-summary.html">Package</a></li>
          +<li class="nav-bar-cell1-rev">Class</li>
          +<li><a href="class-use/Main.html">Use</a></li>
          +<li><a href="package-tree.html">Tree</a></li>
          +<li><a href="../../index-all.html">Index</a></li>
          +<li><a href="../../help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div>
          +<ul class="sub-nav-list">
          +<li>Summary:&nbsp;</li>
          +<li>Nested&nbsp;|&nbsp;</li>
          +<li>Field&nbsp;|&nbsp;</li>
          +<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
          +<li><a href="#method.summary">Method</a></li>
          +</ul>
          +<ul class="sub-nav-list">
          +<li>Detail:&nbsp;</li>
          +<li>Field&nbsp;|&nbsp;</li>
          +<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
          +<li><a href="#method.detail">Method</a></li>
          +</ul>
          +</div>
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<!-- ======== START OF CLASS DATA ======== -->
          +<div class="header">
          +<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">musichub.main</a></div>
          +<h1 title="Class Main" class="title">Class Main</h1>
          +</div>
          +<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
          +<div class="inheritance">musichub.main.Main</div>
          +</div>
          +<section class="description">
          +<hr>
          +<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">Main</span>
          +<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
          +</section>
          +<section class="summary">
          +<ul class="summary-list">
          +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
          +<li>
          +<section class="constructor-summary" id="constructor.summary">
          +<h2>Constructor Summary</h2>
          +<div class="caption"><span>Constructors</span></div>
          +<div class="summary-table two-column-summary">
          +<div class="table-header col-first">Constructor</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-constructor-name even-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E()">Main</a></span>()</code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +</div>
          +</section>
          +</li>
          +<!-- ========== METHOD SUMMARY =========== -->
          +<li>
          +<section class="method-summary" id="method.summary">
          +<h2>Method Summary</h2>
          +<div id="method-summary-table">
          +<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
          +<div id="method-summary-table.tabpanel" role="tabpanel">
          +<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
          +<div class="table-header col-first">Modifier and Type</div>
          +<div class="table-header col-second">Method</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table"><code>static void</code></div>
          +<div class="col-second even-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#main(java.lang.String%5B%5D)">main</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]&nbsp;args)</code></div>
          +<div class="col-last even-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +</div>
          +</div>
          +</div>
          +<div class="inherited-list">
          +<h3 id="methods.inherited.from.class.java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
          +<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +<section class="details">
          +<ul class="details-list">
          +<!-- ========= CONSTRUCTOR DETAIL ======== -->
          +<li>
          +<section class="constructor-details" id="constructor.detail">
          +<h2>Constructor Details</h2>
          +<ul class="member-list">
          +<li>
          +<section class="detail" id="&lt;init&gt;()">
          +<h3>Main</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">Main</span>()</div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +</li>
          +<!-- ============ METHOD DETAIL ========== -->
          +<li>
          +<section class="method-details" id="method.detail">
          +<h2>Method Details</h2>
          +<ul class="member-list">
          +<li>
          +<section class="detail" id="main(java.lang.String[])">
          +<h3>main</h3>
          +<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">main</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]&nbsp;args)</span>
          +                 throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/javax/sound/sampled/UnsupportedAudioFileException.html" title="class or interface in javax.sound.sampled" class="external-link">UnsupportedAudioFileException</a>,
          +<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a>,
          +<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/javax/sound/sampled/LineUnavailableException.html" title="class or interface in javax.sound.sampled" class="external-link">LineUnavailableException</a></span></div>
          +<dl class="notes">
          +<dt>Throws:</dt>
          +<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/javax/sound/sampled/UnsupportedAudioFileException.html" title="class or interface in javax.sound.sampled" class="external-link">UnsupportedAudioFileException</a></code></dd>
          +<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
          +<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/javax/sound/sampled/LineUnavailableException.html" title="class or interface in javax.sound.sampled" class="external-link">LineUnavailableException</a></code></dd>
          +</dl>
          +</section>
          +</li>
          +</ul>
          +</section>
          +</li>
          +</ul>
          +</section>
          +<!-- ========= END OF CLASS DATA ========= -->
          +</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/musichub/main/class-use/Main.html b/target/site/apidocs/musichub/main/class-use/Main.html
          new file mode 100644
          index 0000000..ea3723f
          --- /dev/null
          +++ b/target/site/apidocs/musichub/main/class-use/Main.html
          @@ -0,0 +1,65 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>Uses of Class musichub.main.Main (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="use: package: musichub.main, class: Main">
          +<meta name="generator" content="javadoc/ClassUseWriter">
          +<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../../jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="../../../script.js"></script>
          +<script type="text/javascript" src="../../../script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="../../../script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="class-use-page">
          +<script type="text/javascript">var pathtoroot = "../../../";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="../../../index.html">Overview</a></li>
          +<li><a href="../package-summary.html">Package</a></li>
          +<li><a href="../Main.html" title="class in musichub.main">Class</a></li>
          +<li class="nav-bar-cell1-rev">Use</li>
          +<li><a href="../package-tree.html">Tree</a></li>
          +<li><a href="../../../index-all.html">Index</a></li>
          +<li><a href="../../../help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<div class="header">
          +<h1 title="Uses of Class musichub.main.Main" class="title">Uses of Class<br>musichub.main.Main</h1>
          +</div>
          +No usage of musichub.main.Main</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/musichub/main/package-summary.html b/target/site/apidocs/musichub/main/package-summary.html
          new file mode 100644
          index 0000000..ca88160
          --- /dev/null
          +++ b/target/site/apidocs/musichub/main/package-summary.html
          @@ -0,0 +1,80 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>musichub.main (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="declaration: package: musichub.main">
          +<meta name="generator" content="javadoc/PackageWriterImpl">
          +<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="../../script.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="package-declaration-page">
          +<script type="text/javascript">var pathtoroot = "../../";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="../../index.html">Overview</a></li>
          +<li class="nav-bar-cell1-rev">Package</li>
          +<li>Class</li>
          +<li><a href="package-use.html">Use</a></li>
          +<li><a href="package-tree.html">Tree</a></li>
          +<li><a href="../../index-all.html">Index</a></li>
          +<li><a href="../../help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<div class="header">
          +<h1 title="Package" class="title">Package&nbsp;musichub.main</h1>
          +</div>
          +<hr>
          +<div class="package-signature">package <span class="element-name">musichub.main</span></div>
          +<section class="summary">
          +<ul class="summary-list">
          +<li>
          +<div class="caption"><span>Class Summary</span></div>
          +<div class="summary-table two-column-summary">
          +<div class="table-header col-first">Class</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color"><a href="Main.html" title="class in musichub.main">Main</a></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +</div>
          +</li>
          +</ul>
          +</section>
          +</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/musichub/main/package-tree.html b/target/site/apidocs/musichub/main/package-tree.html
          new file mode 100644
          index 0000000..b629a9f
          --- /dev/null
          +++ b/target/site/apidocs/musichub/main/package-tree.html
          @@ -0,0 +1,79 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>musichub.main Class Hierarchy (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="tree: package: musichub.main">
          +<meta name="generator" content="javadoc/PackageTreeWriter">
          +<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="../../script.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="package-tree-page">
          +<script type="text/javascript">var pathtoroot = "../../";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="../../index.html">Overview</a></li>
          +<li><a href="package-summary.html">Package</a></li>
          +<li>Class</li>
          +<li>Use</li>
          +<li class="nav-bar-cell1-rev">Tree</li>
          +<li><a href="../../index-all.html">Index</a></li>
          +<li><a href="../../help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<div class="header">
          +<h1 class="title">Hierarchy For Package musichub.main</h1>
          +<span class="package-hierarchy-label">Package Hierarchies:</span>
          +<ul class="horizontal">
          +<li><a href="../../overview-tree.html">All Packages</a></li>
          +</ul>
          +</div>
          +<section class="hierarchy">
          +<h2 title="Class Hierarchy">Class Hierarchy</h2>
          +<ul>
          +<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link"><span class="type-name-link">Object</span></a>
          +<ul>
          +<li class="circle">musichub.main.<a href="Main.html" title="class in musichub.main"><span class="type-name-link">Main</span></a></li>
          +</ul>
          +</li>
          +</ul>
          +</section>
          +</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/musichub/main/package-use.html b/target/site/apidocs/musichub/main/package-use.html
          new file mode 100644
          index 0000000..d88fcc7
          --- /dev/null
          +++ b/target/site/apidocs/musichub/main/package-use.html
          @@ -0,0 +1,65 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>Uses of Package musichub.main (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="use: package: musichub.main">
          +<meta name="generator" content="javadoc/PackageUseWriter">
          +<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="../../script.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="package-use-page">
          +<script type="text/javascript">var pathtoroot = "../../";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="../../index.html">Overview</a></li>
          +<li><a href="package-summary.html">Package</a></li>
          +<li>Class</li>
          +<li class="nav-bar-cell1-rev">Use</li>
          +<li><a href="package-tree.html">Tree</a></li>
          +<li><a href="../../index-all.html">Index</a></li>
          +<li><a href="../../help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<div class="header">
          +<h1 title="Uses of Package musichub.main" class="title">Uses of Package<br>musichub.main</h1>
          +</div>
          +No usage of musichub.main</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/musichub/util/LogHandler.html b/target/site/apidocs/musichub/util/LogHandler.html
          new file mode 100644
          index 0000000..aab61a3
          --- /dev/null
          +++ b/target/site/apidocs/musichub/util/LogHandler.html
          @@ -0,0 +1,210 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>LogHandler (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="declaration: package: musichub.util, class: LogHandler">
          +<meta name="generator" content="javadoc/ClassWriterImpl">
          +<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="../../script.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="class-declaration-page">
          +<script type="text/javascript">var evenRowColor = "even-row-color";
          +var oddRowColor = "odd-row-color";
          +var tableTab = "table-tab";
          +var activeTableTab = "active-table-tab";
          +var pathtoroot = "../../";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="../../index.html">Overview</a></li>
          +<li><a href="package-summary.html">Package</a></li>
          +<li class="nav-bar-cell1-rev">Class</li>
          +<li><a href="class-use/LogHandler.html">Use</a></li>
          +<li><a href="package-tree.html">Tree</a></li>
          +<li><a href="../../index-all.html">Index</a></li>
          +<li><a href="../../help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div>
          +<ul class="sub-nav-list">
          +<li>Summary:&nbsp;</li>
          +<li>Nested&nbsp;|&nbsp;</li>
          +<li>Field&nbsp;|&nbsp;</li>
          +<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
          +<li><a href="#method.summary">Method</a></li>
          +</ul>
          +<ul class="sub-nav-list">
          +<li>Detail:&nbsp;</li>
          +<li>Field&nbsp;|&nbsp;</li>
          +<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
          +<li><a href="#method.detail">Method</a></li>
          +</ul>
          +</div>
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<!-- ======== START OF CLASS DATA ======== -->
          +<div class="header">
          +<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">musichub.util</a></div>
          +<h1 title="Class LogHandler" class="title">Class LogHandler</h1>
          +</div>
          +<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
          +<div class="inheritance">musichub.util.LogHandler</div>
          +</div>
          +<section class="description">
          +<hr>
          +<div class="type-signature"><span class="modifiers">public final class </span><span class="element-name type-name-label">LogHandler</span>
          +<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
          +<div class="block">Class offering a log writing method.</div>
          +<dl class="notes">
          +<dt>Version:</dt>
          +<dd>1.0</dd>
          +<dt>Author:</dt>
          +<dd>Aimeric ADJUTOR</dd>
          +</dl>
          +</section>
          +<section class="summary">
          +<ul class="summary-list">
          +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
          +<li>
          +<section class="constructor-summary" id="constructor.summary">
          +<h2>Constructor Summary</h2>
          +<div class="caption"><span>Constructors</span></div>
          +<div class="summary-table two-column-summary">
          +<div class="table-header col-first">Constructor</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-constructor-name even-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E()">LogHandler</a></span>()</code></div>
          +<div class="col-last even-row-color">
          +<div class="block">Method that just throws an AssertionError if the class is called</div>
          +</div>
          +</div>
          +</section>
          +</li>
          +<!-- ========== METHOD SUMMARY =========== -->
          +<li>
          +<section class="method-summary" id="method.summary">
          +<h2>Method Summary</h2>
          +<div id="method-summary-table">
          +<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
          +<div id="method-summary-table.tabpanel" role="tabpanel">
          +<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
          +<div class="table-header col-first">Modifier and Type</div>
          +<div class="table-header col-second">Method</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table"><code>static void</code></div>
          +<div class="col-second even-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#read()">read</a></span>()</code></div>
          +<div class="col-last even-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table">
          +<div class="block">Method that prints the content of spoteezer.log</div>
          +</div>
          +<div class="col-first odd-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table"><code>static void</code></div>
          +<div class="col-second odd-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#write(java.lang.String,java.lang.String)">write</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;msg,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;type)</code></div>
          +<div class="col-last odd-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table">
          +<div class="block">Method that writes a log message to spoteezer.log</div>
          +</div>
          +</div>
          +</div>
          +</div>
          +<div class="inherited-list">
          +<h3 id="methods.inherited.from.class.java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
          +<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +<section class="details">
          +<ul class="details-list">
          +<!-- ========= CONSTRUCTOR DETAIL ======== -->
          +<li>
          +<section class="constructor-details" id="constructor.detail">
          +<h2>Constructor Details</h2>
          +<ul class="member-list">
          +<li>
          +<section class="detail" id="&lt;init&gt;()">
          +<h3>LogHandler</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">LogHandler</span>()</div>
          +<div class="block">Method that just throws an AssertionError if the class is called</div>
          +<dl class="notes">
          +<dt>Throws:</dt>
          +<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/AssertionError.html" title="class or interface in java.lang" class="external-link">AssertionError</a></code> - you can't instantiate this class</dd>
          +</dl>
          +</section>
          +</li>
          +</ul>
          +</section>
          +</li>
          +<!-- ============ METHOD DETAIL ========== -->
          +<li>
          +<section class="method-details" id="method.detail">
          +<h2>Method Details</h2>
          +<ul class="member-list">
          +<li>
          +<section class="detail" id="write(java.lang.String,java.lang.String)">
          +<h3>write</h3>
          +<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">write</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;msg,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;type)</span>
          +                  throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
          +<div class="block">Method that writes a log message to spoteezer.log</div>
          +<dl class="notes">
          +<dt>Parameters:</dt>
          +<dd><code>msg</code> - the message to write</dd>
          +<dd><code>type</code> - the type of log</dd>
          +<dt>Throws:</dt>
          +<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code> - if the file's not there</dd>
          +</dl>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="read()">
          +<h3>read</h3>
          +<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">read</span>()
          +                 throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
          +<div class="block">Method that prints the content of spoteezer.log</div>
          +<dl class="notes">
          +<dt>Throws:</dt>
          +<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code> - if the file's not there</dd>
          +</dl>
          +</section>
          +</li>
          +</ul>
          +</section>
          +</li>
          +</ul>
          +</section>
          +<!-- ========= END OF CLASS DATA ========= -->
          +</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/musichub/util/PathValidation.html b/target/site/apidocs/musichub/util/PathValidation.html
          new file mode 100644
          index 0000000..fd6d4b8
          --- /dev/null
          +++ b/target/site/apidocs/musichub/util/PathValidation.html
          @@ -0,0 +1,189 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>PathValidation (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="declaration: package: musichub.util, class: PathValidation">
          +<meta name="generator" content="javadoc/ClassWriterImpl">
          +<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="../../script.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="class-declaration-page">
          +<script type="text/javascript">var evenRowColor = "even-row-color";
          +var oddRowColor = "odd-row-color";
          +var tableTab = "table-tab";
          +var activeTableTab = "active-table-tab";
          +var pathtoroot = "../../";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="../../index.html">Overview</a></li>
          +<li><a href="package-summary.html">Package</a></li>
          +<li class="nav-bar-cell1-rev">Class</li>
          +<li><a href="class-use/PathValidation.html">Use</a></li>
          +<li><a href="package-tree.html">Tree</a></li>
          +<li><a href="../../index-all.html">Index</a></li>
          +<li><a href="../../help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div>
          +<ul class="sub-nav-list">
          +<li>Summary:&nbsp;</li>
          +<li>Nested&nbsp;|&nbsp;</li>
          +<li>Field&nbsp;|&nbsp;</li>
          +<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
          +<li><a href="#method.summary">Method</a></li>
          +</ul>
          +<ul class="sub-nav-list">
          +<li>Detail:&nbsp;</li>
          +<li>Field&nbsp;|&nbsp;</li>
          +<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
          +<li><a href="#method.detail">Method</a></li>
          +</ul>
          +</div>
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<!-- ======== START OF CLASS DATA ======== -->
          +<div class="header">
          +<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">musichub.util</a></div>
          +<h1 title="Class PathValidation" class="title">Class PathValidation</h1>
          +</div>
          +<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
          +<div class="inheritance">musichub.util.PathValidation</div>
          +</div>
          +<section class="description">
          +<hr>
          +<div class="type-signature"><span class="modifiers">public final class </span><span class="element-name type-name-label">PathValidation</span>
          +<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
          +<div class="block">Class offering a path validation method.</div>
          +<dl class="notes">
          +<dt>Version:</dt>
          +<dd>1.0</dd>
          +<dt>Author:</dt>
          +<dd>Aimeric ADJUTOR</dd>
          +</dl>
          +</section>
          +<section class="summary">
          +<ul class="summary-list">
          +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
          +<li>
          +<section class="constructor-summary" id="constructor.summary">
          +<h2>Constructor Summary</h2>
          +<div class="caption"><span>Constructors</span></div>
          +<div class="summary-table two-column-summary">
          +<div class="table-header col-first">Constructor</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-constructor-name even-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E()">PathValidation</a></span>()</code></div>
          +<div class="col-last even-row-color">
          +<div class="block">Method that just throws an AssertionError if the class is called</div>
          +</div>
          +</div>
          +</section>
          +</li>
          +<!-- ========== METHOD SUMMARY =========== -->
          +<li>
          +<section class="method-summary" id="method.summary">
          +<h2>Method Summary</h2>
          +<div id="method-summary-table">
          +<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
          +<div id="method-summary-table.tabpanel" role="tabpanel">
          +<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
          +<div class="table-header col-first">Modifier and Type</div>
          +<div class="table-header col-second">Method</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table"><code>static boolean</code></div>
          +<div class="col-second even-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#isPathValid(java.lang.String)">isPathValid</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;inputPath)</code></div>
          +<div class="col-last even-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table">
          +<div class="block">Method that checks the validity of a given path</div>
          +</div>
          +</div>
          +</div>
          +</div>
          +<div class="inherited-list">
          +<h3 id="methods.inherited.from.class.java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
          +<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +<section class="details">
          +<ul class="details-list">
          +<!-- ========= CONSTRUCTOR DETAIL ======== -->
          +<li>
          +<section class="constructor-details" id="constructor.detail">
          +<h2>Constructor Details</h2>
          +<ul class="member-list">
          +<li>
          +<section class="detail" id="&lt;init&gt;()">
          +<h3>PathValidation</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">PathValidation</span>()</div>
          +<div class="block">Method that just throws an AssertionError if the class is called</div>
          +<dl class="notes">
          +<dt>Throws:</dt>
          +<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/AssertionError.html" title="class or interface in java.lang" class="external-link">AssertionError</a></code> - you can't instantiate this class</dd>
          +</dl>
          +</section>
          +</li>
          +</ul>
          +</section>
          +</li>
          +<!-- ============ METHOD DETAIL ========== -->
          +<li>
          +<section class="method-details" id="method.detail">
          +<h2>Method Details</h2>
          +<ul class="member-list">
          +<li>
          +<section class="detail" id="isPathValid(java.lang.String)">
          +<h3>isPathValid</h3>
          +<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isPathValid</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;inputPath)</span></div>
          +<div class="block">Method that checks the validity of a given path</div>
          +<dl class="notes">
          +<dt>Parameters:</dt>
          +<dd><code>inputPath</code> - the path given by the user</dd>
          +<dt>Returns:</dt>
          +<dd>a boolean</dd>
          +</dl>
          +</section>
          +</li>
          +</ul>
          +</section>
          +</li>
          +</ul>
          +</section>
          +<!-- ========= END OF CLASS DATA ========= -->
          +</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/musichub/util/XMLHandler.html b/target/site/apidocs/musichub/util/XMLHandler.html
          new file mode 100644
          index 0000000..8957fcb
          --- /dev/null
          +++ b/target/site/apidocs/musichub/util/XMLHandler.html
          @@ -0,0 +1,186 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>XMLHandler (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="declaration: package: musichub.util, class: XMLHandler">
          +<meta name="generator" content="javadoc/ClassWriterImpl">
          +<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="../../script.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="class-declaration-page">
          +<script type="text/javascript">var evenRowColor = "even-row-color";
          +var oddRowColor = "odd-row-color";
          +var tableTab = "table-tab";
          +var activeTableTab = "active-table-tab";
          +var pathtoroot = "../../";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="../../index.html">Overview</a></li>
          +<li><a href="package-summary.html">Package</a></li>
          +<li class="nav-bar-cell1-rev">Class</li>
          +<li><a href="class-use/XMLHandler.html">Use</a></li>
          +<li><a href="package-tree.html">Tree</a></li>
          +<li><a href="../../index-all.html">Index</a></li>
          +<li><a href="../../help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div>
          +<ul class="sub-nav-list">
          +<li>Summary:&nbsp;</li>
          +<li>Nested&nbsp;|&nbsp;</li>
          +<li>Field&nbsp;|&nbsp;</li>
          +<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
          +<li><a href="#method.summary">Method</a></li>
          +</ul>
          +<ul class="sub-nav-list">
          +<li>Detail:&nbsp;</li>
          +<li>Field&nbsp;|&nbsp;</li>
          +<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
          +<li><a href="#method.detail">Method</a></li>
          +</ul>
          +</div>
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<!-- ======== START OF CLASS DATA ======== -->
          +<div class="header">
          +<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">musichub.util</a></div>
          +<h1 title="Class XMLHandler" class="title">Class XMLHandler</h1>
          +</div>
          +<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
          +<div class="inheritance">musichub.util.XMLHandler</div>
          +</div>
          +<section class="description">
          +<hr>
          +<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">XMLHandler</span>
          +<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
          +</section>
          +<section class="summary">
          +<ul class="summary-list">
          +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
          +<li>
          +<section class="constructor-summary" id="constructor.summary">
          +<h2>Constructor Summary</h2>
          +<div class="caption"><span>Constructors</span></div>
          +<div class="summary-table two-column-summary">
          +<div class="table-header col-first">Constructor</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-constructor-name even-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E()">XMLHandler</a></span>()</code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +</div>
          +</section>
          +</li>
          +<!-- ========== METHOD SUMMARY =========== -->
          +<li>
          +<section class="method-summary" id="method.summary">
          +<h2>Method Summary</h2>
          +<div id="method-summary-table">
          +<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
          +<div id="method-summary-table.tabpanel" role="tabpanel">
          +<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
          +<div class="table-header col-first">Modifier and Type</div>
          +<div class="table-header col-second">Method</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom" class="external-link">Document</a></code></div>
          +<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#createXMLDocument()">createXMLDocument</a></span>()</code></div>
          +<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
          +<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#createXMLFile(org.w3c.dom.Document,java.lang.String)">createXMLFile</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom" class="external-link">Document</a>&nbsp;document,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;filePath)</code></div>
          +<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/NodeList.html" title="class or interface in org.w3c.dom" class="external-link">NodeList</a></code></div>
          +<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#parseXMLFile(java.lang.String)">parseXMLFile</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;filePath)</code></div>
          +<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +</div>
          +</div>
          +</div>
          +<div class="inherited-list">
          +<h3 id="methods.inherited.from.class.java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
          +<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +<section class="details">
          +<ul class="details-list">
          +<!-- ========= CONSTRUCTOR DETAIL ======== -->
          +<li>
          +<section class="constructor-details" id="constructor.detail">
          +<h2>Constructor Details</h2>
          +<ul class="member-list">
          +<li>
          +<section class="detail" id="&lt;init&gt;()">
          +<h3>XMLHandler</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">XMLHandler</span>()</div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +</li>
          +<!-- ============ METHOD DETAIL ========== -->
          +<li>
          +<section class="method-details" id="method.detail">
          +<h2>Method Details</h2>
          +<ul class="member-list">
          +<li>
          +<section class="detail" id="createXMLFile(org.w3c.dom.Document,java.lang.String)">
          +<h3>createXMLFile</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">createXMLFile</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom" class="external-link">Document</a>&nbsp;document,
          + <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;filePath)</span></div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="createXMLDocument()">
          +<h3>createXMLDocument</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom" class="external-link">Document</a></span>&nbsp;<span class="element-name">createXMLDocument</span>()</div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="parseXMLFile(java.lang.String)">
          +<h3>parseXMLFile</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.xml/org/w3c/dom/NodeList.html" title="class or interface in org.w3c.dom" class="external-link">NodeList</a></span>&nbsp;<span class="element-name">parseXMLFile</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;filePath)</span></div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +</li>
          +</ul>
          +</section>
          +<!-- ========= END OF CLASS DATA ========= -->
          +</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/musichub/util/class-use/LogHandler.html b/target/site/apidocs/musichub/util/class-use/LogHandler.html
          new file mode 100644
          index 0000000..2d3ba9c
          --- /dev/null
          +++ b/target/site/apidocs/musichub/util/class-use/LogHandler.html
          @@ -0,0 +1,65 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>Uses of Class musichub.util.LogHandler (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="use: package: musichub.util, class: LogHandler">
          +<meta name="generator" content="javadoc/ClassUseWriter">
          +<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../../jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="../../../script.js"></script>
          +<script type="text/javascript" src="../../../script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="../../../script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="class-use-page">
          +<script type="text/javascript">var pathtoroot = "../../../";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="../../../index.html">Overview</a></li>
          +<li><a href="../package-summary.html">Package</a></li>
          +<li><a href="../LogHandler.html" title="class in musichub.util">Class</a></li>
          +<li class="nav-bar-cell1-rev">Use</li>
          +<li><a href="../package-tree.html">Tree</a></li>
          +<li><a href="../../../index-all.html">Index</a></li>
          +<li><a href="../../../help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<div class="header">
          +<h1 title="Uses of Class musichub.util.LogHandler" class="title">Uses of Class<br>musichub.util.LogHandler</h1>
          +</div>
          +No usage of musichub.util.LogHandler</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/musichub/util/class-use/PathValidation.html b/target/site/apidocs/musichub/util/class-use/PathValidation.html
          new file mode 100644
          index 0000000..68d4275
          --- /dev/null
          +++ b/target/site/apidocs/musichub/util/class-use/PathValidation.html
          @@ -0,0 +1,65 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>Uses of Class musichub.util.PathValidation (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="use: package: musichub.util, class: PathValidation">
          +<meta name="generator" content="javadoc/ClassUseWriter">
          +<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../../jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="../../../script.js"></script>
          +<script type="text/javascript" src="../../../script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="../../../script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="class-use-page">
          +<script type="text/javascript">var pathtoroot = "../../../";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="../../../index.html">Overview</a></li>
          +<li><a href="../package-summary.html">Package</a></li>
          +<li><a href="../PathValidation.html" title="class in musichub.util">Class</a></li>
          +<li class="nav-bar-cell1-rev">Use</li>
          +<li><a href="../package-tree.html">Tree</a></li>
          +<li><a href="../../../index-all.html">Index</a></li>
          +<li><a href="../../../help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<div class="header">
          +<h1 title="Uses of Class musichub.util.PathValidation" class="title">Uses of Class<br>musichub.util.PathValidation</h1>
          +</div>
          +No usage of musichub.util.PathValidation</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/musichub/util/class-use/XMLHandler.html b/target/site/apidocs/musichub/util/class-use/XMLHandler.html
          new file mode 100644
          index 0000000..1115b00
          --- /dev/null
          +++ b/target/site/apidocs/musichub/util/class-use/XMLHandler.html
          @@ -0,0 +1,65 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>Uses of Class musichub.util.XMLHandler (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="use: package: musichub.util, class: XMLHandler">
          +<meta name="generator" content="javadoc/ClassUseWriter">
          +<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../../jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="../../../script.js"></script>
          +<script type="text/javascript" src="../../../script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="../../../script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="class-use-page">
          +<script type="text/javascript">var pathtoroot = "../../../";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="../../../index.html">Overview</a></li>
          +<li><a href="../package-summary.html">Package</a></li>
          +<li><a href="../XMLHandler.html" title="class in musichub.util">Class</a></li>
          +<li class="nav-bar-cell1-rev">Use</li>
          +<li><a href="../package-tree.html">Tree</a></li>
          +<li><a href="../../../index-all.html">Index</a></li>
          +<li><a href="../../../help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<div class="header">
          +<h1 title="Uses of Class musichub.util.XMLHandler" class="title">Uses of Class<br>musichub.util.XMLHandler</h1>
          +</div>
          +No usage of musichub.util.XMLHandler</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/musichub/util/package-summary.html b/target/site/apidocs/musichub/util/package-summary.html
          new file mode 100644
          index 0000000..f15c1e8
          --- /dev/null
          +++ b/target/site/apidocs/musichub/util/package-summary.html
          @@ -0,0 +1,88 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>musichub.util (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="declaration: package: musichub.util">
          +<meta name="generator" content="javadoc/PackageWriterImpl">
          +<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="../../script.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="package-declaration-page">
          +<script type="text/javascript">var pathtoroot = "../../";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="../../index.html">Overview</a></li>
          +<li class="nav-bar-cell1-rev">Package</li>
          +<li>Class</li>
          +<li><a href="package-use.html">Use</a></li>
          +<li><a href="package-tree.html">Tree</a></li>
          +<li><a href="../../index-all.html">Index</a></li>
          +<li><a href="../../help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<div class="header">
          +<h1 title="Package" class="title">Package&nbsp;musichub.util</h1>
          +</div>
          +<hr>
          +<div class="package-signature">package <span class="element-name">musichub.util</span></div>
          +<section class="summary">
          +<ul class="summary-list">
          +<li>
          +<div class="caption"><span>Class Summary</span></div>
          +<div class="summary-table two-column-summary">
          +<div class="table-header col-first">Class</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color"><a href="LogHandler.html" title="class in musichub.util">LogHandler</a></div>
          +<div class="col-last even-row-color">
          +<div class="block">Class offering a log writing method.</div>
          +</div>
          +<div class="col-first odd-row-color"><a href="PathValidation.html" title="class in musichub.util">PathValidation</a></div>
          +<div class="col-last odd-row-color">
          +<div class="block">Class offering a path validation method.</div>
          +</div>
          +<div class="col-first even-row-color"><a href="XMLHandler.html" title="class in musichub.util">XMLHandler</a></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +</div>
          +</li>
          +</ul>
          +</section>
          +</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/musichub/util/package-tree.html b/target/site/apidocs/musichub/util/package-tree.html
          new file mode 100644
          index 0000000..5e16d78
          --- /dev/null
          +++ b/target/site/apidocs/musichub/util/package-tree.html
          @@ -0,0 +1,81 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>musichub.util Class Hierarchy (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="tree: package: musichub.util">
          +<meta name="generator" content="javadoc/PackageTreeWriter">
          +<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="../../script.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="package-tree-page">
          +<script type="text/javascript">var pathtoroot = "../../";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="../../index.html">Overview</a></li>
          +<li><a href="package-summary.html">Package</a></li>
          +<li>Class</li>
          +<li>Use</li>
          +<li class="nav-bar-cell1-rev">Tree</li>
          +<li><a href="../../index-all.html">Index</a></li>
          +<li><a href="../../help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<div class="header">
          +<h1 class="title">Hierarchy For Package musichub.util</h1>
          +<span class="package-hierarchy-label">Package Hierarchies:</span>
          +<ul class="horizontal">
          +<li><a href="../../overview-tree.html">All Packages</a></li>
          +</ul>
          +</div>
          +<section class="hierarchy">
          +<h2 title="Class Hierarchy">Class Hierarchy</h2>
          +<ul>
          +<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link"><span class="type-name-link">Object</span></a>
          +<ul>
          +<li class="circle">musichub.util.<a href="LogHandler.html" title="class in musichub.util"><span class="type-name-link">LogHandler</span></a></li>
          +<li class="circle">musichub.util.<a href="PathValidation.html" title="class in musichub.util"><span class="type-name-link">PathValidation</span></a></li>
          +<li class="circle">musichub.util.<a href="XMLHandler.html" title="class in musichub.util"><span class="type-name-link">XMLHandler</span></a></li>
          +</ul>
          +</li>
          +</ul>
          +</section>
          +</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/musichub/util/package-use.html b/target/site/apidocs/musichub/util/package-use.html
          new file mode 100644
          index 0000000..9451dbe
          --- /dev/null
          +++ b/target/site/apidocs/musichub/util/package-use.html
          @@ -0,0 +1,65 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>Uses of Package musichub.util (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="use: package: musichub.util">
          +<meta name="generator" content="javadoc/PackageUseWriter">
          +<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="../../script.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="package-use-page">
          +<script type="text/javascript">var pathtoroot = "../../";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="../../index.html">Overview</a></li>
          +<li><a href="package-summary.html">Package</a></li>
          +<li>Class</li>
          +<li class="nav-bar-cell1-rev">Use</li>
          +<li><a href="package-tree.html">Tree</a></li>
          +<li><a href="../../index-all.html">Index</a></li>
          +<li><a href="../../help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<div class="header">
          +<h1 title="Uses of Package musichub.util" class="title">Uses of Package<br>musichub.util</h1>
          +</div>
          +No usage of musichub.util</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/overview-summary.html b/target/site/apidocs/overview-summary.html
          new file mode 100644
          index 0000000..3c19f26
          --- /dev/null
          +++ b/target/site/apidocs/overview-summary.html
          @@ -0,0 +1,27 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>spoteezer 0.1.0 API</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="index redirect">
          +<meta name="generator" content="javadoc/IndexRedirectWriter">
          +<link rel="canonical" href="index.html">
          +<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
          +<script type="text/javascript">window.location.replace('index.html')</script>
          +<noscript>
          +<meta http-equiv="Refresh" content="0;index.html">
          +</noscript>
          +</head>
          +<body class="index-redirect-page">
          +<main role="main">
          +<noscript>
          +<p>JavaScript is disabled on your browser.</p>
          +</noscript>
          +<p><a href="index.html">index.html</a></p>
          +</main>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/overview-tree.html b/target/site/apidocs/overview-tree.html
          new file mode 100644
          index 0000000..b80155e
          --- /dev/null
          +++ b/target/site/apidocs/overview-tree.html
          @@ -0,0 +1,120 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>Class Hierarchy (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="class tree">
          +<meta name="generator" content="javadoc/TreeWriter">
          +<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="script.js"></script>
          +<script type="text/javascript" src="script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="tree-page">
          +<script type="text/javascript">var pathtoroot = "./";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="index.html">Overview</a></li>
          +<li>Package</li>
          +<li>Class</li>
          +<li>Use</li>
          +<li class="nav-bar-cell1-rev">Tree</li>
          +<li><a href="index-all.html">Index</a></li>
          +<li><a href="help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<div class="header">
          +<h1 class="title">Hierarchy For All Packages</h1>
          +<span class="package-hierarchy-label">Package Hierarchies:</span>
          +<ul class="horizontal">
          +<li><a href="musichub/business/package-tree.html">musichub.business</a>, </li>
          +<li><a href="musichub/main/package-tree.html">musichub.main</a>, </li>
          +<li><a href="musichub/util/package-tree.html">musichub.util</a></li>
          +</ul>
          +</div>
          +<section class="hierarchy">
          +<h2 title="Class Hierarchy">Class Hierarchy</h2>
          +<ul>
          +<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link"><span class="type-name-link">Object</span></a>
          +<ul>
          +<li class="circle">musichub.business.<a href="musichub/business/Album.html" title="class in musichub.business"><span class="type-name-link">Album</span></a></li>
          +<li class="circle">musichub.business.<a href="musichub/business/AudioElement.html" title="class in musichub.business"><span class="type-name-link">AudioElement</span></a>
          +<ul>
          +<li class="circle">musichub.business.<a href="musichub/business/AudioBook.html" title="class in musichub.business"><span class="type-name-link">AudioBook</span></a></li>
          +<li class="circle">musichub.business.<a href="musichub/business/Song.html" title="class in musichub.business"><span class="type-name-link">Song</span></a></li>
          +</ul>
          +</li>
          +<li class="circle">musichub.util.<a href="musichub/util/LogHandler.html" title="class in musichub.util"><span class="type-name-link">LogHandler</span></a></li>
          +<li class="circle">musichub.main.<a href="musichub/main/Main.html" title="class in musichub.main"><span class="type-name-link">Main</span></a></li>
          +<li class="circle">musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business"><span class="type-name-link">MusicHub</span></a></li>
          +<li class="circle">musichub.util.<a href="musichub/util/PathValidation.html" title="class in musichub.util"><span class="type-name-link">PathValidation</span></a></li>
          +<li class="circle">musichub.business.<a href="musichub/business/PlayList.html" title="class in musichub.business"><span class="type-name-link">PlayList</span></a></li>
          +<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html" title="class or interface in java.lang" class="external-link"><span class="type-name-link">Throwable</span></a> (implements java.io.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a>)
          +<ul>
          +<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link"><span class="type-name-link">Exception</span></a>
          +<ul>
          +<li class="circle">musichub.business.<a href="musichub/business/NoAlbumFoundException.html" title="class in musichub.business"><span class="type-name-link">NoAlbumFoundException</span></a></li>
          +<li class="circle">musichub.business.<a href="musichub/business/NoElementFoundException.html" title="class in musichub.business"><span class="type-name-link">NoElementFoundException</span></a></li>
          +<li class="circle">musichub.business.<a href="musichub/business/NoPlayListFoundException.html" title="class in musichub.business"><span class="type-name-link">NoPlayListFoundException</span></a></li>
          +</ul>
          +</li>
          +</ul>
          +</li>
          +<li class="circle">musichub.util.<a href="musichub/util/XMLHandler.html" title="class in musichub.util"><span class="type-name-link">XMLHandler</span></a></li>
          +</ul>
          +</li>
          +</ul>
          +</section>
          +<section class="hierarchy">
          +<h2 title="Enum Class Hierarchy">Enum Class Hierarchy</h2>
          +<ul>
          +<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link"><span class="type-name-link">Object</span></a>
          +<ul>
          +<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link"><span class="type-name-link">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Comparable.html" title="class or interface in java.lang" class="external-link">Comparable</a>&lt;T&gt;, java.lang.constant.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/constant/Constable.html" title="class or interface in java.lang.constant" class="external-link">Constable</a>, java.io.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a>)
          +<ul>
          +<li class="circle">musichub.business.<a href="musichub/business/Category.html" title="enum class in musichub.business"><span class="type-name-link">Category</span></a></li>
          +<li class="circle">musichub.business.<a href="musichub/business/Genre.html" title="enum class in musichub.business"><span class="type-name-link">Genre</span></a></li>
          +<li class="circle">musichub.business.<a href="musichub/business/Language.html" title="enum class in musichub.business"><span class="type-name-link">Language</span></a></li>
          +</ul>
          +</li>
          +</ul>
          +</li>
          +</ul>
          +</section>
          +</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/package-search-index.js b/target/site/apidocs/package-search-index.js
          new file mode 100644
          index 0000000..3098d0e
          --- /dev/null
          +++ b/target/site/apidocs/package-search-index.js
          @@ -0,0 +1 @@
          +packageSearchIndex = [{"l":"All Packages","u":"allpackages-index.html"},{"l":"musichub.business"},{"l":"musichub.main"},{"l":"musichub.util"}];updateSearchResults();
          \ No newline at end of file
          diff --git a/target/site/apidocs/resources/glass.png b/target/site/apidocs/resources/glass.png
          new file mode 100644
          index 0000000..a7f591f
          Binary files /dev/null and b/target/site/apidocs/resources/glass.png differ
          diff --git a/target/site/apidocs/resources/x.png b/target/site/apidocs/resources/x.png
          new file mode 100644
          index 0000000..30548a7
          Binary files /dev/null and b/target/site/apidocs/resources/x.png differ
          diff --git a/target/site/apidocs/script-dir/images/ui-bg_glass_55_fbf9ee_1x400.png b/target/site/apidocs/script-dir/images/ui-bg_glass_55_fbf9ee_1x400.png
          new file mode 100644
          index 0000000..34abd18
          Binary files /dev/null and b/target/site/apidocs/script-dir/images/ui-bg_glass_55_fbf9ee_1x400.png differ
          diff --git a/target/site/apidocs/script-dir/images/ui-bg_glass_65_dadada_1x400.png b/target/site/apidocs/script-dir/images/ui-bg_glass_65_dadada_1x400.png
          new file mode 100644
          index 0000000..f058a93
          Binary files /dev/null and b/target/site/apidocs/script-dir/images/ui-bg_glass_65_dadada_1x400.png differ
          diff --git a/target/site/apidocs/script-dir/images/ui-bg_glass_75_dadada_1x400.png b/target/site/apidocs/script-dir/images/ui-bg_glass_75_dadada_1x400.png
          new file mode 100644
          index 0000000..2ce04c1
          Binary files /dev/null and b/target/site/apidocs/script-dir/images/ui-bg_glass_75_dadada_1x400.png differ
          diff --git a/target/site/apidocs/script-dir/images/ui-bg_glass_75_e6e6e6_1x400.png b/target/site/apidocs/script-dir/images/ui-bg_glass_75_e6e6e6_1x400.png
          new file mode 100644
          index 0000000..a90afb8
          Binary files /dev/null and b/target/site/apidocs/script-dir/images/ui-bg_glass_75_e6e6e6_1x400.png differ
          diff --git a/target/site/apidocs/script-dir/images/ui-bg_glass_95_fef1ec_1x400.png b/target/site/apidocs/script-dir/images/ui-bg_glass_95_fef1ec_1x400.png
          new file mode 100644
          index 0000000..dbe091f
          Binary files /dev/null and b/target/site/apidocs/script-dir/images/ui-bg_glass_95_fef1ec_1x400.png differ
          diff --git a/target/site/apidocs/script-dir/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/target/site/apidocs/script-dir/images/ui-bg_highlight-soft_75_cccccc_1x100.png
          new file mode 100644
          index 0000000..5dc3593
          Binary files /dev/null and b/target/site/apidocs/script-dir/images/ui-bg_highlight-soft_75_cccccc_1x100.png differ
          diff --git a/target/site/apidocs/script-dir/images/ui-icons_222222_256x240.png b/target/site/apidocs/script-dir/images/ui-icons_222222_256x240.png
          new file mode 100644
          index 0000000..e723e17
          Binary files /dev/null and b/target/site/apidocs/script-dir/images/ui-icons_222222_256x240.png differ
          diff --git a/target/site/apidocs/script-dir/images/ui-icons_2e83ff_256x240.png b/target/site/apidocs/script-dir/images/ui-icons_2e83ff_256x240.png
          new file mode 100644
          index 0000000..1f5f497
          Binary files /dev/null and b/target/site/apidocs/script-dir/images/ui-icons_2e83ff_256x240.png differ
          diff --git a/target/site/apidocs/script-dir/images/ui-icons_454545_256x240.png b/target/site/apidocs/script-dir/images/ui-icons_454545_256x240.png
          new file mode 100644
          index 0000000..618f5b0
          Binary files /dev/null and b/target/site/apidocs/script-dir/images/ui-icons_454545_256x240.png differ
          diff --git a/target/site/apidocs/script-dir/images/ui-icons_888888_256x240.png b/target/site/apidocs/script-dir/images/ui-icons_888888_256x240.png
          new file mode 100644
          index 0000000..ee5e33f
          Binary files /dev/null and b/target/site/apidocs/script-dir/images/ui-icons_888888_256x240.png differ
          diff --git a/target/site/apidocs/script-dir/images/ui-icons_cd0a0a_256x240.png b/target/site/apidocs/script-dir/images/ui-icons_cd0a0a_256x240.png
          new file mode 100644
          index 0000000..7e8ebc1
          Binary files /dev/null and b/target/site/apidocs/script-dir/images/ui-icons_cd0a0a_256x240.png differ
          diff --git a/target/site/apidocs/script-dir/jquery-3.5.1.min.js b/target/site/apidocs/script-dir/jquery-3.5.1.min.js
          new file mode 100644
          index 0000000..b061403
          --- /dev/null
          +++ b/target/site/apidocs/script-dir/jquery-3.5.1.min.js
          @@ -0,0 +1,2 @@
          +/*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license */
          +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}S.fn=S.prototype={jquery:f,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(n){return this.pushStack(S.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},S.extend=S.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(S.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||S.isPlainObject(n)?n:{},i=!1,a[t]=S.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?S.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:y}),"function"==typeof Symbol&&(S.fn[Symbol.iterator]=t[Symbol.iterator]),S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,S="sizzle"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",B=new RegExp(M+"+","g"),$=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+S+"'></a><select id='"+S+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(B," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[k,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[S]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace($,"$1"));return s[S]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[S]||(e[S]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===k&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[S]&&(v=Ce(v)),y&&!y[S]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[S]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace($,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace($," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=A[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[S]?i.push(a):o.push(a);(a=A(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=k+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(k=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(k=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=S.split("").sort(D).join("")===S,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);S.find=d,S.expr=d.selectors,S.expr[":"]=S.expr.pseudos,S.uniqueSort=S.unique=d.uniqueSort,S.text=d.getText,S.isXMLDoc=d.isXML,S.contains=d.contains,S.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=S.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1<i.call(n,e)!==r}):S.filter(n,e,r)}S.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?S.find.matchesSelector(r,e)?[r]:[]:S.find.matches(e,S.grep(t,function(e){return 1===e.nodeType}))},S.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(S(e).filter(function(){for(t=0;t<r;t++)if(S.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)S.find(e,i[t],n);return 1<r?S.uniqueSort(n):n},filter:function(e){return this.pushStack(D(this,e||[],!1))},not:function(e){return this.pushStack(D(this,e||[],!0))},is:function(e){return!!D(this,"string"==typeof e&&k.test(e)?S(e):e||[],!1).length}});var j,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(S.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&S(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&S.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?S.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(S(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),S.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return O(e,"nextSibling")},prev:function(e){return O(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),S.merge([],e.childNodes))}},function(r,i){S.fn[r]=function(e,t){var n=S.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=S.filter(t,n)),1<this.length&&(H[r]||S.uniqueSort(n),L.test(r)&&n.reverse()),this.pushStack(n)}});var P=/[^\x20\t\r\n\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}S.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},S.each(e.match(P)||[],function(e,t){n[t]=!0}),n):S.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){S.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return S.each(arguments,function(e,t){var n;while(-1<(n=S.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<S.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},S.extend({Deferred:function(e){var o=[["notify","progress",S.Callbacks("memory"),S.Callbacks("memory"),2],["resolve","done",S.Callbacks("once memory"),S.Callbacks("once memory"),0,"resolved"],["reject","fail",S.Callbacks("once memory"),S.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return S.Deferred(function(r){S.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,R,s),l(u,o,M,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,M,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){S.Deferred.exceptionHook&&S.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(S.Deferred.getStackHook&&(t.stackTrace=S.Deferred.getStackHook()),C.setTimeout(t))}}return S.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?S.extend(e,a):a}},s={};return S.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=S.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(I(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},S.readyException=function(e){C.setTimeout(function(){throw e})};var F=S.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),S.ready()}S.fn.ready=function(e){return F.then(e)["catch"](function(e){S.readyException(e)}),this},S.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--S.readyWait:S.isReady)||(S.isReady=!0)!==e&&0<--S.readyWait||F.resolveWith(E,[S])}}),S.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(S.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(S(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=S.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;while(n--)delete r[t[n]]}(void 0===t||S.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!S.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}S.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),S.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=Q.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){Q.set(this,n)}):$(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=Q.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){Q.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),S.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,S.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=S.queue(e,t),r=n.length,i=n.shift(),o=S._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){S.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:S.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),S.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?S.queue(this[0],t):void 0===n?this:this.each(function(){var e=S.queue(this,t,n);S._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&S.dequeue(this,t)})},dequeue:function(e){return this.each(function(){S.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=S.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=E.documentElement,ie=function(e){return S.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return S.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===S.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return S.css(e,t,"")},u=s(),l=n&&n[3]||(S.cssNumber[t]?"":"px"),c=e.nodeType&&(S.cssNumber[t]||"px"!==l&&+u)&&te.exec(S.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)S.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,S.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ue[s])||(o=a.body.appendChild(a.createElement(s)),u=S.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ue[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}S.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?S(this).show():S(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",y.option=!!ce.lastChild;var ge={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,y.option||(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))S.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+S.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;S.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<S.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}var be=/^key/,we=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Te=/^([^.]*)(?:\.(.+)|)/;function Ce(){return!0}function Ee(){return!1}function Se(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function ke(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)ke(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Ee;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return S().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=S.guid++)),e.each(function(){S.event.add(this,t,i,r,n)})}function Ae(e,i,o){o?(Y.set(e,i,!1),S.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(S.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Y.set(this,i,{value:S.event.trigger(S.extend(r[0],S.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&S.event.add(e,i,Ce)}S.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.get(t);if(V(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&S.find.matchesSelector(re,i),n.guid||(n.guid=S.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof S&&S.event.triggered!==e.type?S.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(P)||[""]).length;while(l--)d=g=(s=Te.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=S.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=S.event.special[d]||{},c=S.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&S.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),S.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(P)||[""]).length;while(l--)if(d=g=(s=Te.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=S.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||S.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)S.event.remove(e,d+t[l],n,r,!0);S.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=S.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=S.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=S.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((S.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<S(i,this).index(l):S.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(S.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[S.expando]?e:new S.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Ae(t,"click",Ce),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Ae(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Y.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},S.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},S.Event=function(e,t){if(!(this instanceof S.Event))return new S.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ce:Ee,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&S.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[S.expando]=!0},S.Event.prototype={constructor:S.Event,isDefaultPrevented:Ee,isPropagationStopped:Ee,isImmediatePropagationStopped:Ee,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ce,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ce,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ce,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},S.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&be.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&we.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},S.event.addProp),S.each({focus:"focusin",blur:"focusout"},function(e,t){S.event.special[e]={setup:function(){return Ae(this,e,Se),!1},trigger:function(){return Ae(this,e),!0},delegateType:t}}),S.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){S.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||S.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),S.fn.extend({on:function(e,t,n,r){return ke(this,e,t,n,r)},one:function(e,t,n,r){return ke(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,S(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Ee),this.each(function(){S.event.remove(this,e,n,t)})}});var Ne=/<script|<style|<link/i,De=/checked\s*(?:[^=]|=\s*.checked.)/i,je=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)S.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=S.extend({},o),Q.set(t,a))}}function Pe(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&De.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Pe(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=S.map(ve(e,"script"),Le)).length;c<f;c++)u=e,c!==p&&(u=S.clone(u,!0,!0),s&&S.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,S.map(a,He),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Y.access(u,"globalEval")&&S.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?S._evalUrl&&!u.noModule&&S._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):b(u.textContent.replace(je,""),u,l))}return n}function Re(e,t,n){for(var r,i=t?S.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||S.cleanData(ve(r)),r.parentNode&&(n&&ie(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}S.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||S.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Oe(o[r],a[r]);else Oe(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=S.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),S.fn.extend({detach:function(e){return Re(this,e,!0)},remove:function(e){return Re(this,e)},text:function(e){return $(this,function(e){return void 0===e?S.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Pe(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||qe(this,e).appendChild(e)})},prepend:function(){return Pe(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=qe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(S.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return S.clone(this,e,t)})},html:function(e){return $(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ne.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=S.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(S.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Pe(this,arguments,function(e){var t=this.parentNode;S.inArray(this,n)<0&&(S.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),S.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){S.fn[e]=function(e){for(var t,n=[],r=S(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),S(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Me=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Ie=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},We=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Fe=new RegExp(ne.join("|"),"i");function Be(e,t,n){var r,i,o,a,s=e.style;return(n=n||Ie(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=S.style(e,t)),!y.pixelBoxStyles()&&Me.test(a)&&Fe.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function $e(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(u).appendChild(l);var e=C.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=E.createElement("div"),l=E.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===l.style.backgroundClip,S.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=E.createElement("table"),t=E.createElement("tr"),n=E.createElement("div"),e.style.cssText="position:absolute;left:-11111px",t.style.height="1px",n.style.height="9px",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=3<parseInt(r.height),re.removeChild(e)),a}}))}();var _e=["Webkit","Moz","ms"],ze=E.createElement("div").style,Ue={};function Xe(e){var t=S.cssProps[e]||Ue[e];return t||(e in ze?e:Ue[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=_e.length;while(n--)if((e=_e[n]+t)in ze)return e}(e)||e)}var Ve=/^(none|table(?!-c[ea]).+)/,Ge=/^--/,Ye={position:"absolute",visibility:"hidden",display:"block"},Qe={letterSpacing:"0",fontWeight:"400"};function Je(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ke(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=S.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=S.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=S.css(e,"border"+ne[a]+"Width",!0,i))):(u+=S.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=S.css(e,"border"+ne[a]+"Width",!0,i):s+=S.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Ze(e,t,n){var r=Ie(e),i=(!y.boxSizingReliable()||n)&&"border-box"===S.css(e,"boxSizing",!1,r),o=i,a=Be(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Me.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||!y.reliableTrDimensions()&&A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===S.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===S.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Ke(e,t,n||(i?"border":"content"),o,r,a)+"px"}function et(e,t,n,r,i){return new et.prototype.init(e,t,n,r,i)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Be(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Ge.test(t),l=e.style;if(u||(t=Xe(s)),a=S.cssHooks[t]||S.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(S.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Ge.test(t)||(t=Xe(s)),(a=S.cssHooks[t]||S.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Be(e,t,r)),"normal"===i&&t in Qe&&(i=Qe[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),S.each(["height","width"],function(e,u){S.cssHooks[u]={get:function(e,t,n){if(t)return!Ve.test(S.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Ze(e,u,n):We(e,Ye,function(){return Ze(e,u,n)})},set:function(e,t,n){var r,i=Ie(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===S.css(e,"boxSizing",!1,i),s=n?Ke(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Ke(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=S.css(e,u)),Je(0,t,s)}}}),S.cssHooks.marginLeft=$e(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Be(e,"marginLeft"))||e.getBoundingClientRect().left-We(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),S.each({margin:"",padding:"",border:"Width"},function(i,o){S.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(S.cssHooks[i+o].set=Je)}),S.fn.extend({css:function(e,t){return $(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Ie(e),i=t.length;a<i;a++)o[t[a]]=S.css(e,t[a],!1,r);return o}return void 0!==n?S.style(e,t,n):S.css(e,t)},e,t,1<arguments.length)}}),((S.Tween=et).prototype={constructor:et,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||S.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(S.cssNumber[n]?"":"px")},cur:function(){var e=et.propHooks[this.prop];return e&&e.get?e.get(this):et.propHooks._default.get(this)},run:function(e){var t,n=et.propHooks[this.prop];return this.options.duration?this.pos=t=S.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):et.propHooks._default.set(this),this}}).init.prototype=et.prototype,(et.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=S.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){S.fx.step[e.prop]?S.fx.step[e.prop](e):1!==e.elem.nodeType||!S.cssHooks[e.prop]&&null==e.elem.style[Xe(e.prop)]?e.elem[e.prop]=e.now:S.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=et.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},S.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},S.fx=et.prototype.init,S.fx.step={};var tt,nt,rt,it,ot=/^(?:toggle|show|hide)$/,at=/queueHooks$/;function st(){nt&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(st):C.setTimeout(st,S.fx.interval),S.fx.tick())}function ut(){return C.setTimeout(function(){tt=void 0}),tt=Date.now()}function lt(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ne[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ct(e,t,n){for(var r,i=(ft.tweeners[t]||[]).concat(ft.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function ft(o,e,t){var n,a,r=0,i=ft.prefilters.length,s=S.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=tt||ut(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:S.extend({},e),opts:S.extend(!0,{specialEasing:{},easing:S.easing._default},t),originalProperties:e,originalOptions:t,startTime:tt||ut(),duration:t.duration,tweens:[],createTween:function(e,t){var n=S.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=S.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=ft.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(S._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return S.map(c,ct,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),S.fx.timer(S.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}S.Animation=S.extend(ft,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],ft.tweeners[n]=ft.tweeners[n]||[],ft.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),v=Y.get(e,"fxshow");for(r in n.queue||(null==(a=S._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,S.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],ot.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||S.style(e,r)}if((u=!S.isEmptyObject(t))||!S.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Y.get(e,"display")),"none"===(c=S.css(e,"display"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=S.css(e,"display"),le([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===S.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Y.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,"fxshow"),d)S.style(e,r,d[r])})),u=ct(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?ft.prefilters.unshift(e):ft.prefilters.push(e)}}),S.speed=function(e,t,n){var r=e&&"object"==typeof e?S.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return S.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in S.fx.speeds?r.duration=S.fx.speeds[r.duration]:r.duration=S.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&S.dequeue(this,r.queue)},r},S.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=S.isEmptyObject(t),o=S.speed(e,n,r),a=function(){var e=ft(this,S.extend({},t),o);(i||Y.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=S.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&at.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||S.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Y.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=S.timers,o=n?n.length:0;for(t.finish=!0,S.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),S.each(["toggle","show","hide"],function(e,r){var i=S.fn[r];S.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(lt(r,!0),e,t,n)}}),S.each({slideDown:lt("show"),slideUp:lt("hide"),slideToggle:lt("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){S.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),S.timers=[],S.fx.tick=function(){var e,t=0,n=S.timers;for(tt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||S.fx.stop(),tt=void 0},S.fx.timer=function(e){S.timers.push(e),S.fx.start()},S.fx.interval=13,S.fx.start=function(){nt||(nt=!0,st())},S.fx.stop=function(){nt=null},S.fx.speeds={slow:600,fast:200,_default:400},S.fn.delay=function(r,e){return r=S.fx&&S.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},rt=E.createElement("input"),it=E.createElement("select").appendChild(E.createElement("option")),rt.type="checkbox",y.checkOn=""!==rt.value,y.optSelected=it.selected,(rt=E.createElement("input")).value="t",rt.type="radio",y.radioValue="t"===rt.value;var pt,dt=S.expr.attrHandle;S.fn.extend({attr:function(e,t){return $(this,S.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){S.removeAttr(this,e)})}}),S.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?S.prop(e,t,n):(1===o&&S.isXMLDoc(e)||(i=S.attrHooks[t.toLowerCase()]||(S.expr.match.bool.test(t)?pt:void 0)),void 0!==n?null===n?void S.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=S.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),pt={set:function(e,t,n){return!1===t?S.removeAttr(e,n):e.setAttribute(n,n),n}},S.each(S.expr.match.bool.source.match(/\w+/g),function(e,t){var a=dt[t]||S.find.attr;dt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=dt[o],dt[o]=r,r=null!=a(e,t,n)?o:null,dt[o]=i),r}});var ht=/^(?:input|select|textarea|button)$/i,gt=/^(?:a|area)$/i;function vt(e){return(e.match(P)||[]).join(" ")}function yt(e){return e.getAttribute&&e.getAttribute("class")||""}function mt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}S.fn.extend({prop:function(e,t){return $(this,S.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[S.propFix[e]||e]})}}),S.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&S.isXMLDoc(e)||(t=S.propFix[t]||t,i=S.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=S.find.attr(e,"tabindex");return t?parseInt(t,10):ht.test(e.nodeName)||gt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(S.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),S.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){S.propFix[this.toLowerCase()]=this}),S.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).addClass(t.call(this,e,yt(this)))});if((e=mt(t)).length)while(n=this[u++])if(i=yt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).removeClass(t.call(this,e,yt(this)))});if(!arguments.length)return this.attr("class","");if((e=mt(t)).length)while(n=this[u++])if(i=yt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){S(this).toggleClass(i.call(this,e,yt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=S(this),r=mt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=yt(this))&&Y.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Y.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+vt(yt(n))+" ").indexOf(t))return!0;return!1}});var xt=/\r/g;S.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,S(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=S.map(t,function(e){return null==e?"":e+""})),(r=S.valHooks[this.type]||S.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=S.valHooks[t.type]||S.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(xt,""):null==e?"":e:void 0}}),S.extend({valHooks:{option:{get:function(e){var t=S.find.attr(e,"value");return null!=t?t:vt(S.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=S(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=S.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<S.inArray(S.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),S.each(["radio","checkbox"],function(){S.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<S.inArray(S(e).val(),t)}},y.checkOn||(S.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var bt=/^(?:focusinfocus|focusoutblur)$/,wt=function(e){e.stopPropagation()};S.extend(S.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!bt.test(d+S.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[S.expando]?e:new S.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:S.makeArray(t,[e]),c=S.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,bt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&V(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!V(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),S.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,wt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,wt),S.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=S.extend(new S.Event,n,{type:e,isSimulated:!0});S.event.trigger(r,null,t)}}),S.fn.extend({trigger:function(e,t){return this.each(function(){S.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return S.event.trigger(e,t,n,!0)}}),y.focusin||S.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){S.event.simulate(r,e.target,S.event.fix(e))};S.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}});var Tt=C.location,Ct={guid:Date.now()},Et=/\?/;S.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||S.error("Invalid XML: "+e),t};var St=/\[\]$/,kt=/\r?\n/g,At=/^(?:submit|button|image|reset|file)$/i,Nt=/^(?:input|select|textarea|keygen)/i;function Dt(n,e,r,i){var t;if(Array.isArray(e))S.each(e,function(e,t){r||St.test(n)?i(n,t):Dt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)Dt(n+"["+t+"]",e[t],r,i)}S.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!S.isPlainObject(e))S.each(e,function(){i(this.name,this.value)});else for(n in e)Dt(n,e[n],t,i);return r.join("&")},S.fn.extend({serialize:function(){return S.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=S.prop(this,"elements");return e?S.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!S(this).is(":disabled")&&Nt.test(this.nodeName)&&!At.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=S(this).val();return null==n?null:Array.isArray(n)?S.map(n,function(e){return{name:t.name,value:e.replace(kt,"\r\n")}}):{name:t.name,value:n.replace(kt,"\r\n")}}).get()}});var jt=/%20/g,qt=/#.*$/,Lt=/([?&])_=[^&]*/,Ht=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ot=/^(?:GET|HEAD)$/,Pt=/^\/\//,Rt={},Mt={},It="*/".concat("*"),Wt=E.createElement("a");function Ft(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(P)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function Bt(t,i,o,a){var s={},u=t===Mt;function l(e){var r;return s[e]=!0,S.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function $t(e,t){var n,r,i=S.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&S.extend(!0,e,r),e}Wt.href=Tt.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Tt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Tt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":It,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":S.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?$t($t(e,S.ajaxSettings),t):$t(S.ajaxSettings,e)},ajaxPrefilter:Ft(Rt),ajaxTransport:Ft(Mt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=S.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?S(y):S.event,x=S.Deferred(),b=S.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Ht.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Tt.href)+"").replace(Pt,Tt.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(P)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Wt.protocol+"//"+Wt.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=S.param(v.data,v.traditional)),Bt(Rt,v,t,T),h)return T;for(i in(g=S.event&&v.global)&&0==S.active++&&S.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Ot.test(v.type),f=v.url.replace(qt,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(jt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(Et.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Lt,"$1"),o=(Et.test(f)?"&":"?")+"_="+Ct.guid+++o),v.url=f+o),v.ifModified&&(S.lastModified[f]&&T.setRequestHeader("If-Modified-Since",S.lastModified[f]),S.etag[f]&&T.setRequestHeader("If-None-Match",S.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+It+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=Bt(Mt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),!i&&-1<S.inArray("script",v.dataTypes)&&(v.converters["text script"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(S.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(S.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--S.active||S.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return S.get(e,t,n,"json")},getScript:function(e,t){return S.get(e,void 0,t,"script")}}),S.each(["get","post"],function(e,i){S[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),S.ajax(S.extend({url:e,type:i,dataType:r,data:t,success:n},S.isPlainObject(e)&&e))}}),S.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),S._evalUrl=function(e,t,n){return S.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){S.globalEval(e,t,n)}})},S.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=S(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){S(this).wrapInner(n.call(this,e))}):this.each(function(){var e=S(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){S(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){S(this).replaceWith(this.childNodes)}),this}}),S.expr.pseudos.hidden=function(e){return!S.expr.pseudos.visible(e)},S.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},S.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var _t={0:200,1223:204},zt=S.ajaxSettings.xhr();y.cors=!!zt&&"withCredentials"in zt,y.ajax=zt=!!zt,S.ajaxTransport(function(i){var o,a;if(y.cors||zt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(_t[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),S.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),S.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return S.globalEval(e),e}}}),S.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),S.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=S("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=vt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&S.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?S("<div>").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var Gt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;S.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||S.guid++,i},S.holdReady=function(e){e?S.readyWait++:S.ready(!0)},S.isArray=Array.isArray,S.parseJSON=JSON.parse,S.nodeName=A,S.isFunction=m,S.isWindow=x,S.camelCase=X,S.type=w,S.now=Date.now,S.isNumeric=function(e){var t=S.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},S.trim=function(e){return null==e?"":(e+"").replace(Gt,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return S});var Yt=C.jQuery,Qt=C.$;return S.noConflict=function(e){return C.$===S&&(C.$=Qt),e&&C.jQuery===S&&(C.jQuery=Yt),S},"undefined"==typeof e&&(C.jQuery=C.$=S),S});
          diff --git a/target/site/apidocs/script-dir/jquery-ui.min.css b/target/site/apidocs/script-dir/jquery-ui.min.css
          new file mode 100644
          index 0000000..6be72f5
          --- /dev/null
          +++ b/target/site/apidocs/script-dir/jquery-ui.min.css
          @@ -0,0 +1,7 @@
          +/*! jQuery UI - v1.12.1 - 2018-12-06
          +* http://jqueryui.com
          +* Includes: core.css, autocomplete.css, menu.css, theme.css
          +* To view and modify this theme, visit http://jqueryui.com/themeroller/?scope=&folderName=custom-theme&bgImgOpacityError=95&bgImgOpacityHighlight=55&bgImgOpacityActive=65&bgImgOpacityHover=75&bgImgOpacityDefault=75&bgImgOpacityContent=75&bgImgOpacityHeader=75&cornerRadiusShadow=8px&offsetLeftShadow=-8px&offsetTopShadow=-8px&thicknessShadow=8px&opacityShadow=30&bgImgOpacityShadow=0&bgTextureShadow=flat&bgColorShadow=%23aaaaaa&opacityOverlay=30&bgImgOpacityOverlay=0&bgTextureOverlay=flat&bgColorOverlay=%23aaaaaa&iconColorError=%23cd0a0a&fcError=%23cd0a0a&borderColorError=%23cd0a0a&bgTextureError=glass&bgColorError=%23fef1ec&iconColorHighlight=%232e83ff&fcHighlight=%23363636&borderColorHighlight=%23fcefa1&bgTextureHighlight=glass&bgColorHighlight=%23fbf9ee&iconColorActive=%23454545&fcActive=%23212121&borderColorActive=%23aaaaaa&bgTextureActive=glass&bgColorActive=%23dadada&iconColorHover=%23454545&fcHover=%23212121&borderColorHover=%23999999&bgTextureHover=glass&bgColorHover=%23dadada&iconColorDefault=%23888888&fcDefault=%23555555&borderColorDefault=%23d3d3d3&bgTextureDefault=glass&bgColorDefault=%23e6e6e6&iconColorContent=%23222222&fcContent=%23222222&borderColorContent=%23aaaaaa&bgTextureContent=flat&bgColorContent=%23ffffff&iconColorHeader=%23222222&fcHeader=%23222222&borderColorHeader=%23aaaaaa&bgTextureHeader=highlight_soft&bgColorHeader=%23cccccc&cornerRadius=4px&fwDefault=normal&fsDefault=1.1em&ffDefault=Verdana%2CArial%2Csans-serif
          +* Copyright jQuery Foundation and other contributors; Licensed MIT */
          +
          +.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{margin:0;cursor:pointer;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-item-wrapper{position:relative;padding:3px 1em 3px .4em}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}.ui-widget{font-family:Verdana,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Verdana,Arial,sans-serif;font-size:1em}.ui-widget.ui-widget-content{border:1px solid #d3d3d3}.ui-widget-content{border:1px solid #aaa;background:#fff;color:#222}.ui-widget-content a{color:#222}.ui-widget-header{border:1px solid #aaa;background:#ccc url("images/ui-bg_highlight-soft_75_cccccc_1x100.png") 50% 50% repeat-x;color:#222;font-weight:bold}.ui-widget-header a{color:#222}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default,.ui-button,html .ui-button.ui-state-disabled:hover,html .ui-button.ui-state-disabled:active{border:1px solid #d3d3d3;background:#e6e6e6 url("images/ui-bg_glass_75_e6e6e6_1x400.png") 50% 50% repeat-x;font-weight:normal;color:#555}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited,a.ui-button,a:link.ui-button,a:visited.ui-button,.ui-button{color:#555;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus,.ui-button:hover,.ui-button:focus{border:1px solid #999;background:#dadada url("images/ui-bg_glass_75_dadada_1x400.png") 50% 50% repeat-x;font-weight:normal;color:#212121}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited,a.ui-button:hover,a.ui-button:focus{color:#212121;text-decoration:none}.ui-visual-focus{box-shadow:0 0 3px 1px rgb(94,158,214)}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active,a.ui-button:active,.ui-button:active,.ui-button.ui-state-active:hover{border:1px solid #aaa;background:#dadada url("images/ui-bg_glass_65_dadada_1x400.png") 50% 50% repeat-x;font-weight:normal;color:#212121}.ui-icon-background,.ui-state-active .ui-icon-background{border:#aaa;background-color:#212121}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#212121;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #fcefa1;background:#fbf9ee url("images/ui-bg_glass_55_fbf9ee_1x400.png") 50% 50% repeat-x;color:#363636}.ui-state-checked{border:1px solid #fcefa1;background:#fbf9ee}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#fef1ec url("images/ui-bg_glass_95_fef1ec_1x400.png") 50% 50% repeat-x;color:#cd0a0a}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#cd0a0a}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#cd0a0a}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("images/ui-icons_222222_256x240.png")}.ui-widget-header .ui-icon{background-image:url("images/ui-icons_222222_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon,.ui-button:hover .ui-icon,.ui-button:focus .ui-icon{background-image:url("images/ui-icons_454545_256x240.png")}.ui-state-active .ui-icon,.ui-button:active .ui-icon{background-image:url("images/ui-icons_454545_256x240.png")}.ui-state-highlight .ui-icon,.ui-button .ui-state-highlight.ui-icon{background-image:url("images/ui-icons_2e83ff_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_cd0a0a_256x240.png")}.ui-button .ui-icon{background-image:url("images/ui-icons_888888_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-caret-1-n{background-position:0 0}.ui-icon-caret-1-ne{background-position:-16px 0}.ui-icon-caret-1-e{background-position:-32px 0}.ui-icon-caret-1-se{background-position:-48px 0}.ui-icon-caret-1-s{background-position:-65px 0}.ui-icon-caret-1-sw{background-position:-80px 0}.ui-icon-caret-1-w{background-position:-96px 0}.ui-icon-caret-1-nw{background-position:-112px 0}.ui-icon-caret-2-n-s{background-position:-128px 0}.ui-icon-caret-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-65px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-65px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:1px -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:4px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:4px}.ui-widget-overlay{background:#aaa;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{-webkit-box-shadow:-8px -8px 8px #aaa;box-shadow:-8px -8px 8px #aaa}
          \ No newline at end of file
          diff --git a/target/site/apidocs/script-dir/jquery-ui.min.js b/target/site/apidocs/script-dir/jquery-ui.min.js
          new file mode 100644
          index 0000000..54d4beb
          --- /dev/null
          +++ b/target/site/apidocs/script-dir/jquery-ui.min.js
          @@ -0,0 +1,6 @@
          +/*! jQuery UI - v1.12.1 - 2018-12-06
          +* http://jqueryui.com
          +* Includes: widget.js, position.js, keycode.js, unique-id.js, widgets/autocomplete.js, widgets/menu.js
          +* Copyright jQuery Foundation and other contributors; Licensed MIT */
          +
          +(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)})(function(t){t.ui=t.ui||{},t.ui.version="1.12.1";var e=0,i=Array.prototype.slice;t.cleanData=function(e){return function(i){var s,n,o;for(o=0;null!=(n=i[o]);o++)try{s=t._data(n,"events"),s&&s.remove&&t(n).triggerHandler("remove")}catch(a){}e(i)}}(t.cleanData),t.widget=function(e,i,s){var n,o,a,r={},l=e.split(".")[0];e=e.split(".")[1];var h=l+"-"+e;return s||(s=i,i=t.Widget),t.isArray(s)&&(s=t.extend.apply(null,[{}].concat(s))),t.expr[":"][h.toLowerCase()]=function(e){return!!t.data(e,h)},t[l]=t[l]||{},n=t[l][e],o=t[l][e]=function(t,e){return this._createWidget?(arguments.length&&this._createWidget(t,e),void 0):new o(t,e)},t.extend(o,n,{version:s.version,_proto:t.extend({},s),_childConstructors:[]}),a=new i,a.options=t.widget.extend({},a.options),t.each(s,function(e,s){return t.isFunction(s)?(r[e]=function(){function t(){return i.prototype[e].apply(this,arguments)}function n(t){return i.prototype[e].apply(this,t)}return function(){var e,i=this._super,o=this._superApply;return this._super=t,this._superApply=n,e=s.apply(this,arguments),this._super=i,this._superApply=o,e}}(),void 0):(r[e]=s,void 0)}),o.prototype=t.widget.extend(a,{widgetEventPrefix:n?a.widgetEventPrefix||e:e},r,{constructor:o,namespace:l,widgetName:e,widgetFullName:h}),n?(t.each(n._childConstructors,function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete n._childConstructors):i._childConstructors.push(o),t.widget.bridge(e,o),o},t.widget.extend=function(e){for(var s,n,o=i.call(arguments,1),a=0,r=o.length;r>a;a++)for(s in o[a])n=o[a][s],o[a].hasOwnProperty(s)&&void 0!==n&&(e[s]=t.isPlainObject(n)?t.isPlainObject(e[s])?t.widget.extend({},e[s],n):t.widget.extend({},n):n);return e},t.widget.bridge=function(e,s){var n=s.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=i.call(arguments,1),l=this;return a?this.length||"instance"!==o?this.each(function(){var i,s=t.data(this,n);return"instance"===o?(l=s,!1):s?t.isFunction(s[o])&&"_"!==o.charAt(0)?(i=s[o].apply(s,r),i!==s&&void 0!==i?(l=i&&i.jquery?l.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+o+"'")}):l=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each(function(){var e=t.data(this,n);e?(e.option(o||{}),e._init&&e._init()):t.data(this,n,new s(o,this))})),l}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(i,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=e++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),i),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var l=s.match(/^([\w:-]*)\s*(.*)$/),h=l[1]+o.eventNamespace,c=l[2];c?n.on(h,c,r):i.on(h,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,l=/top|center|bottom/,h=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.width<e.element[0].scrollWidth,o="scroll"===s||"auto"===s&&e.height<e.element[0].scrollHeight;return{width:o?t.position.scrollbarWidth():0,height:n?t.position.scrollbarWidth():0}},getWithinInfo:function(e){var i=t(e||window),s=t.isWindow(i[0]),n=!!i[0]&&9===i[0].nodeType,o=!s&&!n;return{element:i,isWindow:s,isDocument:n,offset:o?t(e).offset():{left:0,top:0},scrollLeft:i.scrollLeft(),scrollTop:i.scrollTop(),width:i.outerWidth(),height:i.outerHeight()}}},t.fn.position=function(n){if(!n||!n.of)return d.apply(this,arguments);n=t.extend({},n);var u,p,f,g,m,_,v=t(n.of),b=t.position.getWithinInfo(n.within),y=t.position.getScrollInfo(b),w=(n.collision||"flip").split(" "),k={};return _=s(v),v[0].preventDefault&&(n.at="left top"),p=_.width,f=_.height,g=_.offset,m=t.extend({},g),t.each(["my","at"],function(){var t,e,i=(n[this]||"").split(" ");1===i.length&&(i=r.test(i[0])?i.concat(["center"]):l.test(i[0])?["center"].concat(i):["center","center"]),i[0]=r.test(i[0])?i[0]:"center",i[1]=l.test(i[1])?i[1]:"center",t=h.exec(i[0]),e=h.exec(i[1]),k[this]=[t?t[0]:0,e?e[0]:0],n[this]=[c.exec(i[0])[0],c.exec(i[1])[0]]}),1===w.length&&(w[1]=w[0]),"right"===n.at[0]?m.left+=p:"center"===n.at[0]&&(m.left+=p/2),"bottom"===n.at[1]?m.top+=f:"center"===n.at[1]&&(m.top+=f/2),u=e(k.at,p,f),m.left+=u[0],m.top+=u[1],this.each(function(){var s,r,l=t(this),h=l.outerWidth(),c=l.outerHeight(),d=i(this,"marginLeft"),_=i(this,"marginTop"),x=h+d+i(this,"marginRight")+y.width,C=c+_+i(this,"marginBottom")+y.height,D=t.extend({},m),T=e(k.my,l.outerWidth(),l.outerHeight());"right"===n.my[0]?D.left-=h:"center"===n.my[0]&&(D.left-=h/2),"bottom"===n.my[1]?D.top-=c:"center"===n.my[1]&&(D.top-=c/2),D.left+=T[0],D.top+=T[1],s={marginLeft:d,marginTop:_},t.each(["left","top"],function(e,i){t.ui.position[w[e]]&&t.ui.position[w[e]][i](D,{targetWidth:p,targetHeight:f,elemWidth:h,elemHeight:c,collisionPosition:s,collisionWidth:x,collisionHeight:C,offset:[u[0]+T[0],u[1]+T[1]],my:n.my,at:n.at,within:b,elem:l})}),n.using&&(r=function(t){var e=g.left-D.left,i=e+p-h,s=g.top-D.top,r=s+f-c,u={target:{element:v,left:g.left,top:g.top,width:p,height:f},element:{element:l,left:D.left,top:D.top,width:h,height:c},horizontal:0>i?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};h>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),l.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,l=n-r,h=r+e.collisionWidth-a-n;e.collisionWidth>a?l>0&&0>=h?(i=t.left+l+e.collisionWidth-a-n,t.left+=l-i):t.left=h>0&&0>=l?n:l>h?n+a-e.collisionWidth:n:l>0?t.left+=l:h>0?t.left-=h:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,l=n-r,h=r+e.collisionHeight-a-n;e.collisionHeight>a?l>0&&0>=h?(i=t.top+l+e.collisionHeight-a-n,t.top+=l-i):t.top=h>0&&0>=l?n:l>h?n+a-e.collisionHeight:n:l>0?t.top+=l:h>0?t.top-=h:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,l=n.isWindow?n.scrollLeft:n.offset.left,h=t.left-e.collisionPosition.marginLeft,c=h-l,u=h+e.collisionWidth-r-l,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-l,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,l=n.isWindow?n.scrollTop:n.offset.top,h=t.top-e.collisionPosition.marginTop,c=h-l,u=h+e.collisionHeight-r-l,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,g=-2*e.offset[1];0>c?(s=t.top+p+f+g+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+g)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+g-l,(i>0||u>a(i))&&(t.top+=p+f+g))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.ui.safeActiveElement=function(t){var e;try{e=t.activeElement}catch(i){e=t.body}return e||(e=t.body),e.nodeName||(e=t.body),e},t.widget("ui.menu",{version:"1.12.1",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault()},"click .ui-menu-item":function(e){var i=t(e.target),s=t(t.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(e),e.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(e):!this.element.is(":focus")&&s.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(e){if(!this.previousFilter){var i=t(e.target).closest(".ui-menu-item"),s=t(e.currentTarget);i[0]===s[0]&&(this._removeClass(s.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(e,s))}},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this.element.find(this.options.items).eq(0);e||this.focus(t,i)},blur:function(e){this._delay(function(){var i=!t.contains(this.element[0],t.ui.safeActiveElement(this.document[0]));i&&this.collapseAll(e)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t),this.mouseHandled=!1}})},_destroy:function(){var e=this.element.find(".ui-menu-item").removeAttr("role aria-disabled"),i=e.children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),i.children().each(function(){var e=t(this);e.data("ui-menu-submenu-caret")&&e.remove()})},_keydown:function(e){var i,s,n,o,a=!0;switch(e.keyCode){case t.ui.keyCode.PAGE_UP:this.previousPage(e);break;case t.ui.keyCode.PAGE_DOWN:this.nextPage(e);break;case t.ui.keyCode.HOME:this._move("first","first",e);break;case t.ui.keyCode.END:this._move("last","last",e);break;case t.ui.keyCode.UP:this.previous(e);break;case t.ui.keyCode.DOWN:this.next(e);break;case t.ui.keyCode.LEFT:this.collapse(e);break;case t.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(e);break;case t.ui.keyCode.ENTER:case t.ui.keyCode.SPACE:this._activate(e);break;case t.ui.keyCode.ESCAPE:this.collapse(e);break;default:a=!1,s=this.previousFilter||"",o=!1,n=e.keyCode>=96&&105>=e.keyCode?""+(e.keyCode-96):String.fromCharCode(e.keyCode),clearTimeout(this.filterTimer),n===s?o=!0:n=s+n,i=this._filterMenuItems(n),i=o&&-1!==i.index(this.active.next())?this.active.nextAll(".ui-menu-item"):i,i.length||(n=String.fromCharCode(e.keyCode),i=this._filterMenuItems(n)),i.length?(this.focus(e,i),this.previousFilter=n,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}a&&e.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var e,i,s,n,o,a=this,r=this.options.icons.submenu,l=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),s=l.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var e=t(this),i=e.prev(),s=t("<span>").data("ui-menu-submenu-caret",!0);a._addClass(s,"ui-menu-icon","ui-icon "+r),i.attr("aria-haspopup","true").prepend(s),e.attr("aria-labelledby",i.attr("id"))}),this._addClass(s,"ui-menu","ui-widget ui-widget-content ui-front"),e=l.add(this.element),i=e.find(this.options.items),i.not(".ui-menu-item").each(function(){var e=t(this);a._isDivider(e)&&a._addClass(e,"ui-menu-divider","ui-widget-content")}),n=i.not(".ui-menu-item, .ui-menu-divider"),o=n.children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(n,"ui-menu-item")._addClass(o,"ui-menu-item-wrapper"),i.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!t.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){if("icons"===t){var i=this.element.find(".ui-menu-icon");this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)}this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t+""),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i,s,n;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),s=this.active.children(".ui-menu-item-wrapper"),this._addClass(s,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),n=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(n,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),i=e.children(".ui-menu"),i.length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(e){var i,s,n,o,a,r;this._hasScroll()&&(i=parseFloat(t.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(t.css(this.activeMenu[0],"paddingTop"))||0,n=e.offset().top-this.activeMenu.offset().top-i-s,o=this.activeMenu.scrollTop(),a=this.activeMenu.height(),r=e.outerHeight(),0>n?this.activeMenu.scrollTop(o+n):n+r>a&&this.activeMenu.scrollTop(o+n-a+r))},blur:function(t,e){e||clearTimeout(this.timer),this.active&&(this._removeClass(this.active.children(".ui-menu-item-wrapper"),null,"ui-state-active"),this._trigger("blur",t,{item:this.active}),this.active=null)},_startOpening:function(t){clearTimeout(this.timer),"true"===t.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(t)},this.delay))},_open:function(e){var i=t.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(e.parents(".ui-menu")).hide().attr("aria-hidden","true"),e.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(e,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:t(e&&e.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(e),this._removeClass(s.find(".ui-state-active"),null,"ui-state-active"),this.activeMenu=s},this.delay)},_close:function(t){t||(t=this.active?this.active.parent():this.element),t.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false")},_closeOnDocumentClick:function(e){return!t(e.target).closest(".ui-menu").length},_isDivider:function(t){return!/[^\-\u2014\u2013\s]/.test(t.text())},collapse:function(t){var e=this.active&&this.active.parent().closest(".ui-menu-item",this.element);e&&e.length&&(this._close(),this.focus(t,e))},expand:function(t){var e=this.active&&this.active.children(".ui-menu ").find(this.options.items).first();e&&e.length&&(this._open(e.parent()),this._delay(function(){this.focus(t,e)}))},next:function(t){this._move("next","first",t)},previous:function(t){this._move("prev","last",t)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(t,e,i){var s;this.active&&(s="first"===t||"last"===t?this.active["first"===t?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[t+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.find(this.options.items)[e]()),this.focus(i,s)},nextPage:function(e){var i,s,n;return this.active?(this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return i=t(this),0>i.offset().top-s-n}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items)[this.active?"last":"first"]())),void 0):(this.next(e),void 0)},previousPage:function(e){var i,s,n;return this.active?(this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return i=t(this),i.offset().top-s+n>0}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items).first())),void 0):(this.next(e),void 0)},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(e){this.active=this.active||t(e.target).closest(".ui-menu-item");var i={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(e,!0),this._trigger("select",e,i)},_filterMenuItems:function(e){var i=e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&"),s=RegExp("^"+i,"i");return this.activeMenu.find(this.options.items).filter(".ui-menu-item").filter(function(){return s.test(t.trim(t(this).children(".ui-menu-item-wrapper").text()))})}}),t.widget("ui.autocomplete",{version:"1.12.1",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var e,i,s,n=this.element[0].nodeName.toLowerCase(),o="textarea"===n,a="input"===n;this.isMultiLine=o||!a&&this._isContentEditable(this.element),this.valueMethod=this.element[o||a?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return e=!0,s=!0,i=!0,void 0;e=!1,s=!1,i=!1;var o=t.ui.keyCode;switch(n.keyCode){case o.PAGE_UP:e=!0,this._move("previousPage",n);break;case o.PAGE_DOWN:e=!0,this._move("nextPage",n);break;case o.UP:e=!0,this._keyEvent("previous",n);break;case o.DOWN:e=!0,this._keyEvent("next",n);break;case o.ENTER:this.menu.active&&(e=!0,n.preventDefault(),this.menu.select(n));break;case o.TAB:this.menu.active&&this.menu.select(n);break;case o.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(e)return e=!1,(!this.isMultiLine||this.menu.element.is(":visible"))&&s.preventDefault(),void 0;if(!i){var n=t.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(t){return s?(s=!1,t.preventDefault(),void 0):(this._searchTimeout(t),void 0)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){return this.cancelBlur?(delete this.cancelBlur,void 0):(clearTimeout(this.searching),this.close(t),this._change(t),void 0)}}),this._initSource(),this.menu=t("<ul>").appendTo(this._appendTo()).menu({role:null}).hide().menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(e){e.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,this.element[0]!==t.ui.safeActiveElement(this.document[0])&&this.element.trigger("focus")})},menufocus:function(e,i){var s,n;return this.isNewMenu&&(this.isNewMenu=!1,e.originalEvent&&/^mouse/.test(e.originalEvent.type))?(this.menu.blur(),this.document.one("mousemove",function(){t(e.target).trigger(e.originalEvent)}),void 0):(n=i.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",e,{item:n})&&e.originalEvent&&/^key/.test(e.originalEvent.type)&&this._value(n.value),s=i.item.attr("aria-label")||n.value,s&&t.trim(s).length&&(this.liveRegion.children().hide(),t("<div>").text(s).appendTo(this.liveRegion)),void 0)},menuselect:function(e,i){var s=i.item.data("ui-autocomplete-item"),n=this.previous;this.element[0]!==t.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=n,this._delay(function(){this.previous=n,this.selectedItem=s})),!1!==this._trigger("select",e,{item:s})&&this._value(s.value),this.term=this._value(),this.close(e),this.selectedItem=s}}),this.liveRegion=t("<div>",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(e){var i=this.menu.element[0];return e.target===this.element[0]||e.target===i||t.contains(i,e.target)},_closeOnClickOutside:function(t){this._isEventTargetInWidget(t)||this.close()},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?t(e):this.document.find(e).eq(0)),e&&e[0]||(e=this.element.closest(".ui-front, dialog")),e.length||(e=this.document[0].body),e},_initSource:function(){var e,i,s=this;t.isArray(this.options.source)?(e=this.options.source,this.source=function(i,s){s(t.ui.autocomplete.filter(e,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(e,n){s.xhr&&s.xhr.abort(),s.xhr=t.ajax({url:i,data:e,dataType:"json",success:function(t){n(t)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(t){clearTimeout(this.searching),this.searching=this._delay(function(){var e=this.term===this._value(),i=this.menu.element.is(":visible"),s=t.altKey||t.ctrlKey||t.metaKey||t.shiftKey;(!e||e&&!i&&!s)&&(this.selectedItem=null,this.search(null,t))},this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length<this.options.minLength?this.close(e):this._trigger("search",e)!==!1?this._search(t):void 0},_search:function(t){this.pending++,this._addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:t},this._response())},_response:function(){var e=++this.requestIndex;return t.proxy(function(t){e===this.requestIndex&&this.__response(t),this.pending--,this.pending||this._removeClass("ui-autocomplete-loading")},this)},__response:function(t){t&&(t=this._normalize(t)),this._trigger("response",null,{content:t}),!this.options.disabled&&t&&t.length&&!this.cancelSearch?(this._suggest(t),this._trigger("open")):this._close()},close:function(t){this.cancelSearch=!0,this._close(t)},_close:function(t){this._off(this.document,"mousedown"),this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",t))},_change:function(t){this.previous!==this._value()&&this._trigger("change",t,{item:this.selectedItem})},_normalize:function(e){return e.length&&e[0].label&&e[0].value?e:t.map(e,function(e){return"string"==typeof e?{label:e,value:e}:t.extend({},e,{label:e.label||e.value,value:e.value||e.label})})},_suggest:function(e){var i=this.menu.element.empty();this._renderMenu(i,e),this.isNewMenu=!0,this.menu.refresh(),i.show(),this._resizeMenu(),i.position(t.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next(),this._on(this.document,{mousedown:"_closeOnClickOutside"})},_resizeMenu:function(){var t=this.menu.element;t.outerWidth(Math.max(t.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(e,i){var s=this;t.each(i,function(t,i){s._renderItemData(e,i)})},_renderItemData:function(t,e){return this._renderItem(t,e).data("ui-autocomplete-item",e)},_renderItem:function(e,i){return t("<li>").append(t("<div>").text(i.label)).appendTo(e)},_move:function(t,e){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this.isMultiLine||this._value(this.term),this.menu.blur(),void 0):(this.menu[t](e),void 0):(this.search(null,e),void 0)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(t,e),e.preventDefault())},_isContentEditable:function(t){if(!t.length)return!1;var e=t.prop("contentEditable");return"inherit"===e?this._isContentEditable(t.parent()):"true"===e}}),t.extend(t.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(e,i){var s=RegExp(t.ui.autocomplete.escapeRegex(i),"i");return t.grep(e,function(t){return s.test(t.label||t.value||t)})}}),t.widget("ui.autocomplete",t.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(t>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(e){var i;this._superApply(arguments),this.options.disabled||this.cancelSearch||(i=e&&e.length?this.options.messages.results(e.length):this.options.messages.noResults,this.liveRegion.children().hide(),t("<div>").text(i).appendTo(this.liveRegion))}}),t.ui.autocomplete});
          \ No newline at end of file
          diff --git a/target/site/apidocs/script-dir/jquery-ui.structure.min.css b/target/site/apidocs/script-dir/jquery-ui.structure.min.css
          new file mode 100644
          index 0000000..e880892
          --- /dev/null
          +++ b/target/site/apidocs/script-dir/jquery-ui.structure.min.css
          @@ -0,0 +1,5 @@
          +/*! jQuery UI - v1.12.1 - 2018-12-06
          +* http://jqueryui.com
          +* Copyright jQuery Foundation and other contributors; Licensed MIT */
          +
          +.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{margin:0;cursor:pointer;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-item-wrapper{position:relative;padding:3px 1em 3px .4em}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}
          \ No newline at end of file
          diff --git a/target/site/apidocs/script.js b/target/site/apidocs/script.js
          new file mode 100644
          index 0000000..864989c
          --- /dev/null
          +++ b/target/site/apidocs/script.js
          @@ -0,0 +1,132 @@
          +/*
          + * Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved.
          + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
          + *
          + * This code is free software; you can redistribute it and/or modify it
          + * under the terms of the GNU General Public License version 2 only, as
          + * published by the Free Software Foundation.  Oracle designates this
          + * particular file as subject to the "Classpath" exception as provided
          + * by Oracle in the LICENSE file that accompanied this code.
          + *
          + * This code is distributed in the hope that it will be useful, but WITHOUT
          + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
          + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
          + * version 2 for more details (a copy is included in the LICENSE file that
          + * accompanied this code).
          + *
          + * You should have received a copy of the GNU General Public License version
          + * 2 along with this work; if not, write to the Free Software Foundation,
          + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
          + *
          + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
          + * or visit www.oracle.com if you need additional information or have any
          + * questions.
          + */
          +
          +var moduleSearchIndex;
          +var packageSearchIndex;
          +var typeSearchIndex;
          +var memberSearchIndex;
          +var tagSearchIndex;
          +function loadScripts(doc, tag) {
          +    createElem(doc, tag, 'search.js');
          +
          +    createElem(doc, tag, 'module-search-index.js');
          +    createElem(doc, tag, 'package-search-index.js');
          +    createElem(doc, tag, 'type-search-index.js');
          +    createElem(doc, tag, 'member-search-index.js');
          +    createElem(doc, tag, 'tag-search-index.js');
          +}
          +
          +function createElem(doc, tag, path) {
          +    var script = doc.createElement(tag);
          +    var scriptElement = doc.getElementsByTagName(tag)[0];
          +    script.src = pathtoroot + path;
          +    scriptElement.parentNode.insertBefore(script, scriptElement);
          +}
          +
          +function show(tableId, selected, columns) {
          +    if (tableId !== selected) {
          +        document.querySelectorAll('div.' + tableId + ':not(.' + selected + ')')
          +            .forEach(function(elem) {
          +                elem.style.display = 'none';
          +            });
          +    }
          +    document.querySelectorAll('div.' + selected)
          +        .forEach(function(elem, index) {
          +            elem.style.display = '';
          +            var isEvenRow = index % (columns * 2) < columns;
          +            elem.classList.remove(isEvenRow ? oddRowColor : evenRowColor);
          +            elem.classList.add(isEvenRow ? evenRowColor : oddRowColor);
          +        });
          +    updateTabs(tableId, selected);
          +}
          +
          +function updateTabs(tableId, selected) {
          +    document.querySelector('div#' + tableId +' .summary-table')
          +        .setAttribute('aria-labelledby', selected);
          +    document.querySelectorAll('button[id^="' + tableId + '"]')
          +        .forEach(function(tab, index) {
          +            if (selected === tab.id || (tableId === selected && index === 0)) {
          +                tab.className = activeTableTab;
          +                tab.setAttribute('aria-selected', true);
          +                tab.setAttribute('tabindex',0);
          +            } else {
          +                tab.className = tableTab;
          +                tab.setAttribute('aria-selected', false);
          +                tab.setAttribute('tabindex',-1);
          +            }
          +        });
          +}
          +
          +function switchTab(e) {
          +    var selected = document.querySelector('[aria-selected=true]');
          +    if (selected) {
          +        if ((e.keyCode === 37 || e.keyCode === 38) && selected.previousSibling) {
          +            // left or up arrow key pressed: move focus to previous tab
          +            selected.previousSibling.click();
          +            selected.previousSibling.focus();
          +            e.preventDefault();
          +        } else if ((e.keyCode === 39 || e.keyCode === 40) && selected.nextSibling) {
          +            // right or down arrow key pressed: move focus to next tab
          +            selected.nextSibling.click();
          +            selected.nextSibling.focus();
          +            e.preventDefault();
          +        }
          +    }
          +}
          +
          +var updateSearchResults = function() {};
          +
          +function indexFilesLoaded() {
          +    return moduleSearchIndex
          +        && packageSearchIndex
          +        && typeSearchIndex
          +        && memberSearchIndex
          +        && tagSearchIndex;
          +}
          +
          +// Workaround for scroll position not being included in browser history (8249133)
          +document.addEventListener("DOMContentLoaded", function(e) {
          +    var contentDiv = document.querySelector("div.flex-content");
          +    window.addEventListener("popstate", function(e) {
          +        if (e.state !== null) {
          +            contentDiv.scrollTop = e.state;
          +        }
          +    });
          +    window.addEventListener("hashchange", function(e) {
          +        history.replaceState(contentDiv.scrollTop, document.title);
          +    });
          +    contentDiv.addEventListener("scroll", function(e) {
          +        var timeoutID;
          +        if (!timeoutID) {
          +            timeoutID = setTimeout(function() {
          +                history.replaceState(contentDiv.scrollTop, document.title);
          +                timeoutID = null;
          +            }, 100);
          +        }
          +    });
          +    if (!location.hash) {
          +        history.replaceState(contentDiv.scrollTop, document.title);
          +    }
          +});
          diff --git a/target/site/apidocs/search.js b/target/site/apidocs/search.js
          new file mode 100644
          index 0000000..2c2ced0
          --- /dev/null
          +++ b/target/site/apidocs/search.js
          @@ -0,0 +1,354 @@
          +/*
          + * Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved.
          + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
          + *
          + * This code is free software; you can redistribute it and/or modify it
          + * under the terms of the GNU General Public License version 2 only, as
          + * published by the Free Software Foundation.  Oracle designates this
          + * particular file as subject to the "Classpath" exception as provided
          + * by Oracle in the LICENSE file that accompanied this code.
          + *
          + * This code is distributed in the hope that it will be useful, but WITHOUT
          + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
          + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
          + * version 2 for more details (a copy is included in the LICENSE file that
          + * accompanied this code).
          + *
          + * You should have received a copy of the GNU General Public License version
          + * 2 along with this work; if not, write to the Free Software Foundation,
          + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
          + *
          + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
          + * or visit www.oracle.com if you need additional information or have any
          + * questions.
          + */
          +
          +var noResult = {l: "No results found"};
          +var loading = {l: "Loading search index..."};
          +var catModules = "Modules";
          +var catPackages = "Packages";
          +var catTypes = "Classes and Interfaces";
          +var catMembers = "Members";
          +var catSearchTags = "Search Tags";
          +var highlight = "<span class=\"result-highlight\">$&</span>";
          +var searchPattern = "";
          +var fallbackPattern = "";
          +var RANKING_THRESHOLD = 2;
          +var NO_MATCH = 0xffff;
          +var MIN_RESULTS = 3;
          +var MAX_RESULTS = 500;
          +var UNNAMED = "<Unnamed>";
          +function escapeHtml(str) {
          +    return str.replace(/</g, "&lt;").replace(/>/g, "&gt;");
          +}
          +function getHighlightedText(item, matcher, fallbackMatcher) {
          +    var escapedItem = escapeHtml(item);
          +    var highlighted = escapedItem.replace(matcher, highlight);
          +    if (highlighted === escapedItem) {
          +        highlighted = escapedItem.replace(fallbackMatcher, highlight)
          +    }
          +    return highlighted;
          +}
          +function getURLPrefix(ui) {
          +    var urlPrefix="";
          +    var slash = "/";
          +    if (ui.item.category === catModules) {
          +        return ui.item.l + slash;
          +    } else if (ui.item.category === catPackages && ui.item.m) {
          +        return ui.item.m + slash;
          +    } else if (ui.item.category === catTypes || ui.item.category === catMembers) {
          +        if (ui.item.m) {
          +            urlPrefix = ui.item.m + slash;
          +        } else {
          +            $.each(packageSearchIndex, function(index, item) {
          +                if (item.m && ui.item.p === item.l) {
          +                    urlPrefix = item.m + slash;
          +                }
          +            });
          +        }
          +    }
          +    return urlPrefix;
          +}
          +function createSearchPattern(term) {
          +    var pattern = "";
          +    var isWordToken = false;
          +    term.replace(/,\s*/g, ", ").trim().split(/\s+/).forEach(function(w, index) {
          +        if (index > 0) {
          +            // whitespace between identifiers is significant
          +            pattern += (isWordToken && /^\w/.test(w)) ? "\\s+" : "\\s*";
          +        }
          +        var tokens = w.split(/(?=[A-Z,.()<>[\/])/);
          +        for (var i = 0; i < tokens.length; i++) {
          +            var s = tokens[i];
          +            if (s === "") {
          +                continue;
          +            }
          +            pattern += $.ui.autocomplete.escapeRegex(s);
          +            isWordToken =  /\w$/.test(s);
          +            if (isWordToken) {
          +                pattern += "([a-z0-9_$<>\\[\\]]*?)";
          +            }
          +        }
          +    });
          +    return pattern;
          +}
          +function createMatcher(pattern, flags) {
          +    var isCamelCase = /[A-Z]/.test(pattern);
          +    return new RegExp(pattern, flags + (isCamelCase ? "" : "i"));
          +}
          +var watermark = 'Search';
          +$(function() {
          +    var search = $("#search");
          +    var reset = $("#reset");
          +    search.val('');
          +    search.prop("disabled", false);
          +    reset.prop("disabled", false);
          +    search.val(watermark).addClass('watermark');
          +    search.blur(function() {
          +        if ($(this).val().length === 0) {
          +            $(this).val(watermark).addClass('watermark');
          +        }
          +    });
          +    search.on('click keydown paste', function() {
          +        if ($(this).val() === watermark) {
          +            $(this).val('').removeClass('watermark');
          +        }
          +    });
          +    reset.click(function() {
          +        search.val('').focus();
          +    });
          +    search.focus()[0].setSelectionRange(0, 0);
          +});
          +$.widget("custom.catcomplete", $.ui.autocomplete, {
          +    _create: function() {
          +        this._super();
          +        this.widget().menu("option", "items", "> :not(.ui-autocomplete-category)");
          +    },
          +    _renderMenu: function(ul, items) {
          +        var rMenu = this;
          +        var currentCategory = "";
          +        rMenu.menu.bindings = $();
          +        $.each(items, function(index, item) {
          +            var li;
          +            if (item.category && item.category !== currentCategory) {
          +                ul.append("<li class=\"ui-autocomplete-category\">" + item.category + "</li>");
          +                currentCategory = item.category;
          +            }
          +            li = rMenu._renderItemData(ul, item);
          +            if (item.category) {
          +                li.attr("aria-label", item.category + " : " + item.l);
          +                li.attr("class", "result-item");
          +            } else {
          +                li.attr("aria-label", item.l);
          +                li.attr("class", "result-item");
          +            }
          +        });
          +    },
          +    _renderItem: function(ul, item) {
          +        var label = "";
          +        var matcher = createMatcher(escapeHtml(searchPattern), "g");
          +        var fallbackMatcher = new RegExp(fallbackPattern, "gi")
          +        if (item.category === catModules) {
          +            label = getHighlightedText(item.l, matcher, fallbackMatcher);
          +        } else if (item.category === catPackages) {
          +            label = getHighlightedText(item.l, matcher, fallbackMatcher);
          +        } else if (item.category === catTypes) {
          +            label = (item.p && item.p !== UNNAMED)
          +                    ? getHighlightedText(item.p + "." + item.l, matcher, fallbackMatcher)
          +                    : getHighlightedText(item.l, matcher, fallbackMatcher);
          +        } else if (item.category === catMembers) {
          +            label = (item.p && item.p !== UNNAMED)
          +                    ? getHighlightedText(item.p + "." + item.c + "." + item.l, matcher, fallbackMatcher)
          +                    : getHighlightedText(item.c + "." + item.l, matcher, fallbackMatcher);
          +        } else if (item.category === catSearchTags) {
          +            label = getHighlightedText(item.l, matcher, fallbackMatcher);
          +        } else {
          +            label = item.l;
          +        }
          +        var li = $("<li/>").appendTo(ul);
          +        var div = $("<div/>").appendTo(li);
          +        if (item.category === catSearchTags && item.h) {
          +            if (item.d) {
          +                div.html(label + "<span class=\"search-tag-holder-result\"> (" + item.h + ")</span><br><span class=\"search-tag-desc-result\">"
          +                                + item.d + "</span><br>");
          +            } else {
          +                div.html(label + "<span class=\"search-tag-holder-result\"> (" + item.h + ")</span>");
          +            }
          +        } else {
          +            if (item.m) {
          +                div.html(item.m + "/" + label);
          +            } else {
          +                div.html(label);
          +            }
          +        }
          +        return li;
          +    }
          +});
          +function rankMatch(match, category) {
          +    if (!match) {
          +        return NO_MATCH;
          +    }
          +    var index = match.index;
          +    var input = match.input;
          +    var leftBoundaryMatch = 2;
          +    var periferalMatch = 0;
          +    // make sure match is anchored on a left word boundary
          +    if (index === 0 || /\W/.test(input[index - 1]) || "_" === input[index]) {
          +        leftBoundaryMatch = 0;
          +    } else if ("_" === input[index - 1] || (input[index] === input[index].toUpperCase() && !/^[A-Z0-9_$]+$/.test(input))) {
          +        leftBoundaryMatch = 1;
          +    }
          +    var matchEnd = index + match[0].length;
          +    var leftParen = input.indexOf("(");
          +    var endOfName = leftParen > -1 ? leftParen : input.length;
          +    // exclude peripheral matches
          +    if (category !== catModules && category !== catSearchTags) {
          +        var delim = category === catPackages ? "/" : ".";
          +        if (leftParen > -1 && leftParen < index) {
          +            periferalMatch += 2;
          +        } else if (input.lastIndexOf(delim, endOfName) >= matchEnd) {
          +            periferalMatch += 2;
          +        }
          +    }
          +    var delta = match[0].length === endOfName ? 0 : 1; // rank full match higher than partial match
          +    for (var i = 1; i < match.length; i++) {
          +        // lower ranking if parts of the name are missing
          +        if (match[i])
          +            delta += match[i].length;
          +    }
          +    if (category === catTypes) {
          +        // lower ranking if a type name contains unmatched camel-case parts
          +        if (/[A-Z]/.test(input.substring(matchEnd)))
          +            delta += 5;
          +        if (/[A-Z]/.test(input.substring(0, index)))
          +            delta += 5;
          +    }
          +    return leftBoundaryMatch + periferalMatch + (delta / 200);
          +
          +}
          +function doSearch(request, response) {
          +    var result = [];
          +    searchPattern = createSearchPattern(request.term);
          +    fallbackPattern = createSearchPattern(request.term.toLowerCase());
          +    if (searchPattern === "") {
          +        return this.close();
          +    }
          +    var camelCaseMatcher = createMatcher(searchPattern, "");
          +    var fallbackMatcher = new RegExp(fallbackPattern, "i");
          +
          +    function searchIndexWithMatcher(indexArray, matcher, category, nameFunc) {
          +        if (indexArray) {
          +            var newResults = [];
          +            $.each(indexArray, function (i, item) {
          +                item.category = category;
          +                var ranking = rankMatch(matcher.exec(nameFunc(item)), category);
          +                if (ranking < RANKING_THRESHOLD) {
          +                    newResults.push({ranking: ranking, item: item});
          +                }
          +                return newResults.length <= MAX_RESULTS;
          +            });
          +            return newResults.sort(function(e1, e2) {
          +                return e1.ranking - e2.ranking;
          +            }).map(function(e) {
          +                return e.item;
          +            });
          +        }
          +        return [];
          +    }
          +    function searchIndex(indexArray, category, nameFunc) {
          +        var primaryResults = searchIndexWithMatcher(indexArray, camelCaseMatcher, category, nameFunc);
          +        result = result.concat(primaryResults);
          +        if (primaryResults.length <= MIN_RESULTS && camelCaseMatcher.flags.indexOf("i") === -1) {
          +            var secondaryResults = searchIndexWithMatcher(indexArray, fallbackMatcher, category, nameFunc);
          +            result = result.concat(secondaryResults.filter(function (item) {
          +                return primaryResults.indexOf(item) === -1;
          +            }));
          +        }
          +    }
          +
          +    searchIndex(moduleSearchIndex, catModules, function(item) { return item.l; });
          +    searchIndex(packageSearchIndex, catPackages, function(item) {
          +        return (item.m && request.term.indexOf("/") > -1)
          +            ? (item.m + "/" + item.l) : item.l;
          +    });
          +    searchIndex(typeSearchIndex, catTypes, function(item) {
          +        return request.term.indexOf(".") > -1 ? item.p + "." + item.l : item.l;
          +    });
          +    searchIndex(memberSearchIndex, catMembers, function(item) {
          +        return request.term.indexOf(".") > -1
          +            ? item.p + "." + item.c + "." + item.l : item.l;
          +    });
          +    searchIndex(tagSearchIndex, catSearchTags, function(item) { return item.l; });
          +
          +    if (!indexFilesLoaded()) {
          +        updateSearchResults = function() {
          +            doSearch(request, response);
          +        }
          +        result.unshift(loading);
          +    } else {
          +        updateSearchResults = function() {};
          +    }
          +    response(result);
          +}
          +$(function() {
          +    $("#search").catcomplete({
          +        minLength: 1,
          +        delay: 300,
          +        source: doSearch,
          +        response: function(event, ui) {
          +            if (!ui.content.length) {
          +                ui.content.push(noResult);
          +            } else {
          +                $("#search").empty();
          +            }
          +        },
          +        autoFocus: true,
          +        focus: function(event, ui) {
          +            return false;
          +        },
          +        position: {
          +            collision: "flip"
          +        },
          +        select: function(event, ui) {
          +            if (ui.item.category) {
          +                var url = getURLPrefix(ui);
          +                if (ui.item.category === catModules) {
          +                    url += "module-summary.html";
          +                } else if (ui.item.category === catPackages) {
          +                    if (ui.item.u) {
          +                        url = ui.item.u;
          +                    } else {
          +                        url += ui.item.l.replace(/\./g, '/') + "/package-summary.html";
          +                    }
          +                } else if (ui.item.category === catTypes) {
          +                    if (ui.item.u) {
          +                        url = ui.item.u;
          +                    } else if (ui.item.p === UNNAMED) {
          +                        url += ui.item.l + ".html";
          +                    } else {
          +                        url += ui.item.p.replace(/\./g, '/') + "/" + ui.item.l + ".html";
          +                    }
          +                } else if (ui.item.category === catMembers) {
          +                    if (ui.item.p === UNNAMED) {
          +                        url += ui.item.c + ".html" + "#";
          +                    } else {
          +                        url += ui.item.p.replace(/\./g, '/') + "/" + ui.item.c + ".html" + "#";
          +                    }
          +                    if (ui.item.u) {
          +                        url += ui.item.u;
          +                    } else {
          +                        url += ui.item.l;
          +                    }
          +                } else if (ui.item.category === catSearchTags) {
          +                    url += ui.item.u;
          +                }
          +                if (top !== window) {
          +                    parent.classFrame.location = pathtoroot + url;
          +                } else {
          +                    window.location.href = pathtoroot + url;
          +                }
          +                $("#search").focus();
          +            }
          +        }
          +    });
          +});
          diff --git a/target/site/apidocs/serialized-form.html b/target/site/apidocs/serialized-form.html
          new file mode 100644
          index 0000000..913a680
          --- /dev/null
          +++ b/target/site/apidocs/serialized-form.html
          @@ -0,0 +1,89 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<title>Serialized Form (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-27">
          +<meta name="description" content="serialized forms">
          +<meta name="generator" content="javadoc/SerializedFormWriterImpl">
          +<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="script.js"></script>
          +<script type="text/javascript" src="script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="serialized-form-page">
          +<script type="text/javascript">var pathtoroot = "./";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="index.html">Overview</a></li>
          +<li>Package</li>
          +<li>Class</li>
          +<li>Use</li>
          +<li><a href="overview-tree.html">Tree</a></li>
          +<li><a href="index-all.html">Index</a></li>
          +<li><a href="help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<div class="header">
          +<h1 title="Serialized Form" class="title">Serialized Form</h1>
          +</div>
          +<ul class="block-list">
          +<li>
          +<section class="serialized-package-container">
          +<h2 title="Package">Package&nbsp;musichub.business</h2>
          +<ul class="block-list">
          +<li>
          +<section class="serialized-class-details" id="musichub.business.NoAlbumFoundException">
          +<h3>Class <a href="musichub/business/NoAlbumFoundException.html" title="class in musichub.business">musichub.business.NoAlbumFoundException</a> extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a> implements Serializable</h3>
          +</section>
          +</li>
          +<li>
          +<section class="serialized-class-details" id="musichub.business.NoElementFoundException">
          +<h3>Class <a href="musichub/business/NoElementFoundException.html" title="class in musichub.business">musichub.business.NoElementFoundException</a> extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a> implements Serializable</h3>
          +</section>
          +</li>
          +<li>
          +<section class="serialized-class-details" id="musichub.business.NoPlayListFoundException">
          +<h3>Class <a href="musichub/business/NoPlayListFoundException.html" title="class in musichub.business">musichub.business.NoPlayListFoundException</a> extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a> implements Serializable</h3>
          +</section>
          +</li>
          +</ul>
          +</section>
          +</li>
          +</ul>
          +</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/stylesheet.css b/target/site/apidocs/stylesheet.css
          new file mode 100644
          index 0000000..932e56c
          --- /dev/null
          +++ b/target/site/apidocs/stylesheet.css
          @@ -0,0 +1,827 @@
          +/*
          + * Javadoc style sheet
          + */
          +
          +@import url('resources/fonts/dejavu.css');
          +
          +/*
          + * Styles for individual HTML elements.
          + *
          + * These are styles that are specific to individual HTML elements. Changing them affects the style of a particular
          + * HTML element throughout the page.
          + */
          +
          +body {
          +    background-color:#ffffff;
          +    color:#353833;
          +    font-family:'DejaVu Sans', Arial, Helvetica, sans-serif;
          +    font-size:14px;
          +    margin:0;
          +    padding:0;
          +    height:100%;
          +    width:100%;
          +}
          +iframe {
          +    margin:0;
          +    padding:0;
          +    height:100%;
          +    width:100%;
          +    overflow-y:scroll;
          +    border:none;
          +}
          +a:link, a:visited {
          +    text-decoration:none;
          +    color:#4A6782;
          +}
          +a[href]:hover, a[href]:focus {
          +    text-decoration:none;
          +    color:#bb7a2a;
          +}
          +a[name] {
          +    color:#353833;
          +}
          +pre {
          +    font-family:'DejaVu Sans Mono', monospace;
          +    font-size:14px;
          +}
          +h1 {
          +    font-size:20px;
          +}
          +h2 {
          +    font-size:18px;
          +}
          +h3 {
          +    font-size:16px;
          +}
          +h4 {
          +    font-size:13px;
          +}
          +h5 {
          +    font-size:12px;
          +}
          +h6 {
          +    font-size:11px;
          +}
          +ul {
          +    list-style-type:disc;
          +}
          +code, tt {
          +    font-family:'DejaVu Sans Mono', monospace;
          +    font-size:14px;
          +    padding-top:4px;
          +    margin-top:8px;
          +    line-height:1.4em;
          +}
          +dt code {
          +    font-family:'DejaVu Sans Mono', monospace;
          +    font-size:14px;
          +    padding-top:4px;
          +}
          +.summary-table dt code {
          +    font-family:'DejaVu Sans Mono', monospace;
          +    font-size:14px;
          +    vertical-align:top;
          +    padding-top:4px;
          +}
          +sup {
          +    font-size:8px;
          +}
          +button {
          +    font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif;
          +    font-size: 14px;
          +}
          +/*
          + * Styles for HTML generated by javadoc.
          + *
          + * These are style classes that are used by the standard doclet to generate HTML documentation.
          + */
          +
          +/*
          + * Styles for document title and copyright.
          + */
          +.clear {
          +    clear:both;
          +    height:0;
          +    overflow:hidden;
          +}
          +.about-language {
          +    float:right;
          +    padding:0 21px 8px 8px;
          +    font-size:11px;
          +    margin-top:-9px;
          +    height:2.9em;
          +}
          +.legal-copy {
          +    margin-left:.5em;
          +}
          +.tab {
          +    background-color:#0066FF;
          +    color:#ffffff;
          +    padding:8px;
          +    width:5em;
          +    font-weight:bold;
          +}
          +/*
          + * Styles for navigation bar.
          + */
          +@media screen {
          +    .flex-box {
          +        position:fixed;
          +        display:flex;
          +        flex-direction:column;
          +        height: 100%;
          +        width: 100%;
          +    }
          +    .flex-header {
          +        flex: 0 0 auto;
          +    }
          +    .flex-content {
          +        flex: 1 1 auto;
          +        overflow-y: auto;
          +    }
          +}
          +.top-nav {
          +    background-color:#4D7A97;
          +    color:#FFFFFF;
          +    float:left;
          +    padding:0;
          +    width:100%;
          +    clear:right;
          +    min-height:2.8em;
          +    padding-top:10px;
          +    overflow:hidden;
          +    font-size:12px;
          +}
          +.sub-nav {
          +    background-color:#dee3e9;
          +    float:left;
          +    width:100%;
          +    overflow:hidden;
          +    font-size:12px;
          +}
          +.sub-nav div {
          +    clear:left;
          +    float:left;
          +    padding:0 0 5px 6px;
          +    text-transform:uppercase;
          +}
          +.sub-nav .nav-list {
          +    padding-top:5px;
          +}
          +ul.nav-list {
          +    display:block;
          +    margin:0 25px 0 0;
          +    padding:0;
          +}
          +ul.sub-nav-list {
          +    float:left;
          +    margin:0 25px 0 0;
          +    padding:0;
          +}
          +ul.nav-list li {
          +    list-style:none;
          +    float:left;
          +    padding: 5px 6px;
          +    text-transform:uppercase;
          +}
          +.sub-nav .nav-list-search {
          +    float:right;
          +    margin:0 0 0 0;
          +    padding:5px 6px;
          +    clear:none;
          +}
          +.nav-list-search label {
          +    position:relative;
          +    right:-16px;
          +}
          +ul.sub-nav-list li {
          +    list-style:none;
          +    float:left;
          +    padding-top:10px;
          +}
          +.top-nav a:link, .top-nav a:active, .top-nav a:visited {
          +    color:#FFFFFF;
          +    text-decoration:none;
          +    text-transform:uppercase;
          +}
          +.top-nav a:hover {
          +    text-decoration:none;
          +    color:#bb7a2a;
          +    text-transform:uppercase;
          +}
          +.nav-bar-cell1-rev {
          +    background-color:#F8981D;
          +    color:#253441;
          +    margin: auto 5px;
          +}
          +.skip-nav {
          +    position:absolute;
          +    top:auto;
          +    left:-9999px;
          +    overflow:hidden;
          +}
          +/*
          + * Hide navigation links and search box in print layout
          + */
          +@media print {
          +    ul.nav-list, div.sub-nav  {
          +        display:none;
          +    }
          +}
          +/*
          + * Styles for page header and footer.
          + */
          +.title {
          +    color:#2c4557;
          +    margin:10px 0;
          +}
          +.sub-title {
          +    margin:5px 0 0 0;
          +}
          +.header ul {
          +    margin:0 0 15px 0;
          +    padding:0;
          +}
          +.header ul li, .footer ul li {
          +    list-style:none;
          +    font-size:13px;
          +}
          +/*
          + * Styles for headings.
          + */
          +body.class-declaration-page .summary h2,
          +body.class-declaration-page .details h2,
          +body.class-use-page  h2,
          +body.module-declaration-page  .block-list h2 {
          +    font-style: italic;
          +    padding:0;
          +    margin:15px 0;
          +}
          +body.class-declaration-page .summary h3,
          +body.class-declaration-page .details h3,
          +body.class-declaration-page .summary .inherited-list h2 {
          +    background-color:#dee3e9;
          +    border:1px solid #d0d9e0;
          +    margin:0 0 6px -8px;
          +    padding:7px 5px;
          +}
          +/*
          + * Styles for page layout containers.
          + */
          +main {
          +    clear:both;
          +    padding:10px 20px;
          +    position:relative;
          +}
          +dl.notes > dt {
          +    font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif;
          +    font-size:12px;
          +    font-weight:bold;
          +    margin:10px 0 0 0;
          +    color:#4E4E4E;
          +}
          +dl.notes > dd {
          +    margin:5px 0 10px 0;
          +    font-size:14px;
          +    font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif;
          +}
          +dl.name-value > dt {
          +    margin-left:1px;
          +    font-size:1.1em;
          +    display:inline;
          +    font-weight:bold;
          +}
          +dl.name-value > dd {
          +    margin:0 0 0 1px;
          +    font-size:1.1em;
          +    display:inline;
          +}
          +/*
          + * Styles for lists.
          + */
          +li.circle {
          +    list-style:circle;
          +}
          +ul.horizontal li {
          +    display:inline;
          +    font-size:0.9em;
          +}
          +div.inheritance {
          +    margin:0;
          +    padding:0;
          +}
          +div.inheritance div.inheritance {
          +    margin-left:2em;
          +}
          +ul.block-list,
          +ul.details-list,
          +ul.member-list,
          +ul.summary-list {
          +    margin:10px 0 10px 0;
          +    padding:0;
          +}
          +ul.block-list > li,
          +ul.details-list > li,
          +ul.member-list > li,
          +ul.summary-list > li {
          +    list-style:none;
          +    margin-bottom:15px;
          +    line-height:1.4;
          +}
          +.summary-table dl, .summary-table dl dt, .summary-table dl dd {
          +    margin-top:0;
          +    margin-bottom:1px;
          +}
          +/*
          + * Styles for tables.
          + */
          +.summary-table {
          +    width:100%;
          +    border-spacing:0;
          +    border-left:1px solid #EEE;
          +    border-right:1px solid #EEE;
          +    border-bottom:1px solid #EEE;
          +}
          +.summary-table {
          +    padding:0;
          +}
          +.caption {
          +    position:relative;
          +    text-align:left;
          +    background-repeat:no-repeat;
          +    color:#253441;
          +    font-weight:bold;
          +    clear:none;
          +    overflow:hidden;
          +    padding:0px;
          +    padding-top:10px;
          +    padding-left:1px;
          +    margin:0px;
          +    white-space:pre;
          +}
          +.caption a:link, .caption a:visited {
          +    color:#1f389c;
          +}
          +.caption a:hover,
          +.caption a:active {
          +    color:#FFFFFF;
          +}
          +.caption span {
          +    white-space:nowrap;
          +    padding-top:5px;
          +    padding-left:12px;
          +    padding-right:12px;
          +    padding-bottom:7px;
          +    display:inline-block;
          +    float:left;
          +    background-color:#F8981D;
          +    border: none;
          +    height:16px;
          +}
          +
          +div.table-tabs > button {
          +   border: none;
          +   cursor: pointer;
          +   padding: 5px 12px 7px 12px;
          +   font-weight: bold;
          +   margin-right: 3px;
          +}
          +div.table-tabs > button.active-table-tab {
          +   background: #F8981D;
          +   color: #253441;
          +}
          +div.table-tabs > button.table-tab {
          +   background: #4D7A97;
          +   color: #FFFFFF;
          +}
          +.two-column-summary {
          +    display: grid;
          +    grid-template-columns: minmax(15%, max-content) minmax(15%, auto);
          +}
          +.three-column-summary {
          +    display: grid;
          +    grid-template-columns: minmax(10%, max-content) minmax(15%, max-content) minmax(15%, auto);
          +}
          +.four-column-summary {
          +    display: grid;
          +    grid-template-columns: minmax(10%, max-content) minmax(10%, max-content) minmax(10%, max-content) minmax(10%, auto);
          +}
          +@media screen and (max-width: 600px) {
          +    .two-column-summary {
          +        display: grid;
          +        grid-template-columns: 1fr;
          +    }
          +}
          +@media screen and (max-width: 800px) {
          +    .three-column-summary {
          +        display: grid;
          +        grid-template-columns: minmax(10%, max-content) minmax(25%, auto);
          +    }
          +    .three-column-summary .col-last {
          +        grid-column-end: span 2;
          +    }
          +}
          +@media screen and (max-width: 1000px) {
          +    .four-column-summary {
          +        display: grid;
          +        grid-template-columns: minmax(15%, max-content) minmax(15%, auto);
          +    }
          +}
          +.summary-table > div {
          +    text-align:left;
          +    padding: 8px 3px 3px 7px;
          +}
          +.col-first, .col-second, .col-last, .col-constructor-name, .col-deprecated-item-name {
          +    vertical-align:top;
          +    padding-right:0;
          +    padding-top:8px;
          +    padding-bottom:3px;
          +}
          +.table-header {
          +    background:#dee3e9;
          +    font-weight: bold;
          +}
          +.col-first, .col-first {
          +    font-size:13px;
          +}
          +.col-second, .col-second, .col-last, .col-constructor-name, .col-deprecated-item-name, .col-last {
          +    font-size:13px;
          +}
          +.col-first, .col-second, .col-constructor-name {
          +    vertical-align:top;
          +    overflow: auto;
          +}
          +.col-last {
          +    white-space:normal;
          +}
          +.col-first a:link, .col-first a:visited,
          +.col-second a:link, .col-second a:visited,
          +.col-first a:link, .col-first a:visited,
          +.col-second a:link, .col-second a:visited,
          +.col-constructor-name a:link, .col-constructor-name a:visited,
          +.col-deprecated-item-name a:link, .col-deprecated-item-name a:visited,
          +.constant-values-container a:link, .constant-values-container a:visited,
          +.all-classes-container a:link, .all-classes-container a:visited,
          +.all-packages-container a:link, .all-packages-container a:visited {
          +    font-weight:bold;
          +}
          +.table-sub-heading-color {
          +    background-color:#EEEEFF;
          +}
          +.even-row-color, .even-row-color .table-header {
          +    background-color:#FFFFFF;
          +}
          +.odd-row-color, .odd-row-color .table-header {
          +    background-color:#EEEEEF;
          +}
          +/*
          + * Styles for contents.
          + */
          +.deprecated-content {
          +    margin:0;
          +    padding:10px 0;
          +}
          +div.block {
          +    font-size:14px;
          +    font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif;
          +}
          +.col-last div {
          +    padding-top:0;
          +}
          +.col-last a {
          +    padding-bottom:3px;
          +}
          +.module-signature,
          +.package-signature,
          +.type-signature,
          +.member-signature {
          +    font-family:'DejaVu Sans Mono', monospace;
          +    font-size:14px;
          +    margin:14px 0;
          +    white-space: pre-wrap;
          +}
          +.module-signature,
          +.package-signature,
          +.type-signature {
          +    margin-top: 0;
          +}
          +.member-signature .type-parameters-long,
          +.member-signature .parameters,
          +.member-signature .exceptions {
          +    display: inline-block;
          +    vertical-align: top;
          +    white-space: pre;
          +}
          +.member-signature .type-parameters {
          +    white-space: normal;
          +}
          +/*
          + * Styles for formatting effect.
          + */
          +.source-line-no {
          +    color:green;
          +    padding:0 30px 0 0;
          +}
          +h1.hidden {
          +    visibility:hidden;
          +    overflow:hidden;
          +    font-size:10px;
          +}
          +.block {
          +    display:block;
          +    margin:0 10px 5px 0;
          +    color:#474747;
          +}
          +.deprecated-label, .descfrm-type-label, .implementation-label, .member-name-label, .member-name-link,
          +.module-label-in-package, .module-label-in-type, .override-specify-label, .package-label-in-type,
          +.package-hierarchy-label, .type-name-label, .type-name-link, .search-tag-link {
          +    font-weight:bold;
          +}
          +.deprecation-comment, .help-footnote, .interface-name {
          +    font-style:italic;
          +}
          +.deprecation-block {
          +    font-size:14px;
          +    font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif;
          +    border-style:solid;
          +    border-width:thin;
          +    border-radius:10px;
          +    padding:10px;
          +    margin-bottom:10px;
          +    margin-right:10px;
          +    display:inline-block;
          +}
          +div.block div.deprecation-comment, div.block div.block span.emphasized-phrase,
          +div.block div.block span.interface-name {
          +    font-style:normal;
          +}
          +/*
          + * Styles specific to HTML5 elements.
          + */
          +main, nav, header, footer, section {
          +    display:block;
          +}
          +/*
          + * Styles for javadoc search.
          + */
          +.ui-autocomplete-category {
          +    font-weight:bold;
          +    font-size:15px;
          +    padding:7px 0 7px 3px;
          +    background-color:#4D7A97;
          +    color:#FFFFFF;
          +}
          +.result-item {
          +    font-size:13px;
          +}
          +.ui-autocomplete {
          +    max-height:85%;
          +    max-width:65%;
          +    overflow-y:scroll;
          +    overflow-x:scroll;
          +    white-space:nowrap;
          +    box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
          +}
          +ul.ui-autocomplete {
          +    position:fixed;
          +    z-index:999999;
          +}
          +ul.ui-autocomplete  li {
          +    float:left;
          +    clear:both;
          +    width:100%;
          +}
          +.result-highlight {
          +    font-weight:bold;
          +}
          +#search {
          +    background-image:url('resources/glass.png');
          +    background-size:13px;
          +    background-repeat:no-repeat;
          +    background-position:2px 3px;
          +    padding-left:20px;
          +    position:relative;
          +    right:-18px;
          +    width:400px;
          +}
          +#reset {
          +    background-color: rgb(255,255,255);
          +    background-image:url('resources/x.png');
          +    background-position:center;
          +    background-repeat:no-repeat;
          +    background-size:12px;
          +    border:0 none;
          +    width:16px;
          +    height:16px;
          +    position:relative;
          +    left:-4px;
          +    top:-4px;
          +    font-size:0px;
          +}
          +.watermark {
          +    color:#545454;
          +}
          +.search-tag-desc-result {
          +    font-style:italic;
          +    font-size:11px;
          +}
          +.search-tag-holder-result {
          +    font-style:italic;
          +    font-size:12px;
          +}
          +.search-tag-result:target {
          +    background-color:yellow;
          +}
          +.module-graph span {
          +    display:none;
          +    position:absolute;
          +}
          +.module-graph:hover span {
          +    display:block;
          +    margin: -100px 0 0 100px;
          +    z-index: 1;
          +}
          +.inherited-list {
          +    margin: 10px 0 10px 0;
          +}
          +section.description {
          +    line-height: 1.4;
          +}
          +.summary section[class$="-summary"], .details section[class$="-details"],
          +.class-uses .detail, .serialized-class-details {
          +    padding: 0px 20px 5px 10px;
          +    border: 1px solid #ededed;
          +    background-color: #f8f8f8;
          +}
          +.inherited-list, section[class$="-details"] .detail {
          +    padding:0 0 5px 8px;
          +    background-color:#ffffff;
          +    border:none;
          +}
          +.vertical-separator {
          +    padding: 0 5px;
          +}
          +ul.help-section-list {
          +    margin: 0;
          +}
          +/*
          + * Indicator icon for external links.
          + */
          +main a[href*="://"]::after {
          +    content:"";
          +    display:inline-block;
          +    background-image:url('data:image/svg+xml; utf8, \
          +      <svg xmlns="http://www.w3.org/2000/svg" width="768" height="768">\
          +        <path d="M584 664H104V184h216V80H0v688h688V448H584zM384 0l132 \
          +        132-240 240 120 120 240-240 132 132V0z" fill="%234a6782"/>\
          +      </svg>');
          +    background-size:100% 100%;
          +    width:7px;
          +    height:7px;
          +    margin-left:2px;
          +    margin-bottom:4px;
          +}
          +main a[href*="://"]:hover::after,
          +main a[href*="://"]:focus::after {
          +    background-image:url('data:image/svg+xml; utf8, \
          +      <svg xmlns="http://www.w3.org/2000/svg" width="768" height="768">\
          +        <path d="M584 664H104V184h216V80H0v688h688V448H584zM384 0l132 \
          +        132-240 240 120 120 240-240 132 132V0z" fill="%23bb7a2a"/>\
          +      </svg>');
          +}
          +
          +/*
          + * Styles for user-provided tables.
          + *
          + * borderless:
          + *      No borders, vertical margins, styled caption.
          + *      This style is provided for use with existing doc comments.
          + *      In general, borderless tables should not be used for layout purposes.
          + *
          + * plain:
          + *      Plain borders around table and cells, vertical margins, styled caption.
          + *      Best for small tables or for complex tables for tables with cells that span
          + *      rows and columns, when the "striped" style does not work well.
          + *
          + * striped:
          + *      Borders around the table and vertical borders between cells, striped rows,
          + *      vertical margins, styled caption.
          + *      Best for tables that have a header row, and a body containing a series of simple rows.
          + */
          +
          +table.borderless,
          +table.plain,
          +table.striped {
          +    margin-top: 10px;
          +    margin-bottom: 10px;
          +}
          +table.borderless > caption,
          +table.plain > caption,
          +table.striped > caption {
          +    font-weight: bold;
          +    font-size: smaller;
          +}
          +table.borderless th, table.borderless td,
          +table.plain th, table.plain td,
          +table.striped th, table.striped td {
          +    padding: 2px 5px;
          +}
          +table.borderless,
          +table.borderless > thead > tr > th, table.borderless > tbody > tr > th, table.borderless > tr > th,
          +table.borderless > thead > tr > td, table.borderless > tbody > tr > td, table.borderless > tr > td {
          +    border: none;
          +}
          +table.borderless > thead > tr, table.borderless > tbody > tr, table.borderless > tr {
          +    background-color: transparent;
          +}
          +table.plain {
          +    border-collapse: collapse;
          +    border: 1px solid black;
          +}
          +table.plain > thead > tr, table.plain > tbody tr, table.plain > tr {
          +    background-color: transparent;
          +}
          +table.plain > thead > tr > th, table.plain > tbody > tr > th, table.plain > tr > th,
          +table.plain > thead > tr > td, table.plain > tbody > tr > td, table.plain > tr > td {
          +    border: 1px solid black;
          +}
          +table.striped {
          +    border-collapse: collapse;
          +    border: 1px solid black;
          +}
          +table.striped > thead {
          +    background-color: #E3E3E3;
          +}
          +table.striped > thead > tr > th, table.striped > thead > tr > td {
          +    border: 1px solid black;
          +}
          +table.striped > tbody > tr:nth-child(even) {
          +    background-color: #EEE
          +}
          +table.striped > tbody > tr:nth-child(odd) {
          +    background-color: #FFF
          +}
          +table.striped > tbody > tr > th, table.striped > tbody > tr > td {
          +    border-left: 1px solid black;
          +    border-right: 1px solid black;
          +}
          +table.striped > tbody > tr > th {
          +    font-weight: normal;
          +}
          +/**
          + * Tweak font sizes and paddings for small screens.
          + */
          +@media screen and (max-width: 1050px) {
          +    #search {
          +        width: 300px;
          +    }
          +}
          +@media screen and (max-width: 800px) {
          +    #search {
          +        width: 200px;
          +    }
          +    .top-nav,
          +    .bottom-nav {
          +        font-size: 11px;
          +        padding-top: 6px;
          +    }
          +    .sub-nav {
          +        font-size: 11px;
          +    }
          +    .about-language {
          +        padding-right: 16px;
          +    }
          +    ul.nav-list li,
          +    .sub-nav .nav-list-search {
          +        padding: 6px;
          +    }
          +    ul.sub-nav-list li {
          +        padding-top: 5px;
          +    }
          +    main {
          +        padding: 10px;
          +    }
          +    .summary section[class$="-summary"], .details section[class$="-details"],
          +    .class-uses .detail, .serialized-class-details {
          +        padding: 0 8px 5px 8px;
          +    }
          +    body {
          +        -webkit-text-size-adjust: none;
          +    }
          +}
          +@media screen and (max-width: 500px) {
          +    #search {
          +        width: 150px;
          +    }
          +    .top-nav,
          +    .bottom-nav {
          +        font-size: 10px;
          +    }
          +    .sub-nav {
          +        font-size: 10px;
          +    }
          +    .about-language {
          +        font-size: 10px;
          +        padding-right: 12px;
          +    }
          +}
          diff --git a/target/site/apidocs/tag-search-index.js b/target/site/apidocs/tag-search-index.js
          new file mode 100644
          index 0000000..f38b3cb
          --- /dev/null
          +++ b/target/site/apidocs/tag-search-index.js
          @@ -0,0 +1 @@
          +tagSearchIndex = [{"l":"Serialized Form","h":"","u":"serialized-form.html"}];updateSearchResults();
          \ No newline at end of file
          diff --git a/target/site/apidocs/type-search-index.js b/target/site/apidocs/type-search-index.js
          new file mode 100644
          index 0000000..26dac6f
          --- /dev/null
          +++ b/target/site/apidocs/type-search-index.js
          @@ -0,0 +1 @@
          +typeSearchIndex = [{"p":"musichub.business","l":"Album"},{"l":"All Classes","u":"allclasses-index.html"},{"p":"musichub.business","l":"AudioBook"},{"p":"musichub.business","l":"AudioElement"},{"p":"musichub.business","l":"Category"},{"p":"musichub.business","l":"Genre"},{"p":"musichub.business","l":"Language"},{"p":"musichub.util","l":"LogHandler"},{"p":"musichub.main","l":"Main"},{"p":"musichub.business","l":"MusicHub"},{"p":"musichub.business","l":"NoAlbumFoundException"},{"p":"musichub.business","l":"NoElementFoundException"},{"p":"musichub.business","l":"NoPlayListFoundException"},{"p":"musichub.util","l":"PathValidation"},{"p":"musichub.business","l":"PlayList"},{"p":"musichub.business","l":"Song"},{"p":"musichub.util","l":"XMLHandler"}];updateSearchResults();
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.util/LogHandler.html b/target/site/jacoco/musichub.util/LogHandler.html
          new file mode 100644
          index 0000000..b1e3f2b
          --- /dev/null
          +++ b/target/site/jacoco/musichub.util/LogHandler.html
          @@ -0,0 +1 @@
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>LogHandler</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.html" class="el_package">musichub.util</a> &gt; <span class="el_class">LogHandler</span></div><h1>LogHandler</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 46</td><td class="ctr2">100 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">0</td><td class="ctr2">11</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="LogHandler.java.html#L38" class="el_method">write(String, String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="26" alt="26"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="LogHandler.java.html#L58" class="el_method">read()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="60" height="10" title="13" alt="13"/></td><td class="ctr2" id="c1">100 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="LogHandler.java.html#L25" class="el_method">LogHandler()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="32" height="10" title="7" alt="7"/></td><td class="ctr2" id="c2">100 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.util/LogHandler.java.html b/target/site/jacoco/musichub.util/LogHandler.java.html
          new file mode 100644
          index 0000000..020c8f3
          --- /dev/null
          +++ b/target/site/jacoco/musichub.util/LogHandler.java.html
          @@ -0,0 +1,69 @@
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>LogHandler.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.source.html" class="el_package">musichub.util</a> &gt; <span class="el_source">LogHandler.java</span></div><h1>LogHandler.java</h1><pre class="source lang-java linenums">package musichub.util;
          +
          +import java.io.IOException;
          +import java.nio.file.Files;
          +import java.nio.file.Path;
          +import java.nio.file.StandardOpenOption;
          +import java.sql.Timestamp;
          +
          +/**
          + * Class offering a log writing method.
          + *
          + * @author Aimeric ADJUTOR
          + * @version 1.0
          + */
          +
          +public final class LogHandler {
          +
          +    /**
          +     * Method that just throws an AssertionError if the class is called
          +     *
          +     * @throws AssertionError you can't instantiate this class
          +     * @author Aimeric ADJUTOR
          +     */
          +
          +<span class="fc" id="L25">    public LogHandler() {</span>
          +<span class="fc" id="L26">        throw new AssertionError(&quot;You just can't instantiate this class.&quot;);</span>
          +    }
          +
          +    /**
          +     * Method that writes a log message to spoteezer.log
          +     *
          +     * @param msg  the message to write
          +     * @param type the type of log
          +     * @throws IOException if the file's not there
          +     */
          +    public static void write(String msg, String type) throws IOException {
          +
          +<span class="fc" id="L38">        Timestamp timestamp = new Timestamp(System.currentTimeMillis());</span>
          +
          +        //Create the log using the given message
          +<span class="fc" id="L41">        String logMsg = &quot;\n[&quot; + timestamp + &quot;] &quot; + type + &quot;: &quot; + msg;</span>
          +
          +        // Define the file name of the file
          +<span class="fc" id="L44">        Path fileName = Path.of(&quot;log/spoteezer.log&quot;);</span>
          +
          +        // Write into the file
          +<span class="fc" id="L47">        Files.writeString(fileName, logMsg, StandardOpenOption.APPEND);</span>
          +
          +
          +<span class="fc" id="L50">    }</span>
          +
          +    /**
          +     * Method that prints the content of spoteezer.log
          +     *
          +     * @throws IOException if the file's not there
          +     */
          +    public static void read() throws IOException {
          +<span class="fc" id="L58">        Path fileName = Path.of(&quot;log/spoteezer.log&quot;);</span>
          +
          +        // Read the content of the file
          +<span class="fc" id="L61">        String file_content = Files.readString(fileName);</span>
          +
          +        // Print the content inside the file
          +<span class="fc" id="L64">        System.out.println(&quot;\n&quot; + file_content + &quot;\n&quot;);</span>
          +
          +<span class="fc" id="L66">    }</span>
          +
          +}
          +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.util/PathValidation.html b/target/site/jacoco/musichub.util/PathValidation.html
          new file mode 100644
          index 0000000..940af0e
          --- /dev/null
          +++ b/target/site/jacoco/musichub.util/PathValidation.html
          @@ -0,0 +1 @@
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>PathValidation</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.html" class="el_package">musichub.util</a> &gt; <span class="el_class">PathValidation</span></div><h1>PathValidation</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 17</td><td class="ctr2">100 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">2</td><td class="ctr1">0</td><td class="ctr2">4</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="PathValidation.java.html#L35" class="el_method">isPathValid(String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="PathValidation.java.html#L23" class="el_method">PathValidation()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="84" height="10" title="7" alt="7"/></td><td class="ctr2" id="c1">100 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.util/PathValidation.java.html b/target/site/jacoco/musichub.util/PathValidation.java.html
          new file mode 100644
          index 0000000..7cb31d4
          --- /dev/null
          +++ b/target/site/jacoco/musichub.util/PathValidation.java.html
          @@ -0,0 +1,40 @@
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>PathValidation.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.source.html" class="el_package">musichub.util</a> &gt; <span class="el_source">PathValidation.java</span></div><h1>PathValidation.java</h1><pre class="source lang-java linenums">package musichub.util;
          +
          +import java.nio.file.Files;
          +import java.nio.file.Path;
          +import java.nio.file.Paths;
          +
          +/**
          + * Class offering a path validation method.
          + *
          + * @author Aimeric ADJUTOR
          + * @version 1.0
          + */
          +
          +public final class PathValidation {
          +
          +    /**
          +     * Method that just throws an AssertionError if the class is called
          +     *
          +     * @throws AssertionError you can't instantiate this class
          +     * @author Aimeric ADJUTOR
          +     */
          +
          +<span class="fc" id="L23">    public PathValidation() {</span>
          +<span class="fc" id="L24">        throw new AssertionError(&quot;You just can't instantiate this class.&quot;);</span>
          +    }
          +
          +    /**
          +     * Method that checks the validity of a given path
          +     *
          +     * @param inputPath the path given by the user
          +     * @return a boolean
          +     */
          +
          +    public static boolean isPathValid(String inputPath) {
          +<span class="fc" id="L35">        Path path = Paths.get(inputPath);</span>
          +<span class="fc" id="L36">        return Files.exists(path);</span>
          +    }
          +
          +}
          +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          -- 
          cgit v1.2.3
          
          
          From f5117515ab26658e93d9efc2d99651c332840782 Mon Sep 17 00:00:00 2001
          From: Clyhtsuriva <aimeric@adjutor.xyz>
          Date: Sun, 27 Jun 2021 13:24:40 +0200
          Subject: Added an extension check for songs and covered it with a test.
          
          ---
           Song/Side_To_Side.mp3                               | Bin 0 -> 7460864 bytes
           log/spoteezer.log                                   |  10 ++--------
           src/main/java/musichub/main/Main.java               |   2 +-
           src/main/java/musichub/util/PathValidation.java     |  14 ++++++++++++--
           src/test/java/musichub/util/PathValidationTest.java |   7 ++++---
           target/classes/musichub/main/Main.class             | Bin 10287 -> 10315 bytes
           target/jacoco.exec                                  | Bin 15165 -> 15166 bytes
           target/site/apidocs/allclasses-index.html           |   2 +-
           target/site/apidocs/allpackages-index.html          |   2 +-
           target/site/apidocs/help-doc.html                   |   2 +-
           target/site/apidocs/index-all.html                  |   4 ++--
           target/site/apidocs/index.html                      |   2 +-
           target/site/apidocs/musichub/business/Album.html    |   2 +-
           .../site/apidocs/musichub/business/AudioBook.html   |   2 +-
           .../apidocs/musichub/business/AudioElement.html     |   2 +-
           target/site/apidocs/musichub/business/Category.html |   2 +-
           target/site/apidocs/musichub/business/Genre.html    |   2 +-
           target/site/apidocs/musichub/business/Language.html |   2 +-
           target/site/apidocs/musichub/business/MusicHub.html |   2 +-
           .../musichub/business/NoAlbumFoundException.html    |   2 +-
           .../musichub/business/NoElementFoundException.html  |   2 +-
           .../musichub/business/NoPlayListFoundException.html |   2 +-
           target/site/apidocs/musichub/business/PlayList.html |   2 +-
           target/site/apidocs/musichub/business/Song.html     |   2 +-
           .../apidocs/musichub/business/class-use/Album.html  |   2 +-
           .../musichub/business/class-use/AudioBook.html      |   2 +-
           .../musichub/business/class-use/AudioElement.html   |   2 +-
           .../musichub/business/class-use/Category.html       |   2 +-
           .../apidocs/musichub/business/class-use/Genre.html  |   2 +-
           .../musichub/business/class-use/Language.html       |   2 +-
           .../musichub/business/class-use/MusicHub.html       |   2 +-
           .../business/class-use/NoAlbumFoundException.html   |   2 +-
           .../business/class-use/NoElementFoundException.html |   2 +-
           .../class-use/NoPlayListFoundException.html         |   2 +-
           .../musichub/business/class-use/PlayList.html       |   2 +-
           .../apidocs/musichub/business/class-use/Song.html   |   2 +-
           .../apidocs/musichub/business/package-summary.html  |   2 +-
           .../apidocs/musichub/business/package-tree.html     |   2 +-
           .../site/apidocs/musichub/business/package-use.html |   2 +-
           target/site/apidocs/musichub/main/Main.html         |   2 +-
           .../site/apidocs/musichub/main/class-use/Main.html  |   2 +-
           .../site/apidocs/musichub/main/package-summary.html |   2 +-
           target/site/apidocs/musichub/main/package-tree.html |   2 +-
           target/site/apidocs/musichub/main/package-use.html  |   2 +-
           target/site/apidocs/musichub/util/LogHandler.html   |   2 +-
           .../site/apidocs/musichub/util/PathValidation.html  |   6 +++---
           target/site/apidocs/musichub/util/XMLHandler.html   |   2 +-
           .../apidocs/musichub/util/class-use/LogHandler.html |   2 +-
           .../musichub/util/class-use/PathValidation.html     |   2 +-
           .../apidocs/musichub/util/class-use/XMLHandler.html |   2 +-
           .../site/apidocs/musichub/util/package-summary.html |   2 +-
           target/site/apidocs/musichub/util/package-tree.html |   2 +-
           target/site/apidocs/musichub/util/package-use.html  |   2 +-
           target/site/apidocs/overview-summary.html           |   2 +-
           target/site/apidocs/overview-tree.html              |   2 +-
           target/site/apidocs/serialized-form.html            |   2 +-
           target/site/jacoco/index.html                       |   2 +-
           target/site/jacoco/jacoco-sessions.html             |   2 +-
           target/site/jacoco/jacoco.csv                       |   2 +-
           target/site/jacoco/jacoco.xml                       |   2 +-
           target/site/jacoco/musichub.main/Main.java.html     |   2 +-
           .../site/jacoco/musichub.util/PathValidation.html   |   2 +-
           .../jacoco/musichub.util/PathValidation.java.html   |  16 +++++++++++++---
           target/site/jacoco/musichub.util/index.html         |   2 +-
           target/site/jacoco/musichub.util/index.source.html  |   2 +-
           65 files changed, 92 insertions(+), 77 deletions(-)
           create mode 100644 Song/Side_To_Side.mp3
          
          (limited to 'target/site/apidocs/musichub/business/class-use')
          
          diff --git a/Song/Side_To_Side.mp3 b/Song/Side_To_Side.mp3
          new file mode 100644
          index 0000000..3723a43
          Binary files /dev/null and b/Song/Side_To_Side.mp3 differ
          diff --git a/log/spoteezer.log b/log/spoteezer.log
          index b1ecf97..b4799c9 100644
          --- a/log/spoteezer.log
          +++ b/log/spoteezer.log
          @@ -1,9 +1,3 @@
           [yyyy-MM-dd HH:mm:ss.SSS] TYPE: Message
          -[2021-06-26 21:37:09.507] WARNING: The music file was not found with the path you've provided.
          -[2021-06-26 21:45:11.453] WARNING: The music file was not found with the path you've provided.
          -[2021-06-27 12:21:37.507] TEST: JUnit test
          -[2021-06-27 12:26:02.741] TEST: JUnit test
          -[2021-06-27 12:28:05.542] TEST: JUnit test
          -[2021-06-27 12:28:41.186] TEST: JUnit test
          -[2021-06-27 12:31:42.777] TEST: JUnit test
          -[2021-06-27 12:40:20.609] TEST: JUnit test
          \ No newline at end of file
          +[2021-06-27 13:23:02.181] WARNING: The music file was not found with the path you've provided or the extension is not .wav
          +[2021-06-27 13:23:40.286] TEST: JUnit test
          \ No newline at end of file
          diff --git a/src/main/java/musichub/main/Main.java b/src/main/java/musichub/main/Main.java
          index e7ca721..1fa5c52 100644
          --- a/src/main/java/musichub/main/Main.java
          +++ b/src/main/java/musichub/main/Main.java
          @@ -94,7 +94,7 @@ public class Main {
                               System.out.println("Song content: ");
                               String content = scan.nextLine();
                               if (!isPathValid(content)) {
          -                        String logMsg = "The music file was not found with the path you've provided.";
          +                        String logMsg = "The music file was not found with the path you've provided or the extension is not .wav";
                                   LogHandler.write(logMsg, "WARNING"); //write a line in the log file
                                   System.out.println(logMsg + "\nType h for available commands");
                                   choice = scan.nextLine();
          diff --git a/src/main/java/musichub/util/PathValidation.java b/src/main/java/musichub/util/PathValidation.java
          index df11388..ea00c24 100644
          --- a/src/main/java/musichub/util/PathValidation.java
          +++ b/src/main/java/musichub/util/PathValidation.java
          @@ -25,15 +25,25 @@ public final class PathValidation {
               }
           
               /**
          -     * Method that checks the validity of a given path
          +     * Method that checks the validity of a given path and file.
                *
                * @param inputPath the path given by the user
                * @return a boolean
                */
           
               public static boolean isPathValid(String inputPath) {
          +        boolean isExtensionValid = false;
          +
          +        int index = inputPath.lastIndexOf('.');
          +        if (index > 0) {
          +            String extension = inputPath.substring(index + 1);
          +            if (extension.equals("wav")) {
          +                isExtensionValid = true;
          +            }
          +        }
          +
                   Path path = Paths.get(inputPath);
          -        return Files.exists(path);
          +        return (Files.exists(path) & isExtensionValid);
               }
           
           }
          \ No newline at end of file
          diff --git a/src/test/java/musichub/util/PathValidationTest.java b/src/test/java/musichub/util/PathValidationTest.java
          index b0e0c38..f087ac1 100644
          --- a/src/test/java/musichub/util/PathValidationTest.java
          +++ b/src/test/java/musichub/util/PathValidationTest.java
          @@ -19,8 +19,9 @@ public class PathValidationTest {
           
               @Test
               void testIsPathValid() {
          -        assertTrue(isPathValid("Song/Side_To_Side.wav")); //the right path
          -        assertFalse(isPathValid("wrong_path/Side_To_Side.wav")); //wrong path
          -        assertFalse(isPathValid("Song/Side_To_Side.mp3")); //wrong extension
          +        assertTrue(isPathValid("Song/Side_To_Side.wav")); //right path, right file, right extension
          +        assertFalse(isPathValid("wrong_path/Side_To_Side.wav")); //wrong path, right file, right extension
          +        assertFalse(isPathValid("Song/Side_To_Side.mp3")); //right path, right file, wrong extension
          +        assertFalse(isPathValid("Song/Side_To_Sidewav")); //right path, right file, wrong extension (without a dot)
               }
           }
          diff --git a/target/classes/musichub/main/Main.class b/target/classes/musichub/main/Main.class
          index 632e576..38501eb 100644
          Binary files a/target/classes/musichub/main/Main.class and b/target/classes/musichub/main/Main.class differ
          diff --git a/target/jacoco.exec b/target/jacoco.exec
          index bc2bc8f..029f7db 100644
          Binary files a/target/jacoco.exec and b/target/jacoco.exec differ
          diff --git a/target/site/apidocs/allclasses-index.html b/target/site/apidocs/allclasses-index.html
          index 5373707..f526bdf 100644
          --- a/target/site/apidocs/allclasses-index.html
          +++ b/target/site/apidocs/allclasses-index.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>All Classes (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/allpackages-index.html b/target/site/apidocs/allpackages-index.html
          index 3c3f2bf..76d905a 100644
          --- a/target/site/apidocs/allpackages-index.html
          +++ b/target/site/apidocs/allpackages-index.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>All Packages (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/help-doc.html b/target/site/apidocs/help-doc.html
          index a862578..98c4397 100644
          --- a/target/site/apidocs/help-doc.html
          +++ b/target/site/apidocs/help-doc.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>API Help (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/index-all.html b/target/site/apidocs/index-all.html
          index a35747c..bb29e83 100644
          --- a/target/site/apidocs/index-all.html
          +++ b/target/site/apidocs/index-all.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>Index (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          @@ -204,7 +204,7 @@ loadScripts(document, 'script');</script>
           <dl class="index">
           <dt><span class="member-name-link"><a href="musichub/util/PathValidation.html#isPathValid(java.lang.String)">isPathValid(String)</a></span> - Static method in class musichub.util.<a href="musichub/util/PathValidation.html" title="class in musichub.util">PathValidation</a></dt>
           <dd>
          -<div class="block">Method that checks the validity of a given path</div>
          +<div class="block">Method that checks the validity of a given path and file.</div>
           </dd>
           <dt><span class="member-name-link"><a href="musichub/business/Language.html#ITALIAN">ITALIAN</a></span> - Enum constant in enum class musichub.business.<a href="musichub/business/Language.html" title="enum class in musichub.business">Language</a></dt>
           <dd>&nbsp;</dd>
          diff --git a/target/site/apidocs/index.html b/target/site/apidocs/index.html
          index 2d288a6..e4f188e 100644
          --- a/target/site/apidocs/index.html
          +++ b/target/site/apidocs/index.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>Overview (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/Album.html b/target/site/apidocs/musichub/business/Album.html
          index 973b265..1218e4a 100644
          --- a/target/site/apidocs/musichub/business/Album.html
          +++ b/target/site/apidocs/musichub/business/Album.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>Album (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/AudioBook.html b/target/site/apidocs/musichub/business/AudioBook.html
          index f9f339c..2947784 100644
          --- a/target/site/apidocs/musichub/business/AudioBook.html
          +++ b/target/site/apidocs/musichub/business/AudioBook.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>AudioBook (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/AudioElement.html b/target/site/apidocs/musichub/business/AudioElement.html
          index 0765c5e..952130b 100644
          --- a/target/site/apidocs/musichub/business/AudioElement.html
          +++ b/target/site/apidocs/musichub/business/AudioElement.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>AudioElement (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/Category.html b/target/site/apidocs/musichub/business/Category.html
          index 78478cc..efdb113 100644
          --- a/target/site/apidocs/musichub/business/Category.html
          +++ b/target/site/apidocs/musichub/business/Category.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>Category (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/Genre.html b/target/site/apidocs/musichub/business/Genre.html
          index 1e8368a..fb61007 100644
          --- a/target/site/apidocs/musichub/business/Genre.html
          +++ b/target/site/apidocs/musichub/business/Genre.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>Genre (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/Language.html b/target/site/apidocs/musichub/business/Language.html
          index 373acb6..de6d02c 100644
          --- a/target/site/apidocs/musichub/business/Language.html
          +++ b/target/site/apidocs/musichub/business/Language.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>Language (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/MusicHub.html b/target/site/apidocs/musichub/business/MusicHub.html
          index 796ef55..c9aa14b 100644
          --- a/target/site/apidocs/musichub/business/MusicHub.html
          +++ b/target/site/apidocs/musichub/business/MusicHub.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>MusicHub (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/NoAlbumFoundException.html b/target/site/apidocs/musichub/business/NoAlbumFoundException.html
          index b97e96b..8cd2100 100644
          --- a/target/site/apidocs/musichub/business/NoAlbumFoundException.html
          +++ b/target/site/apidocs/musichub/business/NoAlbumFoundException.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>NoAlbumFoundException (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/NoElementFoundException.html b/target/site/apidocs/musichub/business/NoElementFoundException.html
          index 02158e1..41fa7a8 100644
          --- a/target/site/apidocs/musichub/business/NoElementFoundException.html
          +++ b/target/site/apidocs/musichub/business/NoElementFoundException.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>NoElementFoundException (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/NoPlayListFoundException.html b/target/site/apidocs/musichub/business/NoPlayListFoundException.html
          index cb1bead..65ad902 100644
          --- a/target/site/apidocs/musichub/business/NoPlayListFoundException.html
          +++ b/target/site/apidocs/musichub/business/NoPlayListFoundException.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>NoPlayListFoundException (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/PlayList.html b/target/site/apidocs/musichub/business/PlayList.html
          index d681f94..a0bd02b 100644
          --- a/target/site/apidocs/musichub/business/PlayList.html
          +++ b/target/site/apidocs/musichub/business/PlayList.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>PlayList (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/Song.html b/target/site/apidocs/musichub/business/Song.html
          index fb5a918..2550898 100644
          --- a/target/site/apidocs/musichub/business/Song.html
          +++ b/target/site/apidocs/musichub/business/Song.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>Song (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/class-use/Album.html b/target/site/apidocs/musichub/business/class-use/Album.html
          index 89a09b3..846ce1e 100644
          --- a/target/site/apidocs/musichub/business/class-use/Album.html
          +++ b/target/site/apidocs/musichub/business/class-use/Album.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>Uses of Class musichub.business.Album (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/class-use/AudioBook.html b/target/site/apidocs/musichub/business/class-use/AudioBook.html
          index e911a56..ac2d207 100644
          --- a/target/site/apidocs/musichub/business/class-use/AudioBook.html
          +++ b/target/site/apidocs/musichub/business/class-use/AudioBook.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>Uses of Class musichub.business.AudioBook (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/class-use/AudioElement.html b/target/site/apidocs/musichub/business/class-use/AudioElement.html
          index 67ffde5..6721959 100644
          --- a/target/site/apidocs/musichub/business/class-use/AudioElement.html
          +++ b/target/site/apidocs/musichub/business/class-use/AudioElement.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>Uses of Class musichub.business.AudioElement (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/class-use/Category.html b/target/site/apidocs/musichub/business/class-use/Category.html
          index 3c43357..bf72525 100644
          --- a/target/site/apidocs/musichub/business/class-use/Category.html
          +++ b/target/site/apidocs/musichub/business/class-use/Category.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>Uses of Enum Class musichub.business.Category (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/class-use/Genre.html b/target/site/apidocs/musichub/business/class-use/Genre.html
          index e07056b..45e4285 100644
          --- a/target/site/apidocs/musichub/business/class-use/Genre.html
          +++ b/target/site/apidocs/musichub/business/class-use/Genre.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>Uses of Enum Class musichub.business.Genre (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/class-use/Language.html b/target/site/apidocs/musichub/business/class-use/Language.html
          index 446982a..2641403 100644
          --- a/target/site/apidocs/musichub/business/class-use/Language.html
          +++ b/target/site/apidocs/musichub/business/class-use/Language.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>Uses of Enum Class musichub.business.Language (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/class-use/MusicHub.html b/target/site/apidocs/musichub/business/class-use/MusicHub.html
          index 284de20..6001814 100644
          --- a/target/site/apidocs/musichub/business/class-use/MusicHub.html
          +++ b/target/site/apidocs/musichub/business/class-use/MusicHub.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>Uses of Class musichub.business.MusicHub (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/class-use/NoAlbumFoundException.html b/target/site/apidocs/musichub/business/class-use/NoAlbumFoundException.html
          index 4fe2d48..ec4794b 100644
          --- a/target/site/apidocs/musichub/business/class-use/NoAlbumFoundException.html
          +++ b/target/site/apidocs/musichub/business/class-use/NoAlbumFoundException.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>Uses of Class musichub.business.NoAlbumFoundException (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/class-use/NoElementFoundException.html b/target/site/apidocs/musichub/business/class-use/NoElementFoundException.html
          index 18ab630..438ea7e 100644
          --- a/target/site/apidocs/musichub/business/class-use/NoElementFoundException.html
          +++ b/target/site/apidocs/musichub/business/class-use/NoElementFoundException.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>Uses of Class musichub.business.NoElementFoundException (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/class-use/NoPlayListFoundException.html b/target/site/apidocs/musichub/business/class-use/NoPlayListFoundException.html
          index a1bdfd9..fc2e2e3 100644
          --- a/target/site/apidocs/musichub/business/class-use/NoPlayListFoundException.html
          +++ b/target/site/apidocs/musichub/business/class-use/NoPlayListFoundException.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>Uses of Class musichub.business.NoPlayListFoundException (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/class-use/PlayList.html b/target/site/apidocs/musichub/business/class-use/PlayList.html
          index 634e0d8..bda55e0 100644
          --- a/target/site/apidocs/musichub/business/class-use/PlayList.html
          +++ b/target/site/apidocs/musichub/business/class-use/PlayList.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>Uses of Class musichub.business.PlayList (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/class-use/Song.html b/target/site/apidocs/musichub/business/class-use/Song.html
          index fb99612..3325f6e 100644
          --- a/target/site/apidocs/musichub/business/class-use/Song.html
          +++ b/target/site/apidocs/musichub/business/class-use/Song.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>Uses of Class musichub.business.Song (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/package-summary.html b/target/site/apidocs/musichub/business/package-summary.html
          index 5c16eb0..6091b4c 100644
          --- a/target/site/apidocs/musichub/business/package-summary.html
          +++ b/target/site/apidocs/musichub/business/package-summary.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>musichub.business (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/package-tree.html b/target/site/apidocs/musichub/business/package-tree.html
          index fd8432b..043e924 100644
          --- a/target/site/apidocs/musichub/business/package-tree.html
          +++ b/target/site/apidocs/musichub/business/package-tree.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>musichub.business Class Hierarchy (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/business/package-use.html b/target/site/apidocs/musichub/business/package-use.html
          index f00b71c..9e21dc4 100644
          --- a/target/site/apidocs/musichub/business/package-use.html
          +++ b/target/site/apidocs/musichub/business/package-use.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>Uses of Package musichub.business (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/main/Main.html b/target/site/apidocs/musichub/main/Main.html
          index 756debb..689df96 100644
          --- a/target/site/apidocs/musichub/main/Main.html
          +++ b/target/site/apidocs/musichub/main/Main.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>Main (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/main/class-use/Main.html b/target/site/apidocs/musichub/main/class-use/Main.html
          index ea3723f..3510a5a 100644
          --- a/target/site/apidocs/musichub/main/class-use/Main.html
          +++ b/target/site/apidocs/musichub/main/class-use/Main.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>Uses of Class musichub.main.Main (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/main/package-summary.html b/target/site/apidocs/musichub/main/package-summary.html
          index ca88160..3173f29 100644
          --- a/target/site/apidocs/musichub/main/package-summary.html
          +++ b/target/site/apidocs/musichub/main/package-summary.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>musichub.main (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/main/package-tree.html b/target/site/apidocs/musichub/main/package-tree.html
          index b629a9f..28af7d3 100644
          --- a/target/site/apidocs/musichub/main/package-tree.html
          +++ b/target/site/apidocs/musichub/main/package-tree.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>musichub.main Class Hierarchy (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/main/package-use.html b/target/site/apidocs/musichub/main/package-use.html
          index d88fcc7..91940dd 100644
          --- a/target/site/apidocs/musichub/main/package-use.html
          +++ b/target/site/apidocs/musichub/main/package-use.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>Uses of Package musichub.main (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/util/LogHandler.html b/target/site/apidocs/musichub/util/LogHandler.html
          index aab61a3..ef83ebd 100644
          --- a/target/site/apidocs/musichub/util/LogHandler.html
          +++ b/target/site/apidocs/musichub/util/LogHandler.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>LogHandler (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/util/PathValidation.html b/target/site/apidocs/musichub/util/PathValidation.html
          index fd6d4b8..fefddad 100644
          --- a/target/site/apidocs/musichub/util/PathValidation.html
          +++ b/target/site/apidocs/musichub/util/PathValidation.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>PathValidation (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          @@ -121,7 +121,7 @@ loadScripts(document, 'script');</script>
           <div class="col-first even-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table"><code>static boolean</code></div>
           <div class="col-second even-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#isPathValid(java.lang.String)">isPathValid</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;inputPath)</code></div>
           <div class="col-last even-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table">
          -<div class="block">Method that checks the validity of a given path</div>
          +<div class="block">Method that checks the validity of a given path and file.</div>
           </div>
           </div>
           </div>
          @@ -163,7 +163,7 @@ loadScripts(document, 'script');</script>
           <section class="detail" id="isPathValid(java.lang.String)">
           <h3>isPathValid</h3>
           <div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isPathValid</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;inputPath)</span></div>
          -<div class="block">Method that checks the validity of a given path</div>
          +<div class="block">Method that checks the validity of a given path and file.</div>
           <dl class="notes">
           <dt>Parameters:</dt>
           <dd><code>inputPath</code> - the path given by the user</dd>
          diff --git a/target/site/apidocs/musichub/util/XMLHandler.html b/target/site/apidocs/musichub/util/XMLHandler.html
          index 8957fcb..7236da3 100644
          --- a/target/site/apidocs/musichub/util/XMLHandler.html
          +++ b/target/site/apidocs/musichub/util/XMLHandler.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>XMLHandler (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/util/class-use/LogHandler.html b/target/site/apidocs/musichub/util/class-use/LogHandler.html
          index 2d3ba9c..990f0fd 100644
          --- a/target/site/apidocs/musichub/util/class-use/LogHandler.html
          +++ b/target/site/apidocs/musichub/util/class-use/LogHandler.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>Uses of Class musichub.util.LogHandler (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/util/class-use/PathValidation.html b/target/site/apidocs/musichub/util/class-use/PathValidation.html
          index 68d4275..220526c 100644
          --- a/target/site/apidocs/musichub/util/class-use/PathValidation.html
          +++ b/target/site/apidocs/musichub/util/class-use/PathValidation.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>Uses of Class musichub.util.PathValidation (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/util/class-use/XMLHandler.html b/target/site/apidocs/musichub/util/class-use/XMLHandler.html
          index 1115b00..7a70382 100644
          --- a/target/site/apidocs/musichub/util/class-use/XMLHandler.html
          +++ b/target/site/apidocs/musichub/util/class-use/XMLHandler.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>Uses of Class musichub.util.XMLHandler (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/util/package-summary.html b/target/site/apidocs/musichub/util/package-summary.html
          index f15c1e8..f86937c 100644
          --- a/target/site/apidocs/musichub/util/package-summary.html
          +++ b/target/site/apidocs/musichub/util/package-summary.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>musichub.util (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/util/package-tree.html b/target/site/apidocs/musichub/util/package-tree.html
          index 5e16d78..ffec452 100644
          --- a/target/site/apidocs/musichub/util/package-tree.html
          +++ b/target/site/apidocs/musichub/util/package-tree.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>musichub.util Class Hierarchy (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/musichub/util/package-use.html b/target/site/apidocs/musichub/util/package-use.html
          index 9451dbe..5b04593 100644
          --- a/target/site/apidocs/musichub/util/package-use.html
          +++ b/target/site/apidocs/musichub/util/package-use.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>Uses of Package musichub.util (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/overview-summary.html b/target/site/apidocs/overview-summary.html
          index 3c19f26..4cc33e6 100644
          --- a/target/site/apidocs/overview-summary.html
          +++ b/target/site/apidocs/overview-summary.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>spoteezer 0.1.0 API</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/overview-tree.html b/target/site/apidocs/overview-tree.html
          index b80155e..cdf90ae 100644
          --- a/target/site/apidocs/overview-tree.html
          +++ b/target/site/apidocs/overview-tree.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>Class Hierarchy (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/apidocs/serialized-form.html b/target/site/apidocs/serialized-form.html
          index 913a680..4f1d9d0 100644
          --- a/target/site/apidocs/serialized-form.html
          +++ b/target/site/apidocs/serialized-form.html
          @@ -2,7 +2,7 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 12:53:29 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
           <title>Serialized Form (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          diff --git a/target/site/jacoco/index.html b/target/site/jacoco/index.html
          index c69b3a6..b69ecb5 100644
          --- a/target/site/jacoco/index.html
          +++ b/target/site/jacoco/index.html
          @@ -1 +1 @@
          -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>spoteezer</title><script type="text/javascript" src="jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="jacoco-sessions.html" class="el_session">Sessions</a></span><span class="el_report">spoteezer</span></div><h1>spoteezer</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">2 162 of 2 803</td><td class="ctr2">22 %</td><td class="bar">193 of 210</td><td class="ctr2">8 %</td><td class="ctr1">173</td><td class="ctr2">211</td><td class="ctr1">591</td><td class="ctr2">745</td><td class="ctr1">62</td><td class="ctr2">93</td><td class="ctr1">12</td><td class="ctr2">19</td></tr></tfoot><tbody><tr><td id="a0"><a href="musichub.business/index.html" class="el_package">musichub.business</a></td><td class="bar" id="b0"><img src="jacoco-resources/redbar.gif" width="90" height="10" title="1 551" alt="1 551"/><img src="jacoco-resources/greenbar.gif" width="29" height="10" title="512" alt="512"/></td><td class="ctr2" id="c1">24 %</td><td class="bar" id="d0"><img src="jacoco-resources/redbar.gif" width="107" height="10" title="152" alt="152"/><img src="jacoco-resources/greenbar.gif" width="12" height="10" title="17" alt="17"/></td><td class="ctr2" id="e0">10 %</td><td class="ctr1" id="f0">143</td><td class="ctr2" id="g0">172</td><td class="ctr1" id="h0">381</td><td class="ctr2" id="i0">499</td><td class="ctr1" id="j0">59</td><td class="ctr2" id="k0">81</td><td class="ctr1" id="l0">11</td><td class="ctr2" id="m0">15</td></tr><tr><td id="a1"><a href="musichub.main/index.html" class="el_package">musichub.main</a></td><td class="bar" id="b1"><img src="jacoco-resources/redbar.gif" width="35" height="10" title="605" alt="605"/></td><td class="ctr2" id="c2">0 %</td><td class="bar" id="d1"><img src="jacoco-resources/redbar.gif" width="29" height="10" title="41" alt="41"/></td><td class="ctr2" id="e1">0 %</td><td class="ctr1" id="f1">30</td><td class="ctr2" id="g1">30</td><td class="ctr1" id="h1">206</td><td class="ctr2" id="i1">206</td><td class="ctr1" id="j1">3</td><td class="ctr2" id="k2">3</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a2"><a href="musichub.util/index.html" class="el_package">musichub.util</a></td><td class="bar" id="b2"><img src="jacoco-resources/greenbar.gif" width="7" height="10" title="129" alt="129"/></td><td class="ctr2" id="c0">95 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">9</td><td class="ctr1" id="h2">4</td><td class="ctr2" id="i2">40</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k1">9</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m1">3</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>spoteezer</title><script type="text/javascript" src="jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="jacoco-sessions.html" class="el_session">Sessions</a></span><span class="el_report">spoteezer</span></div><h1>spoteezer</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">2 162 of 2 825</td><td class="ctr2">23 %</td><td class="bar">193 of 214</td><td class="ctr2">9 %</td><td class="ctr1">173</td><td class="ctr2">213</td><td class="ctr1">591</td><td class="ctr2">751</td><td class="ctr1">62</td><td class="ctr2">93</td><td class="ctr1">12</td><td class="ctr2">19</td></tr></tfoot><tbody><tr><td id="a0"><a href="musichub.business/index.html" class="el_package">musichub.business</a></td><td class="bar" id="b0"><img src="jacoco-resources/redbar.gif" width="90" height="10" title="1 551" alt="1 551"/><img src="jacoco-resources/greenbar.gif" width="29" height="10" title="512" alt="512"/></td><td class="ctr2" id="c1">24 %</td><td class="bar" id="d0"><img src="jacoco-resources/redbar.gif" width="107" height="10" title="152" alt="152"/><img src="jacoco-resources/greenbar.gif" width="12" height="10" title="17" alt="17"/></td><td class="ctr2" id="e1">10 %</td><td class="ctr1" id="f0">143</td><td class="ctr2" id="g0">172</td><td class="ctr1" id="h0">381</td><td class="ctr2" id="i0">499</td><td class="ctr1" id="j0">59</td><td class="ctr2" id="k0">81</td><td class="ctr1" id="l0">11</td><td class="ctr2" id="m0">15</td></tr><tr><td id="a1"><a href="musichub.main/index.html" class="el_package">musichub.main</a></td><td class="bar" id="b1"><img src="jacoco-resources/redbar.gif" width="35" height="10" title="605" alt="605"/></td><td class="ctr2" id="c2">0 %</td><td class="bar" id="d1"><img src="jacoco-resources/redbar.gif" width="29" height="10" title="41" alt="41"/></td><td class="ctr2" id="e2">0 %</td><td class="ctr1" id="f1">30</td><td class="ctr2" id="g1">30</td><td class="ctr1" id="h1">206</td><td class="ctr2" id="i1">206</td><td class="ctr1" id="j1">3</td><td class="ctr2" id="k2">3</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a2"><a href="musichub.util/index.html" class="el_package">musichub.util</a></td><td class="bar" id="b2"><img src="jacoco-resources/greenbar.gif" width="8" height="10" title="151" alt="151"/></td><td class="ctr2" id="c0">96 %</td><td class="bar" id="d2"><img src="jacoco-resources/greenbar.gif" width="2" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100 %</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">11</td><td class="ctr1" id="h2">4</td><td class="ctr2" id="i2">46</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k1">9</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m1">3</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/jacoco-sessions.html b/target/site/jacoco/jacoco-sessions.html
          index 07ff00a..9debc99 100644
          --- a/target/site/jacoco/jacoco-sessions.html
          +++ b/target/site/jacoco/jacoco-sessions.html
          @@ -1 +1 @@
          -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>Sessions</title></head><body><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="jacoco-sessions.html" class="el_session">Sessions</a></span><a href="index.html" class="el_report">spoteezer</a> &gt; <span class="el_session">Sessions</span></div><h1>Sessions</h1><p>This coverage report is based on execution data from the following sessions:</p><table class="coverage" cellspacing="0"><thead><tr><td>Session</td><td>Start Time</td><td>Dump Time</td></tr></thead><tbody><tr><td><span class="el_session">DESKTOP-M4INQND-39b23d38</span></td><td>27 juin 2021, 12:40:20</td><td>27 juin 2021, 12:40:20</td></tr></tbody></table><p>Execution data for the following classes is considered in this report:</p><table class="coverage" cellspacing="0"><thead><tr><td>Class</td><td>Id</td></tr></thead><tbody><tr><td><span class="el_class">java.sql.Date</span></td><td><code>d25610486aed3f31</code></td></tr><tr><td><span class="el_class">java.sql.Timestamp</span></td><td><code>b848522074600355</code></td></tr><tr><td><a href="musichub.business/AudioElement.html" class="el_class">musichub.business.AudioElement</a></td><td><code>776d9bc5621fe50f</code></td></tr><tr><td><a href="musichub.business/Genre.html" class="el_class">musichub.business.Genre</a></td><td><code>b2fbdfedce493822</code></td></tr><tr><td><a href="musichub.business/PlayList.html" class="el_class">musichub.business.PlayList</a></td><td><code>5513ec76de07c419</code></td></tr><tr><td><span class="el_class">musichub.business.PlayListTest</span></td><td><code>70c3a2a856fcdb5e</code></td></tr><tr><td><a href="musichub.business/Song.html" class="el_class">musichub.business.Song</a></td><td><code>44a87f7f8335b156</code></td></tr><tr><td><span class="el_class">musichub.business.SongTest</span></td><td><code>88f03b022c5c7270</code></td></tr><tr><td><a href="musichub.util/LogHandler.html" class="el_class">musichub.util.LogHandler</a></td><td><code>09990b742e8d897c</code></td></tr><tr><td><span class="el_class">musichub.util.LogHandlerTest</span></td><td><code>49f271871a8ef7bf</code></td></tr><tr><td><a href="musichub.util/PathValidation.html" class="el_class">musichub.util.PathValidation</a></td><td><code>538d6ca0ac9478ad</code></td></tr><tr><td><span class="el_class">musichub.util.PathValidationTest</span></td><td><code>46821ddd8d6598d1</code></td></tr><tr><td><a href="musichub.util/XMLHandler.html" class="el_class">musichub.util.XMLHandler</a></td><td><code>ab2fa919a374fd87</code></td></tr><tr><td><span class="el_class">musichub.util.XMLHandlerTest</span></td><td><code>4852491d32ffd349</code></td></tr><tr><td><span class="el_class">org.apache.maven.plugin.surefire.log.api.NullConsoleLogger</span></td><td><code>80d79e52a7499259</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.AbstractPathConfiguration</span></td><td><code>8182fa1396653f01</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.BaseProviderFactory</span></td><td><code>82593383b8ea92d6</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.BiProperty</span></td><td><code>4945e268841ae2cb</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.BooterDeserializer</span></td><td><code>5e68b147d2c4b22f</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ClassLoaderConfiguration</span></td><td><code>dc8fd5c18ebb0e44</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.Classpath</span></td><td><code>6f6b6469b9fdf4dd</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ClasspathConfiguration</span></td><td><code>4c7a5282c74ba3e2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.Command</span></td><td><code>eb1b53eb8cbe7b47</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.CommandReader</span></td><td><code>0c8d3ca700ec7199</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.CommandReader.1</span></td><td><code>fbfebde20e2b504c</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.CommandReader.CommandRunnable</span></td><td><code>ee59ae4d74408619</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.DumpErrorSingleton</span></td><td><code>a3fa02cb87e0e12b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter</span></td><td><code>a5c33895f0d22838</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.1</span></td><td><code>c87487d278c3ea96</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.2</span></td><td><code>31c66931520df8eb</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.3</span></td><td><code>95d48141fa4dd03d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.4</span></td><td><code>24dcd1c5bcf0d850</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.5</span></td><td><code>862846325c16cf76</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.6</span></td><td><code>b3ab24d3791d84dd</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.7</span></td><td><code>401437f62a3b16ff</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.PingScheduler</span></td><td><code>04bf02021dfc5e9c</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkingReporterFactory</span></td><td><code>076a6c0176f6238b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkingRunListener</span></td><td><code>92d4b034b32ca2c0</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.MasterProcessCommand</span></td><td><code>da65de332c2de19d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.PpidChecker</span></td><td><code>71b8c658da2ea8d3</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.PpidChecker.2</span></td><td><code>68d262a2c2ad8f14</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.PpidChecker.ProcessInfoConsumer</span></td><td><code>73f319c21fab7e7f</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ProcessInfo</span></td><td><code>b5b56cd86f3f0b31</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.PropertiesWrapper</span></td><td><code>ae4bf137cc5290c1</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ProviderConfiguration</span></td><td><code>d19986536a351b50</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.Shutdown</span></td><td><code>ee9c65017e107986</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.StartupConfiguration</span></td><td><code>a8cc10b01ed27439</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.SystemPropertyManager</span></td><td><code>f47497b1dde50d64</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.TypeEncodedValue</span></td><td><code>5ea9766678ac06a2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.cli.CommandLineOption</span></td><td><code>467fc7f51b73863b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.junitplatform.JUnitPlatformProvider</span></td><td><code>89b934b90ec6eb01</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.junitplatform.RunListenerAdapter</span></td><td><code>02cb8e87a6db2057</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.junitplatform.TestPlanScannerFilter</span></td><td><code>622558f718a42827</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.providerapi.AbstractProvider</span></td><td><code>90f3b08fe8a1c87c</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ConsoleOutputCapture</span></td><td><code>b8ae904ed8536017</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ConsoleOutputCapture.ForwardingPrintStream</span></td><td><code>f912ea5d2dac308e</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ConsoleOutputCapture.NullOutputStream</span></td><td><code>8d05eb67510fd586</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ReporterConfiguration</span></td><td><code>4281487891f02f69</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.SimpleReportEntry</span></td><td><code>ced572f24a462295</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.io.IOUtils</span></td><td><code>31aed2fcfab3e082</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.io.output.StringBuilderWriter</span></td><td><code>6d33fec8cb3374c0</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.lang3.JavaVersion</span></td><td><code>a8452005cb20bb7d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.lang3.StringUtils</span></td><td><code>4f785afa8bb3a23f</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.lang3.SystemUtils</span></td><td><code>aba69a973b7ba06a</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.lang3.math.NumberUtils</span></td><td><code>d0156407bff7b695</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.maven.shared.utils.StringUtils</span></td><td><code>483d14212b21a3ea</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.suite.RunResult</span></td><td><code>f5c7c53a954bcafa</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.DirectoryScannerParameters</span></td><td><code>2b5eeacae469cd1d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.IncludedExcludedPatterns</span></td><td><code>f39908e3b64d7090</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.ResolvedTest</span></td><td><code>a598483e424232d4</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.ResolvedTest.ClassMatcher</span></td><td><code>79be7f2fa77ad8d7</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.ResolvedTest.MethodMatcher</span></td><td><code>7c71374a51e8e61b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.ResolvedTest.Type</span></td><td><code>90e4214668937845</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.RunOrderParameters</span></td><td><code>b4c06223c3099700</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.TestArtifactInfo</span></td><td><code>f703953620e80b33</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.TestListResolver</span></td><td><code>7d372c99b98a147d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.TestRequest</span></td><td><code>0fa2c0cc34345df2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.CloseableIterator</span></td><td><code>cc15bdebae86d5d2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.DefaultRunOrderCalculator</span></td><td><code>1aeecbcd3bf6e89b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.DefaultScanResult</span></td><td><code>7fefafdf8c793c36</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.ReflectionUtils</span></td><td><code>8d5f4b05d6d77207</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.RunOrder</span></td><td><code>d2292a6beb4b6337</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.TestsToRun</span></td><td><code>a95363e4b4ba2069</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.TestsToRun.ClassesIterator</span></td><td><code>84a139c598502c0b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.DaemonThreadFactory</span></td><td><code>21a589f6dedb169c</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.DaemonThreadFactory.NamedThreadFactory</span></td><td><code>682458ca85b067a3</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.DumpFileUtils</span></td><td><code>fff19f49be3d8149</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.ImmutableMap</span></td><td><code>72bcae5e55b4fabb</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.ObjectUtils</span></td><td><code>69a2a92649b44645</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.StringUtils</span></td><td><code>3a7e4daf0a993e1e</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.StringUtils.EncodedArray</span></td><td><code>477f1d94d78cb50b</code></td></tr><tr><td><span class="el_class">org.apiguardian.api.API.Status</span></td><td><code>0341e8d99fc36573</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertEquals</span></td><td><code>12bfbbf2e4327e63</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertFalse</span></td><td><code>32fea5a28fb6a114</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertNotEquals</span></td><td><code>c7953c8abfcb95d0</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertNull</span></td><td><code>85f4114f65559fbd</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertTrue</span></td><td><code>612f68f7274dd69c</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertionUtils</span></td><td><code>da37ffd9f98016fd</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.Assertions</span></td><td><code>041279bcf2826fff</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.TestInstance.Lifecycle</span></td><td><code>0e93858cc703e9fc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ConditionEvaluationResult</span></td><td><code>2f9dc9ea54b57975</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ExtensionContext</span></td><td><code>222e1fc44c4844aa</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.DiscoveryFilterApplier</span></td><td><code>ae96a3ff3c2e2bc4</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.JupiterTestEngine</span></td><td><code>c74f725c8cb223be</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.AbstractExtensionContext</span></td><td><code>1f7ed0b87a9f2cca</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ClassExtensionContext</span></td><td><code>b85422abe06bbadd</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ClassTestDescriptor</span></td><td><code>61a635a4acc3ee31</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterEngineDescriptor</span></td><td><code>d025635c09450d0d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterEngineExtensionContext</span></td><td><code>7ae853fe3a80d83c</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterTestDescriptor</span></td><td><code>606e5ec97816bda5</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.LifecycleMethodUtils</span></td><td><code>19c9fba5accef0fa</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.MethodBasedTestDescriptor</span></td><td><code>65654838f58d8b44</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.MethodExtensionContext</span></td><td><code>c098f6d0bb344d56</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.TestInstanceLifecycleUtils</span></td><td><code>c42bb138e6a06252</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor</span></td><td><code>54eb6a19bd953962</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.AbstractMethodResolver</span></td><td><code>3934f16bf877b9f5</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.DiscoverySelectorResolver</span></td><td><code>a858789f976fefbc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.JavaElementsResolver</span></td><td><code>32e9ea682e77049d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodFinder</span></td><td><code>5ea468d2eb528361</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.NestedTestsResolver</span></td><td><code>9d92451ae793af41</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.TestContainerResolver</span></td><td><code>7db010f5e9c7301d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.TestFactoryMethodResolver</span></td><td><code>59fd27320e375440</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.TestMethodResolver</span></td><td><code>1417c6356fa4b27f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.TestTemplateMethodResolver</span></td><td><code>47563eb55cd35171</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsInnerClass</span></td><td><code>f7d9846d00228720</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsNestedTestClass</span></td><td><code>e47ff7cd33073803</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsPotentialTestContainer</span></td><td><code>0f8df015b2d5841a</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsScannableTestClass</span></td><td><code>839db992754219f6</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestClassWithTests</span></td><td><code>5ab134cc6ef3a81f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestFactoryMethod</span></td><td><code>a2c68978bd6bfbc6</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestMethod</span></td><td><code>8b244977e441886e</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestTemplateMethod</span></td><td><code>0baf1066bf0cbad7</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestableMethod</span></td><td><code>59a0b58a40803fe2</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ConditionEvaluator</span></td><td><code>fba35d945644501d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ExecutableInvoker</span></td><td><code>d64b9ef7a154ea95</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ExtensionValuesStore</span></td><td><code>2517eb7835ca6234</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext</span></td><td><code>65be276e3a954a94</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.Builder</span></td><td><code>dd69537274ccbffc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.State</span></td><td><code>38616672a2502408</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ThrowableCollector</span></td><td><code>92102b13561afdcf</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.DisabledCondition</span></td><td><code>a967493a244329fa</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.ExtensionRegistry</span></td><td><code>20b847fc63fd255b</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.RepeatedTestExtension</span></td><td><code>1b7914cc8cf83732</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TestInfoParameterResolver</span></td><td><code>1b5b370a56807cae</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TestReporterParameterResolver</span></td><td><code>839c7c31b3ec6390</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.logging.LoggerFactory</span></td><td><code>ca4e1a8773fb9bed</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.logging.LoggerFactory.DelegatingLogger</span></td><td><code>fd74fe2bb4edddd0</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.AnnotationUtils</span></td><td><code>32499b01efc144e8</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.AnnotationUtils.AnnotationCacheKey</span></td><td><code>f04082259bc4a6ab</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClassLoaderUtils</span></td><td><code>ebded5f4ecebd9d8</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClassUtils</span></td><td><code>4982a89773933a90</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClasspathScanner</span></td><td><code>8425ab535628f6b9</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.CollectionUtils</span></td><td><code>59532d0e14166bc8</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.Preconditions</span></td><td><code>f9207dc44e9d043d</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ReflectionUtils</span></td><td><code>4d39f1033ae8eb12</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ReflectionUtils.HierarchyTraversalMode</span></td><td><code>b267f8ac562d551e</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.StringUtils</span></td><td><code>3441f99393e2406b</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.CompositeFilter</span></td><td><code>d9d6482243cc9fa3</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.CompositeFilter.1</span></td><td><code>75dffc26c0811b9d</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.ExecutionRequest</span></td><td><code>ed3835cc21e5a048</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.Filter</span></td><td><code>f932423ccd3b54bf</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.FilterResult</span></td><td><code>bf731bc7f64ce694</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestDescriptor</span></td><td><code>e9574ca206cded64</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestDescriptor.Type</span></td><td><code>eb97fc5a29f3ee3a</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestExecutionResult</span></td><td><code>abbab174d32db912</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestExecutionResult.Status</span></td><td><code>da0473a55d05e891</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueId</span></td><td><code>d23a178963e86ca7</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueId.Segment</span></td><td><code>54a2765f04c8cab7</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueIdFormat</span></td><td><code>c860ade4b928ce32</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.ClassSelector</span></td><td><code>228aa96d72021db2</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.DiscoverySelectors</span></td><td><code>8fefc6f1651cc3bd</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.AbstractTestDescriptor</span></td><td><code>2bfbf25c43491443</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.ClassSource</span></td><td><code>9727c5551a632c40</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.EngineDescriptor</span></td><td><code>b7dbf6dfb794516c</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.MethodSource</span></td><td><code>0a1b0f0f95f17b77</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.filter.ClasspathScanningSupport</span></td><td><code>8223a02c2b9d8c89</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.ExecutionTracker</span></td><td><code>cbd37bfd76595d62</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine</span></td><td><code>410766a2a07e44b1</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor</span></td><td><code>7b43a475463d740e</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.1</span></td><td><code>197b854565198af0</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.Node</span></td><td><code>8a5379bd364a5bf6</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.Node.SkipResult</span></td><td><code>d4551dfb7a813206</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.SingleTestExecutor</span></td><td><code>d75bd01628eef7be</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.TestIdentifier</span></td><td><code>225bb434f8f223e2</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.TestPlan</span></td><td><code>9a2b71b572924cbc</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultDiscoveryRequest</span></td><td><code>7dda3ad9a0e6a666</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncher</span></td><td><code>1a1f88af87dc6ec1</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ExecutionListenerAdapter</span></td><td><code>52cf3c3c69d4dfba</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters</span></td><td><code>ef55cacb5e47a902</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherDiscoveryRequestBuilder</span></td><td><code>e78a71b91c159e69</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherFactory</span></td><td><code>e2bd67b8a72737b5</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.Root</span></td><td><code>32394ca895f9fb9a</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ServiceLoaderTestEngineRegistry</span></td><td><code>7c054c4cf76cb0f6</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ServiceLoaderTestExecutionListenerRegistry</span></td><td><code>2299bac1075a6bf3</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.TestExecutionListenerRegistry</span></td><td><code>190f4fb2b0ab865d</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.TestExecutionListenerRegistry.CompositeTestExecutionListener</span></td><td><code>7538d2d860e1f9cb</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.LegacyReportingUtils</span></td><td><code>f3c021e100a54063</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.AbstractCharsetProvider</span></td><td><code>9a72c9e39fdac365</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.Big5</span></td><td><code>7f7799a4239d3d01</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.EUC_CN</span></td><td><code>daed57327edf3023</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.EUC_JP</span></td><td><code>f0c718c92ac0cabc</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.EUC_KR</span></td><td><code>3d50c0e84dcd54e6</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.EUC_TW</span></td><td><code>4fbeba8ab3b0661e</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.ExtendedCharsets</span></td><td><code>7715d4380ab405a8</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM037</span></td><td><code>b9b8c9ec2e056149</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM1047</span></td><td><code>e368b4c70681ed2e</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM277</span></td><td><code>7b5b55809ca60de9</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM278</span></td><td><code>326393dad6851723</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM280</span></td><td><code>9d9334ffd18e4e40</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM284</span></td><td><code>01c4a83f23f1b53d</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM285</span></td><td><code>be059d13431c468f</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM297</span></td><td><code>09fd5ed2f7ce33cb</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM420</span></td><td><code>dfa9e617bd0f689b</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM424</span></td><td><code>edd26be1d2ed5a00</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM500</span></td><td><code>58b3c90789d546a5</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM860</span></td><td><code>4bc938afb837212f</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM870</span></td><td><code>ad9dcff6cd8f8661</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM871</span></td><td><code>ef144f207fc359f5</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM918</span></td><td><code>a83d0db73f26c654</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.ISO2022</span></td><td><code>92bf931cea04ba69</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.ISO2022_JP</span></td><td><code>4839eaacbb85c150</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.ISO2022_KR</span></td><td><code>e2e5b9cbb3d44823</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.ISO_8859_11</span></td><td><code>cb3ce4182f6717e0</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.ISO_8859_3</span></td><td><code>550e89cba9076937</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.ISO_8859_6</span></td><td><code>7e467e744bd3ad13</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.ISO_8859_8</span></td><td><code>bb93af1e031c8697</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.MacRoman</span></td><td><code>7007321b9dd9c10d</code></td></tr><tr><td><span class="el_class">sun.text.resources.cldr.ext.FormatData_fr</span></td><td><code>cfe4ef8ff7428512</code></td></tr><tr><td><span class="el_class">sun.util.resources.cldr.provider.CLDRLocaleDataMetaInfo</span></td><td><code>888d0e6a76acb845</code></td></tr><tr><td><span class="el_class">sun.util.resources.provider.LocaleDataProvider</span></td><td><code>36ca29d59ab35e5c</code></td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>Sessions</title></head><body><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="jacoco-sessions.html" class="el_session">Sessions</a></span><a href="index.html" class="el_report">spoteezer</a> &gt; <span class="el_session">Sessions</span></div><h1>Sessions</h1><p>This coverage report is based on execution data from the following sessions:</p><table class="coverage" cellspacing="0"><thead><tr><td>Session</td><td>Start Time</td><td>Dump Time</td></tr></thead><tbody><tr><td><span class="el_session">DESKTOP-M4INQND-91a7872b</span></td><td>27 juin 2021, 13:23:39</td><td>27 juin 2021, 13:23:40</td></tr></tbody></table><p>Execution data for the following classes is considered in this report:</p><table class="coverage" cellspacing="0"><thead><tr><td>Class</td><td>Id</td></tr></thead><tbody><tr><td><span class="el_class">java.sql.Date</span></td><td><code>d25610486aed3f31</code></td></tr><tr><td><span class="el_class">java.sql.Timestamp</span></td><td><code>b848522074600355</code></td></tr><tr><td><a href="musichub.business/AudioElement.html" class="el_class">musichub.business.AudioElement</a></td><td><code>776d9bc5621fe50f</code></td></tr><tr><td><a href="musichub.business/Genre.html" class="el_class">musichub.business.Genre</a></td><td><code>b2fbdfedce493822</code></td></tr><tr><td><a href="musichub.business/PlayList.html" class="el_class">musichub.business.PlayList</a></td><td><code>5513ec76de07c419</code></td></tr><tr><td><span class="el_class">musichub.business.PlayListTest</span></td><td><code>7e7a002919fb95e1</code></td></tr><tr><td><a href="musichub.business/Song.html" class="el_class">musichub.business.Song</a></td><td><code>44a87f7f8335b156</code></td></tr><tr><td><span class="el_class">musichub.business.SongTest</span></td><td><code>88f03b022c5c7270</code></td></tr><tr><td><a href="musichub.util/LogHandler.html" class="el_class">musichub.util.LogHandler</a></td><td><code>09990b742e8d897c</code></td></tr><tr><td><span class="el_class">musichub.util.LogHandlerTest</span></td><td><code>49f271871a8ef7bf</code></td></tr><tr><td><a href="musichub.util/PathValidation.html" class="el_class">musichub.util.PathValidation</a></td><td><code>170ad3c706c07f6b</code></td></tr><tr><td><span class="el_class">musichub.util.PathValidationTest</span></td><td><code>9eabcd97683d6e01</code></td></tr><tr><td><a href="musichub.util/XMLHandler.html" class="el_class">musichub.util.XMLHandler</a></td><td><code>ab2fa919a374fd87</code></td></tr><tr><td><span class="el_class">musichub.util.XMLHandlerTest</span></td><td><code>4852491d32ffd349</code></td></tr><tr><td><span class="el_class">org.apache.maven.plugin.surefire.log.api.NullConsoleLogger</span></td><td><code>80d79e52a7499259</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.AbstractPathConfiguration</span></td><td><code>8182fa1396653f01</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.BaseProviderFactory</span></td><td><code>82593383b8ea92d6</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.BiProperty</span></td><td><code>4945e268841ae2cb</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.BooterDeserializer</span></td><td><code>5e68b147d2c4b22f</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ClassLoaderConfiguration</span></td><td><code>dc8fd5c18ebb0e44</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.Classpath</span></td><td><code>6f6b6469b9fdf4dd</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ClasspathConfiguration</span></td><td><code>4c7a5282c74ba3e2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.Command</span></td><td><code>eb1b53eb8cbe7b47</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.CommandReader</span></td><td><code>0c8d3ca700ec7199</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.CommandReader.1</span></td><td><code>fbfebde20e2b504c</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.CommandReader.CommandRunnable</span></td><td><code>ee59ae4d74408619</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.DumpErrorSingleton</span></td><td><code>a3fa02cb87e0e12b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter</span></td><td><code>a5c33895f0d22838</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.1</span></td><td><code>c87487d278c3ea96</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.2</span></td><td><code>31c66931520df8eb</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.3</span></td><td><code>95d48141fa4dd03d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.4</span></td><td><code>24dcd1c5bcf0d850</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.5</span></td><td><code>862846325c16cf76</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.6</span></td><td><code>b3ab24d3791d84dd</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.7</span></td><td><code>401437f62a3b16ff</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.PingScheduler</span></td><td><code>04bf02021dfc5e9c</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkingReporterFactory</span></td><td><code>076a6c0176f6238b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkingRunListener</span></td><td><code>92d4b034b32ca2c0</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.MasterProcessCommand</span></td><td><code>da65de332c2de19d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.PpidChecker</span></td><td><code>71b8c658da2ea8d3</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.PpidChecker.2</span></td><td><code>68d262a2c2ad8f14</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.PpidChecker.ProcessInfoConsumer</span></td><td><code>73f319c21fab7e7f</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ProcessInfo</span></td><td><code>b5b56cd86f3f0b31</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.PropertiesWrapper</span></td><td><code>ae4bf137cc5290c1</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ProviderConfiguration</span></td><td><code>d19986536a351b50</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.Shutdown</span></td><td><code>ee9c65017e107986</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.StartupConfiguration</span></td><td><code>a8cc10b01ed27439</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.SystemPropertyManager</span></td><td><code>f47497b1dde50d64</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.TypeEncodedValue</span></td><td><code>5ea9766678ac06a2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.cli.CommandLineOption</span></td><td><code>467fc7f51b73863b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.junitplatform.JUnitPlatformProvider</span></td><td><code>89b934b90ec6eb01</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.junitplatform.RunListenerAdapter</span></td><td><code>02cb8e87a6db2057</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.junitplatform.TestPlanScannerFilter</span></td><td><code>622558f718a42827</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.providerapi.AbstractProvider</span></td><td><code>90f3b08fe8a1c87c</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ConsoleOutputCapture</span></td><td><code>b8ae904ed8536017</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ConsoleOutputCapture.ForwardingPrintStream</span></td><td><code>f912ea5d2dac308e</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ConsoleOutputCapture.NullOutputStream</span></td><td><code>8d05eb67510fd586</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ReporterConfiguration</span></td><td><code>4281487891f02f69</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.SimpleReportEntry</span></td><td><code>ced572f24a462295</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.io.IOUtils</span></td><td><code>31aed2fcfab3e082</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.io.output.StringBuilderWriter</span></td><td><code>6d33fec8cb3374c0</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.lang3.JavaVersion</span></td><td><code>a8452005cb20bb7d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.lang3.StringUtils</span></td><td><code>4f785afa8bb3a23f</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.lang3.SystemUtils</span></td><td><code>aba69a973b7ba06a</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.lang3.math.NumberUtils</span></td><td><code>d0156407bff7b695</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.maven.shared.utils.StringUtils</span></td><td><code>483d14212b21a3ea</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.suite.RunResult</span></td><td><code>f5c7c53a954bcafa</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.DirectoryScannerParameters</span></td><td><code>2b5eeacae469cd1d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.IncludedExcludedPatterns</span></td><td><code>f39908e3b64d7090</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.ResolvedTest</span></td><td><code>a598483e424232d4</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.ResolvedTest.ClassMatcher</span></td><td><code>79be7f2fa77ad8d7</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.ResolvedTest.MethodMatcher</span></td><td><code>7c71374a51e8e61b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.ResolvedTest.Type</span></td><td><code>90e4214668937845</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.RunOrderParameters</span></td><td><code>b4c06223c3099700</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.TestArtifactInfo</span></td><td><code>f703953620e80b33</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.TestListResolver</span></td><td><code>7d372c99b98a147d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.TestRequest</span></td><td><code>0fa2c0cc34345df2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.CloseableIterator</span></td><td><code>cc15bdebae86d5d2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.DefaultRunOrderCalculator</span></td><td><code>1aeecbcd3bf6e89b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.DefaultScanResult</span></td><td><code>7fefafdf8c793c36</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.ReflectionUtils</span></td><td><code>8d5f4b05d6d77207</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.RunOrder</span></td><td><code>d2292a6beb4b6337</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.TestsToRun</span></td><td><code>a95363e4b4ba2069</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.TestsToRun.ClassesIterator</span></td><td><code>84a139c598502c0b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.DaemonThreadFactory</span></td><td><code>21a589f6dedb169c</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.DaemonThreadFactory.NamedThreadFactory</span></td><td><code>682458ca85b067a3</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.DumpFileUtils</span></td><td><code>fff19f49be3d8149</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.ImmutableMap</span></td><td><code>72bcae5e55b4fabb</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.ObjectUtils</span></td><td><code>69a2a92649b44645</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.StringUtils</span></td><td><code>3a7e4daf0a993e1e</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.StringUtils.EncodedArray</span></td><td><code>477f1d94d78cb50b</code></td></tr><tr><td><span class="el_class">org.apiguardian.api.API.Status</span></td><td><code>0341e8d99fc36573</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertEquals</span></td><td><code>12bfbbf2e4327e63</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertFalse</span></td><td><code>32fea5a28fb6a114</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertNotEquals</span></td><td><code>c7953c8abfcb95d0</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertNull</span></td><td><code>85f4114f65559fbd</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertTrue</span></td><td><code>612f68f7274dd69c</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertionUtils</span></td><td><code>da37ffd9f98016fd</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.Assertions</span></td><td><code>041279bcf2826fff</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.TestInstance.Lifecycle</span></td><td><code>0e93858cc703e9fc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ConditionEvaluationResult</span></td><td><code>2f9dc9ea54b57975</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ExtensionContext</span></td><td><code>222e1fc44c4844aa</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.DiscoveryFilterApplier</span></td><td><code>ae96a3ff3c2e2bc4</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.JupiterTestEngine</span></td><td><code>c74f725c8cb223be</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.AbstractExtensionContext</span></td><td><code>1f7ed0b87a9f2cca</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ClassExtensionContext</span></td><td><code>b85422abe06bbadd</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ClassTestDescriptor</span></td><td><code>61a635a4acc3ee31</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterEngineDescriptor</span></td><td><code>d025635c09450d0d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterEngineExtensionContext</span></td><td><code>7ae853fe3a80d83c</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterTestDescriptor</span></td><td><code>606e5ec97816bda5</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.LifecycleMethodUtils</span></td><td><code>19c9fba5accef0fa</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.MethodBasedTestDescriptor</span></td><td><code>65654838f58d8b44</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.MethodExtensionContext</span></td><td><code>c098f6d0bb344d56</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.TestInstanceLifecycleUtils</span></td><td><code>c42bb138e6a06252</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor</span></td><td><code>54eb6a19bd953962</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.AbstractMethodResolver</span></td><td><code>3934f16bf877b9f5</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.DiscoverySelectorResolver</span></td><td><code>a858789f976fefbc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.JavaElementsResolver</span></td><td><code>32e9ea682e77049d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodFinder</span></td><td><code>5ea468d2eb528361</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.NestedTestsResolver</span></td><td><code>9d92451ae793af41</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.TestContainerResolver</span></td><td><code>7db010f5e9c7301d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.TestFactoryMethodResolver</span></td><td><code>59fd27320e375440</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.TestMethodResolver</span></td><td><code>1417c6356fa4b27f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.TestTemplateMethodResolver</span></td><td><code>47563eb55cd35171</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsInnerClass</span></td><td><code>f7d9846d00228720</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsNestedTestClass</span></td><td><code>e47ff7cd33073803</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsPotentialTestContainer</span></td><td><code>0f8df015b2d5841a</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsScannableTestClass</span></td><td><code>839db992754219f6</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestClassWithTests</span></td><td><code>5ab134cc6ef3a81f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestFactoryMethod</span></td><td><code>a2c68978bd6bfbc6</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestMethod</span></td><td><code>8b244977e441886e</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestTemplateMethod</span></td><td><code>0baf1066bf0cbad7</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestableMethod</span></td><td><code>59a0b58a40803fe2</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ConditionEvaluator</span></td><td><code>fba35d945644501d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ExecutableInvoker</span></td><td><code>d64b9ef7a154ea95</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ExtensionValuesStore</span></td><td><code>2517eb7835ca6234</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext</span></td><td><code>65be276e3a954a94</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.Builder</span></td><td><code>dd69537274ccbffc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.State</span></td><td><code>38616672a2502408</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ThrowableCollector</span></td><td><code>92102b13561afdcf</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.DisabledCondition</span></td><td><code>a967493a244329fa</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.ExtensionRegistry</span></td><td><code>20b847fc63fd255b</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.RepeatedTestExtension</span></td><td><code>1b7914cc8cf83732</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TestInfoParameterResolver</span></td><td><code>1b5b370a56807cae</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TestReporterParameterResolver</span></td><td><code>839c7c31b3ec6390</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.logging.LoggerFactory</span></td><td><code>ca4e1a8773fb9bed</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.logging.LoggerFactory.DelegatingLogger</span></td><td><code>fd74fe2bb4edddd0</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.AnnotationUtils</span></td><td><code>32499b01efc144e8</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.AnnotationUtils.AnnotationCacheKey</span></td><td><code>f04082259bc4a6ab</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClassLoaderUtils</span></td><td><code>ebded5f4ecebd9d8</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClassUtils</span></td><td><code>4982a89773933a90</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClasspathScanner</span></td><td><code>8425ab535628f6b9</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.CollectionUtils</span></td><td><code>59532d0e14166bc8</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.Preconditions</span></td><td><code>f9207dc44e9d043d</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ReflectionUtils</span></td><td><code>4d39f1033ae8eb12</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ReflectionUtils.HierarchyTraversalMode</span></td><td><code>b267f8ac562d551e</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.StringUtils</span></td><td><code>3441f99393e2406b</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.CompositeFilter</span></td><td><code>d9d6482243cc9fa3</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.CompositeFilter.1</span></td><td><code>75dffc26c0811b9d</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.ExecutionRequest</span></td><td><code>ed3835cc21e5a048</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.Filter</span></td><td><code>f932423ccd3b54bf</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.FilterResult</span></td><td><code>bf731bc7f64ce694</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestDescriptor</span></td><td><code>e9574ca206cded64</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestDescriptor.Type</span></td><td><code>eb97fc5a29f3ee3a</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestExecutionResult</span></td><td><code>abbab174d32db912</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestExecutionResult.Status</span></td><td><code>da0473a55d05e891</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueId</span></td><td><code>d23a178963e86ca7</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueId.Segment</span></td><td><code>54a2765f04c8cab7</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueIdFormat</span></td><td><code>c860ade4b928ce32</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.ClassSelector</span></td><td><code>228aa96d72021db2</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.DiscoverySelectors</span></td><td><code>8fefc6f1651cc3bd</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.AbstractTestDescriptor</span></td><td><code>2bfbf25c43491443</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.ClassSource</span></td><td><code>9727c5551a632c40</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.EngineDescriptor</span></td><td><code>b7dbf6dfb794516c</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.MethodSource</span></td><td><code>0a1b0f0f95f17b77</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.filter.ClasspathScanningSupport</span></td><td><code>8223a02c2b9d8c89</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.ExecutionTracker</span></td><td><code>cbd37bfd76595d62</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine</span></td><td><code>410766a2a07e44b1</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor</span></td><td><code>7b43a475463d740e</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.1</span></td><td><code>197b854565198af0</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.Node</span></td><td><code>8a5379bd364a5bf6</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.Node.SkipResult</span></td><td><code>d4551dfb7a813206</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.SingleTestExecutor</span></td><td><code>d75bd01628eef7be</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.TestIdentifier</span></td><td><code>225bb434f8f223e2</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.TestPlan</span></td><td><code>9a2b71b572924cbc</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultDiscoveryRequest</span></td><td><code>7dda3ad9a0e6a666</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncher</span></td><td><code>1a1f88af87dc6ec1</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ExecutionListenerAdapter</span></td><td><code>52cf3c3c69d4dfba</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters</span></td><td><code>ef55cacb5e47a902</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherDiscoveryRequestBuilder</span></td><td><code>e78a71b91c159e69</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherFactory</span></td><td><code>e2bd67b8a72737b5</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.Root</span></td><td><code>32394ca895f9fb9a</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ServiceLoaderTestEngineRegistry</span></td><td><code>7c054c4cf76cb0f6</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ServiceLoaderTestExecutionListenerRegistry</span></td><td><code>2299bac1075a6bf3</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.TestExecutionListenerRegistry</span></td><td><code>190f4fb2b0ab865d</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.TestExecutionListenerRegistry.CompositeTestExecutionListener</span></td><td><code>7538d2d860e1f9cb</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.LegacyReportingUtils</span></td><td><code>f3c021e100a54063</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.AbstractCharsetProvider</span></td><td><code>9a72c9e39fdac365</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.Big5</span></td><td><code>7f7799a4239d3d01</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.EUC_CN</span></td><td><code>daed57327edf3023</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.EUC_JP</span></td><td><code>f0c718c92ac0cabc</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.EUC_KR</span></td><td><code>3d50c0e84dcd54e6</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.EUC_TW</span></td><td><code>4fbeba8ab3b0661e</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.ExtendedCharsets</span></td><td><code>7715d4380ab405a8</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM037</span></td><td><code>b9b8c9ec2e056149</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM1047</span></td><td><code>e368b4c70681ed2e</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM277</span></td><td><code>7b5b55809ca60de9</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM278</span></td><td><code>326393dad6851723</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM280</span></td><td><code>9d9334ffd18e4e40</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM284</span></td><td><code>01c4a83f23f1b53d</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM285</span></td><td><code>be059d13431c468f</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM297</span></td><td><code>09fd5ed2f7ce33cb</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM420</span></td><td><code>dfa9e617bd0f689b</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM424</span></td><td><code>edd26be1d2ed5a00</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM500</span></td><td><code>58b3c90789d546a5</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM860</span></td><td><code>4bc938afb837212f</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM870</span></td><td><code>ad9dcff6cd8f8661</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM871</span></td><td><code>ef144f207fc359f5</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM918</span></td><td><code>a83d0db73f26c654</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.ISO2022</span></td><td><code>92bf931cea04ba69</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.ISO2022_JP</span></td><td><code>4839eaacbb85c150</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.ISO2022_KR</span></td><td><code>e2e5b9cbb3d44823</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.ISO_8859_11</span></td><td><code>cb3ce4182f6717e0</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.ISO_8859_3</span></td><td><code>550e89cba9076937</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.ISO_8859_6</span></td><td><code>7e467e744bd3ad13</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.ISO_8859_8</span></td><td><code>bb93af1e031c8697</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.MacRoman</span></td><td><code>7007321b9dd9c10d</code></td></tr><tr><td><span class="el_class">sun.text.resources.cldr.ext.FormatData_fr</span></td><td><code>cfe4ef8ff7428512</code></td></tr><tr><td><span class="el_class">sun.util.resources.cldr.provider.CLDRLocaleDataMetaInfo</span></td><td><code>888d0e6a76acb845</code></td></tr><tr><td><span class="el_class">sun.util.resources.provider.LocaleDataProvider</span></td><td><code>36ca29d59ab35e5c</code></td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/jacoco.csv b/target/site/jacoco/jacoco.csv
          index 74dcec9..558423a 100644
          --- a/target/site/jacoco/jacoco.csv
          +++ b/target/site/jacoco/jacoco.csv
          @@ -1,5 +1,5 @@
           GROUP,PACKAGE,CLASS,INSTRUCTION_MISSED,INSTRUCTION_COVERED,BRANCH_MISSED,BRANCH_COVERED,LINE_MISSED,LINE_COVERED,COMPLEXITY_MISSED,COMPLEXITY_COVERED,METHOD_MISSED,METHOD_COVERED
          -spoteezer,musichub.util,PathValidation,0,17,0,0,0,4,0,2,0,2
          +spoteezer,musichub.util,PathValidation,0,39,0,4,0,10,0,4,0,2
           spoteezer,musichub.util,LogHandler,0,46,0,0,0,11,0,3,0,3
           spoteezer,musichub.util,XMLHandler,6,66,0,0,4,21,0,4,0,4
           spoteezer,musichub.business,Album,330,0,14,0,84,0,16,0,9,0
          diff --git a/target/site/jacoco/jacoco.xml b/target/site/jacoco/jacoco.xml
          index e842251..1118bc5 100644
          --- a/target/site/jacoco/jacoco.xml
          +++ b/target/site/jacoco/jacoco.xml
          @@ -1 +1 @@
          -<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!DOCTYPE report PUBLIC "-//JACOCO//DTD Report 1.1//EN" "report.dtd"><report name="spoteezer"><sessioninfo id="DESKTOP-M4INQND-39b23d38" start="1624790420131" dump="1624790420751"/><package name="musichub/util"><class name="musichub/util/PathValidation" sourcefilename="PathValidation.java"><method name="&lt;init&gt;" desc="()V" line="23"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isPathValid" desc="(Ljava/lang/String;)Z" line="35"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="musichub/util/LogHandler" sourcefilename="LogHandler.java"><method name="&lt;init&gt;" desc="()V" line="25"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="write" desc="(Ljava/lang/String;Ljava/lang/String;)V" line="38"><counter type="INSTRUCTION" missed="0" covered="26"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="read" desc="()V" line="58"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="46"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="musichub/util/XMLHandler" sourcefilename="XMLHandler.java"><method name="&lt;init&gt;" desc="()V" line="26"><counter type="INSTRUCTION" missed="3" covered="20"/><counter type="LINE" missed="2" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createXMLFile" desc="(Lorg/w3c/dom/Document;Ljava/lang/String;)V" line="41"><counter type="INSTRUCTION" missed="3" covered="20"/><counter type="LINE" missed="2" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createXMLDocument" desc="()Lorg/w3c/dom/Document;" line="57"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="parseXMLFile" desc="(Ljava/lang/String;)Lorg/w3c/dom/NodeList;" line="61"><counter type="INSTRUCTION" missed="0" covered="22"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="6" covered="66"/><counter type="LINE" missed="4" covered="21"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="PathValidation.java"><line nr="23" mi="0" ci="2" mb="0" cb="0"/><line nr="24" mi="0" ci="5" mb="0" cb="0"/><line nr="35" mi="0" ci="5" mb="0" cb="0"/><line nr="36" mi="0" ci="5" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="LogHandler.java"><line nr="25" mi="0" ci="2" mb="0" cb="0"/><line nr="26" mi="0" ci="5" mb="0" cb="0"/><line nr="38" mi="0" ci="5" mb="0" cb="0"/><line nr="41" mi="0" ci="5" mb="0" cb="0"/><line nr="44" mi="0" ci="5" mb="0" cb="0"/><line nr="47" mi="0" ci="10" mb="0" cb="0"/><line nr="50" mi="0" ci="1" mb="0" cb="0"/><line nr="58" mi="0" ci="5" mb="0" cb="0"/><line nr="61" mi="0" ci="3" mb="0" cb="0"/><line nr="64" mi="0" ci="4" mb="0" cb="0"/><line nr="66" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="46"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="XMLHandler.java"><line nr="26" mi="0" ci="2" mb="0" cb="0"/><line nr="28" mi="0" ci="3" mb="0" cb="0"/><line nr="29" mi="0" ci="5" mb="0" cb="0"/><line nr="30" mi="0" ci="3" mb="0" cb="0"/><line nr="31" mi="0" ci="5" mb="0" cb="0"/><line nr="32" mi="1" ci="0" mb="0" cb="0"/><line nr="33" mi="2" ci="0" mb="0" cb="0"/><line nr="34" mi="0" ci="1" mb="0" cb="0"/><line nr="35" mi="0" ci="1" mb="0" cb="0"/><line nr="41" mi="0" ci="5" mb="0" cb="0"/><line nr="42" mi="0" ci="8" mb="0" cb="0"/><line nr="49" mi="0" ci="5" mb="0" cb="0"/><line nr="51" mi="1" ci="0" mb="0" cb="0"/><line nr="52" mi="2" ci="0" mb="0" cb="0"/><line nr="53" mi="0" ci="1" mb="0" cb="0"/><line nr="54" mi="0" ci="1" mb="0" cb="0"/><line nr="57" mi="0" ci="4" mb="0" cb="0"/><line nr="61" mi="0" ci="2" mb="0" cb="0"/><line nr="63" mi="0" ci="8" mb="0" cb="0"/><line nr="64" mi="0" ci="3" mb="0" cb="0"/><line nr="66" mi="0" ci="3" mb="0" cb="0"/><line nr="67" mi="0" ci="1" mb="0" cb="0"/><line nr="68" mi="0" ci="2" mb="0" cb="0"/><line nr="69" mi="0" ci="1" mb="0" cb="0"/><line nr="70" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="6" covered="66"/><counter type="LINE" missed="4" covered="21"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="6" covered="129"/><counter type="LINE" missed="4" covered="36"/><counter type="COMPLEXITY" missed="0" covered="9"/><counter type="METHOD" missed="0" covered="9"/><counter type="CLASS" missed="0" covered="3"/></package><package name="musichub/business"><class name="musichub/business/Album" sourcefilename="Album.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/util/ArrayList;)V" line="21"><counter type="INSTRUCTION" missed="33" covered="0"/><counter type="LINE" missed="12" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V" line="35"><counter type="INSTRUCTION" missed="34" covered="0"/><counter type="LINE" missed="12" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Lorg/w3c/dom/Element;)V" line="49"><counter type="INSTRUCTION" missed="112" covered="0"/><counter type="BRANCH" missed="12" covered="0"/><counter type="LINE" missed="26" covered="0"/><counter type="COMPLEXITY" missed="7" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addSong" desc="(Ljava/util/UUID;)V" line="89"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getSongs" desc="()Ljava/util/List;" line="94"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getSongsRandomly" desc="()Ljava/util/ArrayList;" line="98"><counter type="INSTRUCTION" missed="7" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getTitle" desc="()Ljava/lang/String;" line="104"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getDate" desc="()Ljava/util/Date;" line="108"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createXMLElement" desc="(Lorg/w3c/dom/Document;Lorg/w3c/dom/Element;)V" line="112"><counter type="INSTRUCTION" missed="129" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="26" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="330" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="84" covered="0"/><counter type="COMPLEXITY" missed="16" covered="0"/><counter type="METHOD" missed="9" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/SortByAuthor" sourcefilename="MusicHub.java"><method name="&lt;init&gt;" desc="()V" line="27"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="compare" desc="(Lmusichub/business/AudioElement;Lmusichub/business/AudioElement;)I" line="29"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="9" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/NoAlbumFoundException" sourcefilename="NoAlbumFoundException.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="6"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/Language" sourcefilename="Language.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;ILjava/lang/String;)V" line="7"><counter type="INSTRUCTION" missed="8" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getLanguage" desc="()Ljava/lang/String;" line="12"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="3"><counter type="INSTRUCTION" missed="38" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="49" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/SortByDate" sourcefilename="MusicHub.java"><method name="&lt;init&gt;" desc="()V" line="15"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="compare" desc="(Lmusichub/business/Album;Lmusichub/business/Album;)I" line="17"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="9" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/MusicHub" sourcefilename="MusicHub.java"><method name="&lt;init&gt;" desc="()V" line="41"><counter type="INSTRUCTION" missed="29" covered="0"/><counter type="LINE" missed="9" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addElement" desc="(Lmusichub/business/AudioElement;)V" line="53"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addAlbum" desc="(Lmusichub/business/Album;)V" line="57"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addPlaylist" desc="(Lmusichub/business/PlayList;)V" line="61"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="deletePlayList" desc="(Ljava/lang/String;)V" line="66"><counter type="INSTRUCTION" missed="40" covered="0"/><counter type="BRANCH" missed="8" covered="0"/><counter type="LINE" missed="11" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="albums" desc="()Ljava/util/Iterator;" line="81"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="playlists" desc="()Ljava/util/Iterator;" line="85"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="elements" desc="()Ljava/util/Iterator;" line="89"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAlbumsTitlesSortedByDate" desc="()Ljava/lang/String;" line="93"><counter type="INSTRUCTION" missed="32" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAudiobooksTitlesSortedByAuthor" desc="()Ljava/lang/String;" line="101"><counter type="INSTRUCTION" missed="53" covered="0"/><counter type="BRANCH" missed="6" covered="0"/><counter type="LINE" missed="9" covered="0"/><counter type="COMPLEXITY" missed="4" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAlbumSongs" desc="(Ljava/lang/String;)Ljava/util/List;" line="113"><counter type="INSTRUCTION" missed="73" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="15" covered="0"/><counter type="COMPLEXITY" missed="8" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAlbumSongsSortedByGenre" desc="(Ljava/lang/String;)Ljava/util/List;" line="135"><counter type="INSTRUCTION" missed="79" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="16" covered="0"/><counter type="COMPLEXITY" missed="8" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addElementToAlbum" desc="(Ljava/lang/String;Ljava/lang/String;)V" line="158"><counter type="INSTRUCTION" missed="82" covered="0"/><counter type="BRANCH" missed="12" covered="0"/><counter type="LINE" missed="20" covered="0"/><counter type="COMPLEXITY" missed="7" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addElementToPlayList" desc="(Ljava/lang/String;Ljava/lang/String;)V" line="187"><counter type="INSTRUCTION" missed="82" covered="0"/><counter type="BRANCH" missed="12" covered="0"/><counter type="LINE" missed="20" covered="0"/><counter type="COMPLEXITY" missed="7" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="loadAlbums" desc="()V" line="218"><counter type="INSTRUCTION" missed="44" covered="0"/><counter type="BRANCH" missed="8" covered="0"/><counter type="LINE" missed="11" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="loadPlaylists" desc="()V" line="236"><counter type="INSTRUCTION" missed="44" covered="0"/><counter type="BRANCH" missed="8" covered="0"/><counter type="LINE" missed="11" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="loadElements" desc="()V" line="254"><counter type="INSTRUCTION" missed="64" covered="0"/><counter type="BRANCH" missed="10" covered="0"/><counter type="LINE" missed="18" covered="0"/><counter type="COMPLEXITY" missed="6" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="saveAlbums" desc="()V" line="282"><counter type="INSTRUCTION" missed="36" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="10" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="savePlayLists" desc="()V" line="298"><counter type="INSTRUCTION" missed="36" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="10" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="saveElements" desc="()V" line="314"><counter type="INSTRUCTION" missed="47" covered="0"/><counter type="BRANCH" missed="8" covered="0"/><counter type="LINE" missed="12" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAudioElement" desc="(Ljava/util/List;Ljava/lang/String;)V" line="335"><counter type="INSTRUCTION" missed="19" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="34"><counter type="INSTRUCTION" missed="13" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="803" covered="0"/><counter type="BRANCH" missed="114" covered="0"/><counter type="LINE" missed="195" covered="0"/><counter type="COMPLEXITY" missed="79" covered="0"/><counter type="METHOD" missed="22" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/Category" sourcefilename="Category.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;ILjava/lang/String;)V" line="7"><counter type="INSTRUCTION" missed="8" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getCategory" desc="()Ljava/lang/String;" line="12"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="3"><counter type="INSTRUCTION" missed="38" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="49" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/Song" sourcefilename="Song.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" line="11"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V" line="16"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lorg/w3c/dom/Element;)V" line="21"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getGenre" desc="()Ljava/lang/String;" line="26"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setGenre" desc="(Ljava/lang/String;)V" line="30"><counter type="INSTRUCTION" missed="0" covered="33"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="1"/></method><method name="toString" desc="()Ljava/lang/String;" line="41"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createXMLElement" desc="(Lorg/w3c/dom/Document;Lorg/w3c/dom/Element;)V" line="46"><counter type="INSTRUCTION" missed="0" covered="29"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="105"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="26"/><counter type="COMPLEXITY" missed="0" covered="12"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></class><class name="musichub/business/NoPlayListFoundException" sourcefilename="NoPlayListFoundException.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="6"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/PlayList" sourcefilename="PlayList.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/util/ArrayList;)V" line="16"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="22"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lorg/w3c/dom/Element;)V" line="28"><counter type="INSTRUCTION" missed="12" covered="76"/><counter type="BRANCH" missed="4" covered="8"/><counter type="LINE" missed="5" covered="18"/><counter type="COMPLEXITY" missed="4" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="addElement" desc="(Ljava/util/UUID;)V" line="66"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getElements" desc="()Ljava/util/ArrayList;" line="70"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getTitle" desc="()Ljava/lang/String;" line="74"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createXMLElement" desc="(Lorg/w3c/dom/Document;Lorg/w3c/dom/Element;)V" line="78"><counter type="INSTRUCTION" missed="20" covered="55"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="4" covered="12"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="32" covered="170"/><counter type="BRANCH" missed="5" covered="9"/><counter type="LINE" missed="9" covered="44"/><counter type="COMPLEXITY" missed="5" covered="9"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></class><class name="musichub/business/AudioBook" sourcefilename="AudioBook.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" line="11"><counter type="INSTRUCTION" missed="14" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" line="17"><counter type="INSTRUCTION" missed="13" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Lorg/w3c/dom/Element;)V" line="23"><counter type="INSTRUCTION" missed="20" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getLanguage" desc="()Lmusichub/business/Language;" line="29"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="setLanguage" desc="(Ljava/lang/String;)V" line="33"><counter type="INSTRUCTION" missed="29" covered="0"/><counter type="BRANCH" missed="5" covered="0"/><counter type="LINE" missed="7" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getCategory" desc="()Lmusichub/business/Category;" line="43"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="setCategory" desc="(Ljava/lang/String;)V" line="47"><counter type="INSTRUCTION" missed="29" covered="0"/><counter type="BRANCH" missed="5" covered="0"/><counter type="LINE" missed="7" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="toString" desc="()Ljava/lang/String;" line="58"><counter type="INSTRUCTION" missed="8" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createXMLElement" desc="(Lorg/w3c/dom/Document;Lorg/w3c/dom/Element;)V" line="64"><counter type="INSTRUCTION" missed="45" covered="0"/><counter type="LINE" missed="10" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="164" covered="0"/><counter type="BRANCH" missed="10" covered="0"/><counter type="LINE" missed="39" covered="0"/><counter type="COMPLEXITY" missed="17" covered="0"/><counter type="METHOD" missed="9" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/SortByGenre" sourcefilename="MusicHub.java"><method name="&lt;init&gt;" desc="()V" line="21"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="compare" desc="(Lmusichub/business/Song;Lmusichub/business/Song;)I" line="23"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="9" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/NoElementFoundException" sourcefilename="NoElementFoundException.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="6"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/Genre" sourcefilename="Genre.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;ILjava/lang/String;)V" line="7"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getGenre" desc="()Ljava/lang/String;" line="12"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="3"><counter type="INSTRUCTION" missed="0" covered="45"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="56"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="musichub/business/AudioElement" sourcefilename="AudioElement.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V" line="24"><counter type="INSTRUCTION" missed="0" covered="19"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V" line="32"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lorg/w3c/dom/Element;)V" line="40"><counter type="INSTRUCTION" missed="8" covered="55"/><counter type="BRANCH" missed="2" covered="2"/><counter type="LINE" missed="3" covered="11"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getUUID" desc="()Ljava/util/UUID;" line="59"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getArtist" desc="()Ljava/lang/String;" line="63"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getTitle" desc="()Ljava/lang/String;" line="67"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="toString" desc="()Ljava/lang/String;" line="71"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createXMLElement" desc="(Lorg/w3c/dom/Document;Lorg/w3c/dom/Element;)V" line="75"><counter type="INSTRUCTION" missed="0" covered="79"/><counter type="LINE" missed="0" covered="16"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="manageAudioElement" desc="()V" line="99"><counter type="INSTRUCTION" missed="68" covered="0"/><counter type="BRANCH" missed="7" covered="0"/><counter type="LINE" missed="24" covered="0"/><counter type="COMPLEXITY" missed="6" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="85" covered="181"/><counter type="BRANCH" missed="9" covered="2"/><counter type="LINE" missed="30" covered="42"/><counter type="COMPLEXITY" missed="11" covered="5"/><counter type="METHOD" missed="4" covered="5"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="MusicHub.java"><line nr="15" mi="3" ci="0" mb="0" cb="0"/><line nr="17" mi="6" ci="0" mb="0" cb="0"/><line nr="21" mi="3" ci="0" mb="0" cb="0"/><line nr="23" mi="6" ci="0" mb="0" cb="0"/><line nr="27" mi="3" ci="0" mb="0" cb="0"/><line nr="29" mi="6" ci="0" mb="0" cb="0"/><line nr="34" mi="3" ci="0" mb="0" cb="0"/><line nr="35" mi="3" ci="0" mb="0" cb="0"/><line nr="36" mi="3" ci="0" mb="0" cb="0"/><line nr="37" mi="4" ci="0" mb="0" cb="0"/><line nr="41" mi="5" ci="0" mb="0" cb="0"/><line nr="43" mi="2" ci="0" mb="0" cb="0"/><line nr="44" mi="5" ci="0" mb="0" cb="0"/><line nr="45" mi="5" ci="0" mb="0" cb="0"/><line nr="46" mi="5" ci="0" mb="0" cb="0"/><line nr="47" mi="2" ci="0" mb="0" cb="0"/><line nr="48" mi="2" ci="0" mb="0" cb="0"/><line nr="49" mi="2" ci="0" mb="0" cb="0"/><line nr="50" mi="1" ci="0" mb="0" cb="0"/><line nr="53" mi="5" ci="0" mb="0" cb="0"/><line nr="54" mi="1" ci="0" mb="0" cb="0"/><line nr="57" mi="5" ci="0" mb="0" cb="0"/><line nr="58" mi="1" ci="0" mb="0" cb="0"/><line nr="61" mi="5" ci="0" mb="0" cb="0"/><line nr="62" mi="1" ci="0" mb="0" cb="0"/><line nr="66" mi="2" ci="0" mb="0" cb="0"/><line nr="67" mi="2" ci="0" mb="0" cb="0"/><line nr="68" mi="11" ci="0" mb="2" cb="0"/><line nr="69" mi="5" ci="0" mb="2" cb="0"/><line nr="70" mi="2" ci="0" mb="0" cb="0"/><line nr="71" mi="1" ci="0" mb="0" cb="0"/><line nr="73" mi="1" ci="0" mb="0" cb="0"/><line nr="75" mi="2" ci="0" mb="2" cb="0"/><line nr="76" mi="5" ci="0" mb="0" cb="0"/><line nr="77" mi="8" ci="0" mb="2" cb="0"/><line nr="78" mi="1" ci="0" mb="0" cb="0"/><line nr="81" mi="4" ci="0" mb="0" cb="0"/><line nr="85" mi="4" ci="0" mb="0" cb="0"/><line nr="89" mi="4" ci="0" mb="0" cb="0"/><line nr="93" mi="4" ci="0" mb="0" cb="0"/><line nr="94" mi="6" ci="0" mb="0" cb="0"/><line nr="95" mi="11" ci="0" mb="2" cb="0"/><line nr="96" mi="8" ci="0" mb="0" cb="0"/><line nr="97" mi="3" ci="0" mb="0" cb="0"/><line nr="101" mi="4" ci="0" mb="0" cb="0"/><line nr="102" mi="4" ci="0" mb="0" cb="0"/><line nr="103" mi="11" ci="0" mb="2" cb="0"/><line nr="104" mi="4" ci="0" mb="2" cb="0"/><line nr="105" mi="4" ci="0" mb="0" cb="0"/><line nr="106" mi="5" ci="0" mb="0" cb="0"/><line nr="107" mi="10" ci="0" mb="2" cb="0"/><line nr="108" mi="8" ci="0" mb="0" cb="0"/><line nr="109" mi="3" ci="0" mb="0" cb="0"/><line nr="113" mi="2" ci="0" mb="0" cb="0"/><line nr="114" mi="4" ci="0" mb="0" cb="0"/><line nr="115" mi="11" ci="0" mb="2" cb="0"/><line nr="116" mi="5" ci="0" mb="2" cb="0"/><line nr="117" mi="2" ci="0" mb="0" cb="0"/><line nr="118" mi="1" ci="0" mb="0" cb="0"/><line nr="120" mi="1" ci="0" mb="0" cb="0"/><line nr="121" mi="7" ci="0" mb="2" cb="0"/><line nr="123" mi="3" ci="0" mb="0" cb="0"/><line nr="124" mi="10" ci="0" mb="2" cb="0"/><line nr="125" mi="12" ci="0" mb="2" cb="0"/><line nr="126" mi="3" ci="0" mb="2" cb="0"/><line nr="127" mi="9" ci="0" mb="2" cb="0"/><line nr="129" mi="1" ci="0" mb="0" cb="0"/><line nr="130" mi="2" ci="0" mb="0" cb="0"/><line nr="135" mi="2" ci="0" mb="0" cb="0"/><line nr="136" mi="4" ci="0" mb="0" cb="0"/><line nr="137" mi="11" ci="0" mb="2" cb="0"/><line nr="138" mi="5" ci="0" mb="2" cb="0"/><line nr="139" mi="2" ci="0" mb="0" cb="0"/><line nr="140" mi="1" ci="0" mb="0" cb="0"/><line nr="142" mi="1" ci="0" mb="0" cb="0"/><line nr="143" mi="7" ci="0" mb="2" cb="0"/><line nr="145" mi="3" ci="0" mb="0" cb="0"/><line nr="146" mi="10" ci="0" mb="2" cb="0"/><line nr="147" mi="12" ci="0" mb="2" cb="0"/><line nr="148" mi="3" ci="0" mb="2" cb="0"/><line nr="149" mi="10" ci="0" mb="2" cb="0"/><line nr="151" mi="1" ci="0" mb="0" cb="0"/><line nr="152" mi="5" ci="0" mb="0" cb="0"/><line nr="153" mi="2" ci="0" mb="0" cb="0"/><line nr="158" mi="2" ci="0" mb="0" cb="0"/><line nr="160" mi="2" ci="0" mb="0" cb="0"/><line nr="161" mi="9" ci="0" mb="2" cb="0"/><line nr="162" mi="9" ci="0" mb="2" cb="0"/><line nr="163" mi="6" ci="0" mb="0" cb="0"/><line nr="164" mi="2" ci="0" mb="0" cb="0"/><line nr="165" mi="1" ci="0" mb="0" cb="0"/><line nr="169" mi="2" ci="0" mb="2" cb="0"/><line nr="170" mi="2" ci="0" mb="0" cb="0"/><line nr="171" mi="11" ci="0" mb="2" cb="0"/><line nr="172" mi="5" ci="0" mb="2" cb="0"/><line nr="173" mi="2" ci="0" mb="0" cb="0"/><line nr="174" mi="1" ci="0" mb="0" cb="0"/><line nr="176" mi="1" ci="0" mb="0" cb="0"/><line nr="177" mi="2" ci="0" mb="2" cb="0"/><line nr="178" mi="4" ci="0" mb="0" cb="0"/><line nr="180" mi="7" ci="0" mb="0" cb="0"/><line nr="181" mi="6" ci="0" mb="0" cb="0"/><line nr="182" mi="7" ci="0" mb="0" cb="0"/><line nr="184" mi="1" ci="0" mb="0" cb="0"/><line nr="187" mi="2" ci="0" mb="0" cb="0"/><line nr="189" mi="2" ci="0" mb="0" cb="0"/><line nr="191" mi="9" ci="0" mb="2" cb="0"/><line nr="192" mi="9" ci="0" mb="2" cb="0"/><line nr="193" mi="6" ci="0" mb="0" cb="0"/><line nr="194" mi="2" ci="0" mb="0" cb="0"/><line nr="195" mi="1" ci="0" mb="0" cb="0"/><line nr="199" mi="2" ci="0" mb="2" cb="0"/><line nr="200" mi="2" ci="0" mb="0" cb="0"/><line nr="201" mi="11" ci="0" mb="2" cb="0"/><line nr="202" mi="5" ci="0" mb="2" cb="0"/><line nr="203" mi="2" ci="0" mb="0" cb="0"/><line nr="204" mi="1" ci="0" mb="0" cb="0"/><line nr="206" mi="1" ci="0" mb="0" cb="0"/><line nr="207" mi="2" ci="0" mb="2" cb="0"/><line nr="208" mi="4" ci="0" mb="0" cb="0"/><line nr="210" mi="7" ci="0" mb="0" cb="0"/><line nr="211" mi="6" ci="0" mb="0" cb="0"/><line nr="213" mi="7" ci="0" mb="0" cb="0"/><line nr="215" mi="1" ci="0" mb="0" cb="0"/><line nr="218" mi="5" ci="0" mb="0" cb="0"/><line nr="219" mi="3" ci="0" mb="2" cb="0"/><line nr="221" mi="8" ci="0" mb="2" cb="0"/><line nr="222" mi="6" ci="0" mb="2" cb="0"/><line nr="223" mi="5" ci="0" mb="0" cb="0"/><line nr="224" mi="5" ci="0" mb="2" cb="0"/><line nr="226" mi="6" ci="0" mb="0" cb="0"/><line nr="227" mi="1" ci="0" mb="0" cb="0"/><line nr="228" mi="3" ci="0" mb="0" cb="0"/><line nr="229" mi="1" ci="0" mb="0" cb="0"/><line nr="233" mi="1" ci="0" mb="0" cb="0"/><line nr="236" mi="5" ci="0" mb="0" cb="0"/><line nr="237" mi="3" ci="0" mb="2" cb="0"/><line nr="239" mi="8" ci="0" mb="2" cb="0"/><line nr="240" mi="6" ci="0" mb="2" cb="0"/><line nr="241" mi="5" ci="0" mb="0" cb="0"/><line nr="242" mi="5" ci="0" mb="2" cb="0"/><line nr="244" mi="6" ci="0" mb="0" cb="0"/><line nr="245" mi="1" ci="0" mb="0" cb="0"/><line nr="246" mi="3" ci="0" mb="0" cb="0"/><line nr="247" mi="1" ci="0" mb="0" cb="0"/><line nr="251" mi="1" ci="0" mb="0" cb="0"/><line nr="254" mi="5" ci="0" mb="0" cb="0"/><line nr="255" mi="3" ci="0" mb="2" cb="0"/><line nr="257" mi="8" ci="0" mb="2" cb="0"/><line nr="258" mi="6" ci="0" mb="2" cb="0"/><line nr="259" mi="5" ci="0" mb="0" cb="0"/><line nr="260" mi="5" ci="0" mb="2" cb="0"/><line nr="262" mi="5" ci="0" mb="0" cb="0"/><line nr="263" mi="3" ci="0" mb="0" cb="0"/><line nr="264" mi="1" ci="0" mb="0" cb="0"/><line nr="265" mi="3" ci="0" mb="0" cb="0"/><line nr="266" mi="1" ci="0" mb="0" cb="0"/><line nr="268" mi="5" ci="0" mb="2" cb="0"/><line nr="270" mi="5" ci="0" mb="0" cb="0"/><line nr="271" mi="3" ci="0" mb="0" cb="0"/><line nr="272" mi="1" ci="0" mb="0" cb="0"/><line nr="273" mi="3" ci="0" mb="0" cb="0"/><line nr="274" mi="1" ci="0" mb="0" cb="0"/><line nr="278" mi="1" ci="0" mb="0" cb="0"/><line nr="282" mi="4" ci="0" mb="0" cb="0"/><line nr="283" mi="3" ci="0" mb="2" cb="0"/><line nr="286" mi="4" ci="0" mb="0" cb="0"/><line nr="287" mi="4" ci="0" mb="0" cb="0"/><line nr="290" mi="6" ci="0" mb="2" cb="0"/><line nr="291" mi="4" ci="0" mb="0" cb="0"/><line nr="292" mi="4" ci="0" mb="0" cb="0"/><line nr="293" mi="1" ci="0" mb="0" cb="0"/><line nr="294" mi="5" ci="0" mb="0" cb="0"/><line nr="295" mi="1" ci="0" mb="0" cb="0"/><line nr="298" mi="4" ci="0" mb="0" cb="0"/><line nr="299" mi="3" ci="0" mb="2" cb="0"/><line nr="302" mi="4" ci="0" mb="0" cb="0"/><line nr="303" mi="4" ci="0" mb="0" cb="0"/><line nr="306" mi="6" ci="0" mb="2" cb="0"/><line nr="307" mi="4" ci="0" mb="0" cb="0"/><line nr="308" mi="4" ci="0" mb="0" cb="0"/><line nr="309" mi="1" ci="0" mb="0" cb="0"/><line nr="310" mi="5" ci="0" mb="0" cb="0"/><line nr="311" mi="1" ci="0" mb="0" cb="0"/><line nr="314" mi="4" ci="0" mb="0" cb="0"/><line nr="315" mi="3" ci="0" mb="2" cb="0"/><line nr="318" mi="4" ci="0" mb="0" cb="0"/><line nr="319" mi="4" ci="0" mb="0" cb="0"/><line nr="322" mi="11" ci="0" mb="2" cb="0"/><line nr="324" mi="3" ci="0" mb="2" cb="0"/><line nr="325" mi="4" ci="0" mb="0" cb="0"/><line nr="327" mi="3" ci="0" mb="2" cb="0"/><line nr="328" mi="4" ci="0" mb="0" cb="0"/><line nr="330" mi="1" ci="0" mb="0" cb="0"/><line nr="331" mi="5" ci="0" mb="0" cb="0"/><line nr="332" mi="1" ci="0" mb="0" cb="0"/><line nr="335" mi="10" ci="0" mb="2" cb="0"/><line nr="336" mi="5" ci="0" mb="2" cb="0"/><line nr="337" mi="2" ci="0" mb="0" cb="0"/><line nr="339" mi="1" ci="0" mb="0" cb="0"/><line nr="341" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="830" covered="0"/><counter type="BRANCH" missed="114" covered="0"/><counter type="LINE" missed="201" covered="0"/><counter type="COMPLEXITY" missed="85" covered="0"/><counter type="METHOD" missed="28" covered="0"/><counter type="CLASS" missed="4" covered="0"/></sourcefile><sourcefile name="PlayList.java"><line nr="16" mi="0" ci="2" mb="0" cb="0"/><line nr="17" mi="0" ci="3" mb="0" cb="0"/><line nr="18" mi="0" ci="4" mb="0" cb="0"/><line nr="19" mi="0" ci="3" mb="0" cb="0"/><line nr="20" mi="0" ci="1" mb="0" cb="0"/><line nr="22" mi="0" ci="2" mb="0" cb="0"/><line nr="23" mi="0" ci="3" mb="0" cb="0"/><line nr="24" mi="0" ci="3" mb="0" cb="0"/><line nr="25" mi="0" ci="5" mb="0" cb="0"/><line nr="26" mi="0" ci="1" mb="0" cb="0"/><line nr="28" mi="0" ci="2" mb="0" cb="0"/><line nr="30" mi="0" ci="8" mb="0" cb="0"/><line nr="32" mi="0" ci="2" mb="0" cb="0"/><line nr="34" mi="0" ci="7" mb="0" cb="0"/><line nr="35" mi="1" ci="0" mb="0" cb="0"/><line nr="36" mi="3" ci="0" mb="0" cb="0"/><line nr="37" mi="0" ci="1" mb="0" cb="0"/><line nr="38" mi="0" ci="5" mb="2" cb="2"/><line nr="39" mi="4" ci="0" mb="0" cb="0"/><line nr="40" mi="0" ci="4" mb="0" cb="0"/><line nr="43" mi="0" ci="6" mb="0" cb="0"/><line nr="44" mi="0" ci="3" mb="0" cb="0"/><line nr="45" mi="1" ci="2" mb="1" cb="1"/><line nr="47" mi="0" ci="5" mb="0" cb="0"/><line nr="50" mi="0" ci="8" mb="0" cb="2"/><line nr="51" mi="0" ci="6" mb="0" cb="2"/><line nr="52" mi="0" ci="5" mb="0" cb="0"/><line nr="53" mi="0" ci="5" mb="1" cb="1"/><line nr="55" mi="0" ci="5" mb="0" cb="0"/><line nr="56" mi="1" ci="0" mb="0" cb="0"/><line nr="57" mi="2" ci="0" mb="0" cb="0"/><line nr="58" mi="0" ci="1" mb="0" cb="0"/><line nr="63" mi="0" ci="1" mb="0" cb="0"/><line nr="66" mi="0" ci="5" mb="0" cb="0"/><line nr="67" mi="0" ci="1" mb="0" cb="0"/><line nr="70" mi="0" ci="3" mb="0" cb="0"/><line nr="74" mi="0" ci="3" mb="0" cb="0"/><line nr="78" mi="0" ci="4" mb="0" cb="0"/><line nr="79" mi="0" ci="4" mb="0" cb="0"/><line nr="81" mi="0" ci="4" mb="0" cb="0"/><line nr="82" mi="0" ci="7" mb="0" cb="0"/><line nr="83" mi="0" ci="4" mb="0" cb="0"/><line nr="85" mi="0" ci="4" mb="0" cb="0"/><line nr="86" mi="0" ci="8" mb="0" cb="0"/><line nr="87" mi="0" ci="4" mb="0" cb="0"/><line nr="90" mi="0" ci="4" mb="0" cb="0"/><line nr="91" mi="4" ci="7" mb="1" cb="1"/><line nr="93" mi="4" ci="0" mb="0" cb="0"/><line nr="94" mi="7" ci="0" mb="0" cb="0"/><line nr="95" mi="4" ci="0" mb="0" cb="0"/><line nr="96" mi="1" ci="0" mb="0" cb="0"/><line nr="97" mi="0" ci="4" mb="0" cb="0"/><line nr="98" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="32" covered="170"/><counter type="BRANCH" missed="5" covered="9"/><counter type="LINE" missed="9" covered="44"/><counter type="COMPLEXITY" missed="5" covered="9"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="NoAlbumFoundException.java"><line nr="6" mi="3" ci="0" mb="0" cb="0"/><line nr="7" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="Album.java"><line nr="21" mi="2" ci="0" mb="0" cb="0"/><line nr="22" mi="3" ci="0" mb="0" cb="0"/><line nr="23" mi="3" ci="0" mb="0" cb="0"/><line nr="24" mi="3" ci="0" mb="0" cb="0"/><line nr="25" mi="4" ci="0" mb="0" cb="0"/><line nr="27" mi="5" ci="0" mb="0" cb="0"/><line nr="28" mi="5" ci="0" mb="0" cb="0"/><line nr="29" mi="1" ci="0" mb="0" cb="0"/><line nr="30" mi="2" ci="0" mb="0" cb="0"/><line nr="31" mi="1" ci="0" mb="0" cb="0"/><line nr="32" mi="3" ci="0" mb="0" cb="0"/><line nr="33" mi="1" ci="0" mb="0" cb="0"/><line nr="35" mi="2" ci="0" mb="0" cb="0"/><line nr="36" mi="3" ci="0" mb="0" cb="0"/><line nr="37" mi="3" ci="0" mb="0" cb="0"/><line nr="38" mi="3" ci="0" mb="0" cb="0"/><line nr="39" mi="3" ci="0" mb="0" cb="0"/><line nr="41" mi="5" ci="0" mb="0" cb="0"/><line nr="42" mi="5" ci="0" mb="0" cb="0"/><line nr="43" mi="1" ci="0" mb="0" cb="0"/><line nr="44" mi="2" ci="0" mb="0" cb="0"/><line nr="45" mi="1" ci="0" mb="0" cb="0"/><line nr="46" mi="5" ci="0" mb="0" cb="0"/><line nr="47" mi="1" ci="0" mb="0" cb="0"/><line nr="49" mi="2" ci="0" mb="0" cb="0"/><line nr="51" mi="8" ci="0" mb="0" cb="0"/><line nr="52" mi="9" ci="0" mb="0" cb="0"/><line nr="53" mi="2" ci="0" mb="0" cb="0"/><line nr="55" mi="7" ci="0" mb="0" cb="0"/><line nr="56" mi="1" ci="0" mb="0" cb="0"/><line nr="57" mi="3" ci="0" mb="0" cb="0"/><line nr="58" mi="1" ci="0" mb="0" cb="0"/><line nr="59" mi="5" ci="0" mb="4" cb="0"/><line nr="60" mi="4" ci="0" mb="0" cb="0"/><line nr="61" mi="4" ci="0" mb="0" cb="0"/><line nr="63" mi="5" ci="0" mb="0" cb="0"/><line nr="64" mi="10" ci="0" mb="0" cb="0"/><line nr="66" mi="6" ci="0" mb="0" cb="0"/><line nr="67" mi="3" ci="0" mb="0" cb="0"/><line nr="68" mi="3" ci="0" mb="2" cb="0"/><line nr="70" mi="5" ci="0" mb="0" cb="0"/><line nr="72" mi="8" ci="0" mb="2" cb="0"/><line nr="73" mi="6" ci="0" mb="2" cb="0"/><line nr="74" mi="5" ci="0" mb="0" cb="0"/><line nr="75" mi="5" ci="0" mb="2" cb="0"/><line nr="77" mi="5" ci="0" mb="0" cb="0"/><line nr="78" mi="1" ci="0" mb="0" cb="0"/><line nr="79" mi="2" ci="0" mb="0" cb="0"/><line nr="80" mi="1" ci="0" mb="0" cb="0"/><line nr="85" mi="1" ci="0" mb="0" cb="0"/><line nr="89" mi="5" ci="0" mb="0" cb="0"/><line nr="90" mi="1" ci="0" mb="0" cb="0"/><line nr="94" mi="3" ci="0" mb="0" cb="0"/><line nr="98" mi="3" ci="0" mb="0" cb="0"/><line nr="99" mi="2" ci="0" mb="0" cb="0"/><line nr="100" mi="2" ci="0" mb="0" cb="0"/><line nr="104" mi="3" ci="0" mb="0" cb="0"/><line nr="108" mi="3" ci="0" mb="0" cb="0"/><line nr="112" mi="4" ci="0" mb="0" cb="0"/><line nr="113" mi="4" ci="0" mb="0" cb="0"/><line nr="115" mi="4" ci="0" mb="0" cb="0"/><line nr="116" mi="7" ci="0" mb="0" cb="0"/><line nr="117" mi="4" ci="0" mb="0" cb="0"/><line nr="119" mi="4" ci="0" mb="0" cb="0"/><line nr="120" mi="7" ci="0" mb="0" cb="0"/><line nr="121" mi="4" ci="0" mb="0" cb="0"/><line nr="123" mi="4" ci="0" mb="0" cb="0"/><line nr="124" mi="9" ci="0" mb="0" cb="0"/><line nr="125" mi="4" ci="0" mb="0" cb="0"/><line nr="127" mi="4" ci="0" mb="0" cb="0"/><line nr="128" mi="8" ci="0" mb="0" cb="0"/><line nr="129" mi="4" ci="0" mb="0" cb="0"/><line nr="131" mi="4" ci="0" mb="0" cb="0"/><line nr="132" mi="5" ci="0" mb="0" cb="0"/><line nr="133" mi="9" ci="0" mb="0" cb="0"/><line nr="134" mi="4" ci="0" mb="0" cb="0"/><line nr="136" mi="4" ci="0" mb="0" cb="0"/><line nr="137" mi="11" ci="0" mb="2" cb="0"/><line nr="138" mi="4" ci="0" mb="0" cb="0"/><line nr="139" mi="7" ci="0" mb="0" cb="0"/><line nr="140" mi="4" ci="0" mb="0" cb="0"/><line nr="141" mi="1" ci="0" mb="0" cb="0"/><line nr="142" mi="4" ci="0" mb="0" cb="0"/><line nr="144" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="330" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="84" covered="0"/><counter type="COMPLEXITY" missed="16" covered="0"/><counter type="METHOD" missed="9" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="Language.java"><line nr="3" mi="3" ci="0" mb="0" cb="0"/><line nr="4" mi="35" ci="0" mb="0" cb="0"/><line nr="7" mi="4" ci="0" mb="0" cb="0"/><line nr="8" mi="3" ci="0" mb="0" cb="0"/><line nr="9" mi="1" ci="0" mb="0" cb="0"/><line nr="12" mi="3" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="49" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="Genre.java"><line nr="3" mi="0" ci="3" mb="0" cb="0"/><line nr="4" mi="0" ci="42" mb="0" cb="0"/><line nr="7" mi="0" ci="4" mb="0" cb="0"/><line nr="8" mi="0" ci="3" mb="0" cb="0"/><line nr="9" mi="0" ci="1" mb="0" cb="0"/><line nr="12" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="56"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="NoPlayListFoundException.java"><line nr="6" mi="3" ci="0" mb="0" cb="0"/><line nr="7" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="AudioElement.java"><line nr="24" mi="0" ci="2" mb="0" cb="0"/><line nr="25" mi="0" ci="3" mb="0" cb="0"/><line nr="26" mi="0" ci="3" mb="0" cb="0"/><line nr="27" mi="0" ci="3" mb="0" cb="0"/><line nr="28" mi="0" ci="4" mb="0" cb="0"/><line nr="29" mi="0" ci="3" mb="0" cb="0"/><line nr="30" mi="0" ci="1" mb="0" cb="0"/><line nr="32" mi="0" ci="2" mb="0" cb="0"/><line nr="33" mi="0" ci="3" mb="0" cb="0"/><line nr="34" mi="0" ci="3" mb="0" cb="0"/><line nr="35" mi="0" ci="3" mb="0" cb="0"/><line nr="36" mi="0" ci="3" mb="0" cb="0"/><line nr="37" mi="0" ci="3" mb="0" cb="0"/><line nr="38" mi="0" ci="1" mb="0" cb="0"/><line nr="40" mi="0" ci="2" mb="0" cb="0"/><line nr="42" mi="0" ci="8" mb="0" cb="0"/><line nr="43" mi="0" ci="8" mb="0" cb="0"/><line nr="44" mi="0" ci="9" mb="0" cb="0"/><line nr="45" mi="0" ci="8" mb="0" cb="0"/><line nr="46" mi="0" ci="2" mb="0" cb="0"/><line nr="48" mi="0" ci="7" mb="0" cb="0"/><line nr="49" mi="1" ci="0" mb="0" cb="0"/><line nr="50" mi="3" ci="0" mb="0" cb="0"/><line nr="51" mi="0" ci="1" mb="0" cb="0"/><line nr="52" mi="0" ci="5" mb="2" cb="2"/><line nr="53" mi="4" ci="0" mb="0" cb="0"/><line nr="54" mi="0" ci="4" mb="0" cb="0"/><line nr="56" mi="0" ci="1" mb="0" cb="0"/><line nr="59" mi="3" ci="0" mb="0" cb="0"/><line nr="63" mi="3" ci="0" mb="0" cb="0"/><line nr="67" mi="3" ci="0" mb="0" cb="0"/><line nr="71" mi="0" ci="10" mb="0" cb="0"/><line nr="75" mi="0" ci="4" mb="0" cb="0"/><line nr="76" mi="0" ci="7" mb="0" cb="0"/><line nr="77" mi="0" ci="4" mb="0" cb="0"/><line nr="79" mi="0" ci="4" mb="0" cb="0"/><line nr="80" mi="0" ci="7" mb="0" cb="0"/><line nr="81" mi="0" ci="4" mb="0" cb="0"/><line nr="83" mi="0" ci="4" mb="0" cb="0"/><line nr="84" mi="0" ci="9" mb="0" cb="0"/><line nr="85" mi="0" ci="4" mb="0" cb="0"/><line nr="87" mi="0" ci="4" mb="0" cb="0"/><line nr="88" mi="0" ci="8" mb="0" cb="0"/><line nr="89" mi="0" ci="4" mb="0" cb="0"/><line nr="91" mi="0" ci="4" mb="0" cb="0"/><line nr="92" mi="0" ci="7" mb="0" cb="0"/><line nr="93" mi="0" ci="4" mb="0" cb="0"/><line nr="95" mi="0" ci="1" mb="0" cb="0"/><line nr="99" mi="5" ci="0" mb="0" cb="0"/><line nr="101" mi="6" ci="0" mb="0" cb="0"/><line nr="102" mi="3" ci="0" mb="0" cb="0"/><line nr="103" mi="2" ci="0" mb="0" cb="0"/><line nr="104" mi="3" ci="0" mb="0" cb="0"/><line nr="106" mi="2" ci="0" mb="0" cb="0"/><line nr="108" mi="4" ci="0" mb="2" cb="0"/><line nr="109" mi="3" ci="0" mb="0" cb="0"/><line nr="110" mi="3" ci="0" mb="0" cb="0"/><line nr="111" mi="3" ci="0" mb="0" cb="0"/><line nr="112" mi="3" ci="0" mb="0" cb="0"/><line nr="114" mi="8" ci="0" mb="5" cb="0"/><line nr="115" mi="2" ci="0" mb="0" cb="0"/><line nr="116" mi="1" ci="0" mb="0" cb="0"/><line nr="117" mi="2" ci="0" mb="0" cb="0"/><line nr="118" mi="1" ci="0" mb="0" cb="0"/><line nr="119" mi="3" ci="0" mb="0" cb="0"/><line nr="120" mi="1" ci="0" mb="0" cb="0"/><line nr="121" mi="2" ci="0" mb="0" cb="0"/><line nr="122" mi="1" ci="0" mb="0" cb="0"/><line nr="123" mi="3" ci="0" mb="0" cb="0"/><line nr="125" mi="4" ci="0" mb="0" cb="0"/><line nr="128" mi="2" ci="0" mb="0" cb="0"/><line nr="130" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="85" covered="181"/><counter type="BRANCH" missed="9" covered="2"/><counter type="LINE" missed="30" covered="42"/><counter type="COMPLEXITY" missed="11" covered="5"/><counter type="METHOD" missed="4" covered="5"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="NoElementFoundException.java"><line nr="6" mi="3" ci="0" mb="0" cb="0"/><line nr="7" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="Category.java"><line nr="3" mi="3" ci="0" mb="0" cb="0"/><line nr="4" mi="35" ci="0" mb="0" cb="0"/><line nr="7" mi="4" ci="0" mb="0" cb="0"/><line nr="8" mi="3" ci="0" mb="0" cb="0"/><line nr="9" mi="1" ci="0" mb="0" cb="0"/><line nr="12" mi="3" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="49" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="AudioBook.java"><line nr="11" mi="7" ci="0" mb="0" cb="0"/><line nr="12" mi="3" ci="0" mb="0" cb="0"/><line nr="13" mi="3" ci="0" mb="0" cb="0"/><line nr="14" mi="1" ci="0" mb="0" cb="0"/><line nr="17" mi="6" ci="0" mb="0" cb="0"/><line nr="18" mi="3" ci="0" mb="0" cb="0"/><line nr="19" mi="3" ci="0" mb="0" cb="0"/><line nr="20" mi="1" ci="0" mb="0" cb="0"/><line nr="23" mi="3" ci="0" mb="0" cb="0"/><line nr="24" mi="8" ci="0" mb="0" cb="0"/><line nr="25" mi="8" ci="0" mb="0" cb="0"/><line nr="26" mi="1" ci="0" mb="0" cb="0"/><line nr="29" mi="3" ci="0" mb="0" cb="0"/><line nr="33" mi="9" ci="0" mb="5" cb="0"/><line nr="34" mi="4" ci="0" mb="0" cb="0"/><line nr="35" mi="4" ci="0" mb="0" cb="0"/><line nr="36" mi="4" ci="0" mb="0" cb="0"/><line nr="37" mi="4" ci="0" mb="0" cb="0"/><line nr="38" mi="3" ci="0" mb="0" cb="0"/><line nr="40" mi="1" ci="0" mb="0" cb="0"/><line nr="43" mi="3" ci="0" mb="0" cb="0"/><line nr="47" mi="9" ci="0" mb="5" cb="0"/><line nr="48" mi="4" ci="0" mb="0" cb="0"/><line nr="49" mi="4" ci="0" mb="0" cb="0"/><line nr="50" mi="4" ci="0" mb="0" cb="0"/><line nr="51" mi="4" ci="0" mb="0" cb="0"/><line nr="52" mi="3" ci="0" mb="0" cb="0"/><line nr="54" mi="1" ci="0" mb="0" cb="0"/><line nr="58" mi="8" ci="0" mb="0" cb="0"/><line nr="64" mi="4" ci="0" mb="0" cb="0"/><line nr="66" mi="4" ci="0" mb="0" cb="0"/><line nr="68" mi="4" ci="0" mb="0" cb="0"/><line nr="69" mi="8" ci="0" mb="0" cb="0"/><line nr="70" mi="4" ci="0" mb="0" cb="0"/><line nr="72" mi="4" ci="0" mb="0" cb="0"/><line nr="73" mi="8" ci="0" mb="0" cb="0"/><line nr="74" mi="4" ci="0" mb="0" cb="0"/><line nr="76" mi="4" ci="0" mb="0" cb="0"/><line nr="77" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="164" covered="0"/><counter type="BRANCH" missed="10" covered="0"/><counter type="LINE" missed="39" covered="0"/><counter type="COMPLEXITY" missed="17" covered="0"/><counter type="METHOD" missed="9" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="Song.java"><line nr="11" mi="0" ci="7" mb="0" cb="0"/><line nr="12" mi="0" ci="3" mb="0" cb="0"/><line nr="13" mi="0" ci="1" mb="0" cb="0"/><line nr="16" mi="0" ci="6" mb="0" cb="0"/><line nr="17" mi="0" ci="3" mb="0" cb="0"/><line nr="18" mi="0" ci="1" mb="0" cb="0"/><line nr="21" mi="0" ci="3" mb="0" cb="0"/><line nr="22" mi="0" ci="8" mb="0" cb="0"/><line nr="23" mi="0" ci="1" mb="0" cb="0"/><line nr="26" mi="0" ci="4" mb="0" cb="0"/><line nr="30" mi="0" ci="9" mb="0" cb="6"/><line nr="31" mi="0" ci="4" mb="0" cb="0"/><line nr="32" mi="0" ci="4" mb="0" cb="0"/><line nr="33" mi="0" ci="4" mb="0" cb="0"/><line nr="34" mi="0" ci="4" mb="0" cb="0"/><line nr="35" mi="0" ci="4" mb="0" cb="0"/><line nr="36" mi="0" ci="3" mb="0" cb="0"/><line nr="38" mi="0" ci="1" mb="0" cb="0"/><line nr="41" mi="0" ci="6" mb="0" cb="0"/><line nr="46" mi="0" ci="4" mb="0" cb="0"/><line nr="48" mi="0" ci="4" mb="0" cb="0"/><line nr="50" mi="0" ci="4" mb="0" cb="0"/><line nr="51" mi="0" ci="8" mb="0" cb="0"/><line nr="52" mi="0" ci="4" mb="0" cb="0"/><line nr="54" mi="0" ci="4" mb="0" cb="0"/><line nr="55" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="105"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="26"/><counter type="COMPLEXITY" missed="0" covered="12"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="1551" covered="512"/><counter type="BRANCH" missed="152" covered="17"/><counter type="LINE" missed="381" covered="118"/><counter type="COMPLEXITY" missed="143" covered="29"/><counter type="METHOD" missed="59" covered="22"/><counter type="CLASS" missed="11" covered="4"/></package><package name="musichub/main"><class name="musichub/main/Main" sourcefilename="Main.java"><method name="&lt;init&gt;" desc="()V" line="15"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="main" desc="([Ljava/lang/String;)V" line="18"><counter type="INSTRUCTION" missed="562" covered="0"/><counter type="BRANCH" missed="41" covered="0"/><counter type="LINE" missed="191" covered="0"/><counter type="COMPLEXITY" missed="28" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="printAvailableCommands" desc="()V" line="261"><counter type="INSTRUCTION" missed="40" covered="0"/><counter type="LINE" missed="14" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="605" covered="0"/><counter type="BRANCH" missed="41" covered="0"/><counter type="LINE" missed="206" covered="0"/><counter type="COMPLEXITY" missed="30" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><sourcefile name="Main.java"><line nr="15" mi="3" ci="0" mb="0" cb="0"/><line nr="18" mi="4" ci="0" mb="0" cb="0"/><line nr="20" mi="3" ci="0" mb="0" cb="0"/><line nr="23" mi="5" ci="0" mb="0" cb="0"/><line nr="24" mi="3" ci="0" mb="0" cb="0"/><line nr="28" mi="5" ci="0" mb="2" cb="0"/><line nr="30" mi="4" ci="0" mb="2" cb="0"/><line nr="31" mi="4" ci="0" mb="15" cb="0"/><line nr="33" mi="2" ci="0" mb="0" cb="0"/><line nr="35" mi="1" ci="0" mb="0" cb="0"/><line nr="36" mi="3" ci="0" mb="0" cb="0"/><line nr="37" mi="1" ci="0" mb="0" cb="0"/><line nr="40" mi="4" ci="0" mb="0" cb="0"/><line nr="41" mi="1" ci="0" mb="0" cb="0"/><line nr="42" mi="3" ci="0" mb="0" cb="0"/><line nr="43" mi="1" ci="0" mb="0" cb="0"/><line nr="46" mi="3" ci="0" mb="0" cb="0"/><line nr="47" mi="4" ci="0" mb="0" cb="0"/><line nr="49" mi="3" ci="0" mb="0" cb="0"/><line nr="51" mi="4" ci="0" mb="0" cb="0"/><line nr="52" mi="3" ci="0" mb="0" cb="0"/><line nr="53" mi="1" ci="0" mb="0" cb="0"/><line nr="54" mi="5" ci="0" mb="0" cb="0"/><line nr="55" mi="1" ci="0" mb="0" cb="0"/><line nr="56" mi="1" ci="0" mb="0" cb="0"/><line nr="57" mi="3" ci="0" mb="0" cb="0"/><line nr="58" mi="1" ci="0" mb="0" cb="0"/><line nr="61" mi="3" ci="0" mb="0" cb="0"/><line nr="62" mi="4" ci="0" mb="0" cb="0"/><line nr="64" mi="3" ci="0" mb="0" cb="0"/><line nr="66" mi="4" ci="0" mb="0" cb="0"/><line nr="67" mi="5" ci="0" mb="0" cb="0"/><line nr="68" mi="3" ci="0" mb="0" cb="0"/><line nr="69" mi="4" ci="0" mb="0" cb="0"/><line nr="70" mi="1" ci="0" mb="0" cb="0"/><line nr="71" mi="5" ci="0" mb="0" cb="0"/><line nr="72" mi="1" ci="0" mb="0" cb="0"/><line nr="73" mi="1" ci="0" mb="0" cb="0"/><line nr="74" mi="3" ci="0" mb="0" cb="0"/><line nr="75" mi="1" ci="0" mb="0" cb="0"/><line nr="78" mi="4" ci="0" mb="0" cb="0"/><line nr="79" mi="1" ci="0" mb="0" cb="0"/><line nr="80" mi="3" ci="0" mb="0" cb="0"/><line nr="81" mi="1" ci="0" mb="0" cb="0"/><line nr="84" mi="3" ci="0" mb="0" cb="0"/><line nr="85" mi="3" ci="0" mb="0" cb="0"/><line nr="86" mi="3" ci="0" mb="0" cb="0"/><line nr="87" mi="3" ci="0" mb="0" cb="0"/><line nr="88" mi="3" ci="0" mb="0" cb="0"/><line nr="89" mi="3" ci="0" mb="0" cb="0"/><line nr="90" mi="3" ci="0" mb="0" cb="0"/><line nr="91" mi="3" ci="0" mb="0" cb="0"/><line nr="92" mi="4" ci="0" mb="0" cb="0"/><line nr="94" mi="3" ci="0" mb="0" cb="0"/><line nr="95" mi="3" ci="0" mb="0" cb="0"/><line nr="96" mi="3" ci="0" mb="2" cb="0"/><line nr="97" mi="2" ci="0" mb="0" cb="0"/><line nr="98" mi="3" ci="0" mb="0" cb="0"/><line nr="99" mi="4" ci="0" mb="0" cb="0"/><line nr="100" mi="3" ci="0" mb="0" cb="0"/><line nr="101" mi="1" ci="0" mb="0" cb="0"/><line nr="104" mi="9" ci="0" mb="0" cb="0"/><line nr="105" mi="3" ci="0" mb="0" cb="0"/><line nr="106" mi="3" ci="0" mb="0" cb="0"/><line nr="107" mi="3" ci="0" mb="0" cb="0"/><line nr="108" mi="10" ci="0" mb="2" cb="0"/><line nr="109" mi="3" ci="0" mb="0" cb="0"/><line nr="110" mi="1" ci="0" mb="0" cb="0"/><line nr="111" mi="3" ci="0" mb="0" cb="0"/><line nr="112" mi="1" ci="0" mb="0" cb="0"/><line nr="115" mi="3" ci="0" mb="0" cb="0"/><line nr="116" mi="3" ci="0" mb="0" cb="0"/><line nr="117" mi="3" ci="0" mb="0" cb="0"/><line nr="118" mi="3" ci="0" mb="0" cb="0"/><line nr="119" mi="3" ci="0" mb="0" cb="0"/><line nr="120" mi="3" ci="0" mb="0" cb="0"/><line nr="121" mi="4" ci="0" mb="0" cb="0"/><line nr="122" mi="3" ci="0" mb="0" cb="0"/><line nr="123" mi="3" ci="0" mb="0" cb="0"/><line nr="124" mi="8" ci="0" mb="0" cb="0"/><line nr="125" mi="3" ci="0" mb="0" cb="0"/><line nr="126" mi="3" ci="0" mb="0" cb="0"/><line nr="127" mi="3" ci="0" mb="0" cb="0"/><line nr="128" mi="10" ci="0" mb="2" cb="0"/><line nr="129" mi="3" ci="0" mb="0" cb="0"/><line nr="130" mi="1" ci="0" mb="0" cb="0"/><line nr="131" mi="3" ci="0" mb="0" cb="0"/><line nr="132" mi="1" ci="0" mb="0" cb="0"/><line nr="135" mi="3" ci="0" mb="0" cb="0"/><line nr="136" mi="3" ci="0" mb="0" cb="0"/><line nr="137" mi="3" ci="0" mb="0" cb="0"/><line nr="138" mi="3" ci="0" mb="2" cb="0"/><line nr="139" mi="4" ci="0" mb="0" cb="0"/><line nr="140" mi="7" ci="0" mb="2" cb="0"/><line nr="141" mi="1" ci="0" mb="0" cb="0"/><line nr="142" mi="3" ci="0" mb="0" cb="0"/><line nr="144" mi="3" ci="0" mb="0" cb="0"/><line nr="145" mi="3" ci="0" mb="0" cb="0"/><line nr="146" mi="3" ci="0" mb="2" cb="0"/><line nr="147" mi="4" ci="0" mb="0" cb="0"/><line nr="148" mi="4" ci="0" mb="0" cb="0"/><line nr="149" mi="1" ci="0" mb="0" cb="0"/><line nr="150" mi="3" ci="0" mb="0" cb="0"/><line nr="152" mi="4" ci="0" mb="0" cb="0"/><line nr="153" mi="1" ci="0" mb="0" cb="0"/><line nr="154" mi="4" ci="0" mb="0" cb="0"/><line nr="155" mi="1" ci="0" mb="0" cb="0"/><line nr="156" mi="3" ci="0" mb="0" cb="0"/><line nr="157" mi="1" ci="0" mb="0" cb="0"/><line nr="158" mi="3" ci="0" mb="0" cb="0"/><line nr="159" mi="1" ci="0" mb="0" cb="0"/><line nr="162" mi="3" ci="0" mb="0" cb="0"/><line nr="163" mi="3" ci="0" mb="0" cb="0"/><line nr="164" mi="3" ci="0" mb="0" cb="0"/><line nr="165" mi="3" ci="0" mb="0" cb="0"/><line nr="166" mi="3" ci="0" mb="0" cb="0"/><line nr="167" mi="3" ci="0" mb="0" cb="0"/><line nr="168" mi="3" ci="0" mb="0" cb="0"/><line nr="169" mi="3" ci="0" mb="0" cb="0"/><line nr="170" mi="4" ci="0" mb="0" cb="0"/><line nr="171" mi="3" ci="0" mb="0" cb="0"/><line nr="172" mi="3" ci="0" mb="0" cb="0"/><line nr="173" mi="3" ci="0" mb="0" cb="0"/><line nr="174" mi="3" ci="0" mb="0" cb="0"/><line nr="175" mi="10" ci="0" mb="0" cb="0"/><line nr="176" mi="3" ci="0" mb="0" cb="0"/><line nr="177" mi="3" ci="0" mb="0" cb="0"/><line nr="178" mi="3" ci="0" mb="0" cb="0"/><line nr="179" mi="10" ci="0" mb="2" cb="0"/><line nr="180" mi="1" ci="0" mb="0" cb="0"/><line nr="181" mi="3" ci="0" mb="0" cb="0"/><line nr="182" mi="1" ci="0" mb="0" cb="0"/><line nr="185" mi="3" ci="0" mb="0" cb="0"/><line nr="186" mi="3" ci="0" mb="0" cb="0"/><line nr="187" mi="3" ci="0" mb="0" cb="0"/><line nr="188" mi="3" ci="0" mb="2" cb="0"/><line nr="189" mi="4" ci="0" mb="0" cb="0"/><line nr="190" mi="4" ci="0" mb="0" cb="0"/><line nr="191" mi="1" ci="0" mb="0" cb="0"/><line nr="192" mi="3" ci="0" mb="0" cb="0"/><line nr="193" mi="3" ci="0" mb="0" cb="0"/><line nr="194" mi="5" ci="0" mb="0" cb="0"/><line nr="195" mi="3" ci="0" mb="0" cb="0"/><line nr="196" mi="3" ci="0" mb="0" cb="0"/><line nr="198" mi="3" ci="0" mb="0" cb="0"/><line nr="199" mi="3" ci="0" mb="2" cb="0"/><line nr="200" mi="4" ci="0" mb="0" cb="0"/><line nr="201" mi="4" ci="0" mb="0" cb="0"/><line nr="202" mi="1" ci="0" mb="0" cb="0"/><line nr="203" mi="5" ci="0" mb="2" cb="0"/><line nr="204" mi="3" ci="0" mb="0" cb="0"/><line nr="205" mi="3" ci="0" mb="0" cb="0"/><line nr="207" mi="4" ci="0" mb="0" cb="0"/><line nr="208" mi="1" ci="0" mb="0" cb="0"/><line nr="209" mi="4" ci="0" mb="0" cb="0"/><line nr="210" mi="1" ci="0" mb="0" cb="0"/><line nr="212" mi="3" ci="0" mb="0" cb="0"/><line nr="213" mi="3" ci="0" mb="0" cb="0"/><line nr="214" mi="1" ci="0" mb="0" cb="0"/><line nr="215" mi="3" ci="0" mb="0" cb="0"/><line nr="216" mi="1" ci="0" mb="0" cb="0"/><line nr="217" mi="3" ci="0" mb="0" cb="0"/><line nr="218" mi="1" ci="0" mb="0" cb="0"/><line nr="221" mi="3" ci="0" mb="0" cb="0"/><line nr="222" mi="3" ci="0" mb="0" cb="0"/><line nr="223" mi="3" ci="0" mb="2" cb="0"/><line nr="224" mi="4" ci="0" mb="0" cb="0"/><line nr="225" mi="4" ci="0" mb="0" cb="0"/><line nr="226" mi="1" ci="0" mb="0" cb="0"/><line nr="227" mi="3" ci="0" mb="0" cb="0"/><line nr="229" mi="3" ci="0" mb="0" cb="0"/><line nr="230" mi="1" ci="0" mb="0" cb="0"/><line nr="231" mi="4" ci="0" mb="0" cb="0"/><line nr="232" mi="1" ci="0" mb="0" cb="0"/><line nr="233" mi="3" ci="0" mb="0" cb="0"/><line nr="234" mi="1" ci="0" mb="0" cb="0"/><line nr="235" mi="3" ci="0" mb="0" cb="0"/><line nr="236" mi="1" ci="0" mb="0" cb="0"/><line nr="239" mi="2" ci="0" mb="0" cb="0"/><line nr="240" mi="2" ci="0" mb="0" cb="0"/><line nr="241" mi="2" ci="0" mb="0" cb="0"/><line nr="242" mi="3" ci="0" mb="0" cb="0"/><line nr="243" mi="1" ci="0" mb="0" cb="0"/><line nr="244" mi="3" ci="0" mb="0" cb="0"/><line nr="245" mi="1" ci="0" mb="0" cb="0"/><line nr="248" mi="1" ci="0" mb="0" cb="0"/><line nr="249" mi="3" ci="0" mb="0" cb="0"/><line nr="250" mi="3" ci="0" mb="0" cb="0"/><line nr="251" mi="1" ci="0" mb="0" cb="0"/><line nr="254" mi="1" ci="0" mb="0" cb="0"/><line nr="257" mi="2" ci="0" mb="0" cb="0"/><line nr="258" mi="1" ci="0" mb="0" cb="0"/><line nr="261" mi="3" ci="0" mb="0" cb="0"/><line nr="262" mi="3" ci="0" mb="0" cb="0"/><line nr="263" mi="3" ci="0" mb="0" cb="0"/><line nr="264" mi="3" ci="0" mb="0" cb="0"/><line nr="265" mi="3" ci="0" mb="0" cb="0"/><line nr="266" mi="3" ci="0" mb="0" cb="0"/><line nr="267" mi="3" ci="0" mb="0" cb="0"/><line nr="268" mi="3" ci="0" mb="0" cb="0"/><line nr="269" mi="3" ci="0" mb="0" cb="0"/><line nr="270" mi="3" ci="0" mb="0" cb="0"/><line nr="271" mi="3" ci="0" mb="0" cb="0"/><line nr="272" mi="3" ci="0" mb="0" cb="0"/><line nr="273" mi="3" ci="0" mb="0" cb="0"/><line nr="274" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="605" covered="0"/><counter type="BRANCH" missed="41" covered="0"/><counter type="LINE" missed="206" covered="0"/><counter type="COMPLEXITY" missed="30" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><counter type="INSTRUCTION" missed="605" covered="0"/><counter type="BRANCH" missed="41" covered="0"/><counter type="LINE" missed="206" covered="0"/><counter type="COMPLEXITY" missed="30" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></package><counter type="INSTRUCTION" missed="2162" covered="641"/><counter type="BRANCH" missed="193" covered="17"/><counter type="LINE" missed="591" covered="154"/><counter type="COMPLEXITY" missed="173" covered="38"/><counter type="METHOD" missed="62" covered="31"/><counter type="CLASS" missed="12" covered="7"/></report>
          \ No newline at end of file
          +<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!DOCTYPE report PUBLIC "-//JACOCO//DTD Report 1.1//EN" "report.dtd"><report name="spoteezer"><sessioninfo id="DESKTOP-M4INQND-91a7872b" start="1624793019797" dump="1624793020432"/><package name="musichub/util"><class name="musichub/util/PathValidation" sourcefilename="PathValidation.java"><method name="&lt;init&gt;" desc="()V" line="23"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isPathValid" desc="(Ljava/lang/String;)Z" line="35"><counter type="INSTRUCTION" missed="0" covered="32"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="39"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="musichub/util/LogHandler" sourcefilename="LogHandler.java"><method name="&lt;init&gt;" desc="()V" line="25"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="write" desc="(Ljava/lang/String;Ljava/lang/String;)V" line="38"><counter type="INSTRUCTION" missed="0" covered="26"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="read" desc="()V" line="58"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="46"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="musichub/util/XMLHandler" sourcefilename="XMLHandler.java"><method name="&lt;init&gt;" desc="()V" line="26"><counter type="INSTRUCTION" missed="3" covered="20"/><counter type="LINE" missed="2" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createXMLFile" desc="(Lorg/w3c/dom/Document;Ljava/lang/String;)V" line="41"><counter type="INSTRUCTION" missed="3" covered="20"/><counter type="LINE" missed="2" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createXMLDocument" desc="()Lorg/w3c/dom/Document;" line="57"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="parseXMLFile" desc="(Ljava/lang/String;)Lorg/w3c/dom/NodeList;" line="61"><counter type="INSTRUCTION" missed="0" covered="22"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="6" covered="66"/><counter type="LINE" missed="4" covered="21"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="PathValidation.java"><line nr="23" mi="0" ci="2" mb="0" cb="0"/><line nr="24" mi="0" ci="5" mb="0" cb="0"/><line nr="35" mi="0" ci="2" mb="0" cb="0"/><line nr="37" mi="0" ci="4" mb="0" cb="0"/><line nr="38" mi="0" ci="2" mb="0" cb="2"/><line nr="39" mi="0" ci="6" mb="0" cb="0"/><line nr="40" mi="0" ci="4" mb="0" cb="2"/><line nr="41" mi="0" ci="2" mb="0" cb="0"/><line nr="45" mi="0" ci="5" mb="0" cb="0"/><line nr="46" mi="0" ci="7" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="39"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="LogHandler.java"><line nr="25" mi="0" ci="2" mb="0" cb="0"/><line nr="26" mi="0" ci="5" mb="0" cb="0"/><line nr="38" mi="0" ci="5" mb="0" cb="0"/><line nr="41" mi="0" ci="5" mb="0" cb="0"/><line nr="44" mi="0" ci="5" mb="0" cb="0"/><line nr="47" mi="0" ci="10" mb="0" cb="0"/><line nr="50" mi="0" ci="1" mb="0" cb="0"/><line nr="58" mi="0" ci="5" mb="0" cb="0"/><line nr="61" mi="0" ci="3" mb="0" cb="0"/><line nr="64" mi="0" ci="4" mb="0" cb="0"/><line nr="66" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="46"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="XMLHandler.java"><line nr="26" mi="0" ci="2" mb="0" cb="0"/><line nr="28" mi="0" ci="3" mb="0" cb="0"/><line nr="29" mi="0" ci="5" mb="0" cb="0"/><line nr="30" mi="0" ci="3" mb="0" cb="0"/><line nr="31" mi="0" ci="5" mb="0" cb="0"/><line nr="32" mi="1" ci="0" mb="0" cb="0"/><line nr="33" mi="2" ci="0" mb="0" cb="0"/><line nr="34" mi="0" ci="1" mb="0" cb="0"/><line nr="35" mi="0" ci="1" mb="0" cb="0"/><line nr="41" mi="0" ci="5" mb="0" cb="0"/><line nr="42" mi="0" ci="8" mb="0" cb="0"/><line nr="49" mi="0" ci="5" mb="0" cb="0"/><line nr="51" mi="1" ci="0" mb="0" cb="0"/><line nr="52" mi="2" ci="0" mb="0" cb="0"/><line nr="53" mi="0" ci="1" mb="0" cb="0"/><line nr="54" mi="0" ci="1" mb="0" cb="0"/><line nr="57" mi="0" ci="4" mb="0" cb="0"/><line nr="61" mi="0" ci="2" mb="0" cb="0"/><line nr="63" mi="0" ci="8" mb="0" cb="0"/><line nr="64" mi="0" ci="3" mb="0" cb="0"/><line nr="66" mi="0" ci="3" mb="0" cb="0"/><line nr="67" mi="0" ci="1" mb="0" cb="0"/><line nr="68" mi="0" ci="2" mb="0" cb="0"/><line nr="69" mi="0" ci="1" mb="0" cb="0"/><line nr="70" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="6" covered="66"/><counter type="LINE" missed="4" covered="21"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="6" covered="151"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="4" covered="42"/><counter type="COMPLEXITY" missed="0" covered="11"/><counter type="METHOD" missed="0" covered="9"/><counter type="CLASS" missed="0" covered="3"/></package><package name="musichub/business"><class name="musichub/business/Album" sourcefilename="Album.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/util/ArrayList;)V" line="21"><counter type="INSTRUCTION" missed="33" covered="0"/><counter type="LINE" missed="12" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V" line="35"><counter type="INSTRUCTION" missed="34" covered="0"/><counter type="LINE" missed="12" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Lorg/w3c/dom/Element;)V" line="49"><counter type="INSTRUCTION" missed="112" covered="0"/><counter type="BRANCH" missed="12" covered="0"/><counter type="LINE" missed="26" covered="0"/><counter type="COMPLEXITY" missed="7" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addSong" desc="(Ljava/util/UUID;)V" line="89"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getSongs" desc="()Ljava/util/List;" line="94"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getSongsRandomly" desc="()Ljava/util/ArrayList;" line="98"><counter type="INSTRUCTION" missed="7" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getTitle" desc="()Ljava/lang/String;" line="104"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getDate" desc="()Ljava/util/Date;" line="108"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createXMLElement" desc="(Lorg/w3c/dom/Document;Lorg/w3c/dom/Element;)V" line="112"><counter type="INSTRUCTION" missed="129" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="26" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="330" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="84" covered="0"/><counter type="COMPLEXITY" missed="16" covered="0"/><counter type="METHOD" missed="9" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/SortByAuthor" sourcefilename="MusicHub.java"><method name="&lt;init&gt;" desc="()V" line="27"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="compare" desc="(Lmusichub/business/AudioElement;Lmusichub/business/AudioElement;)I" line="29"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="9" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/NoAlbumFoundException" sourcefilename="NoAlbumFoundException.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="6"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/Language" sourcefilename="Language.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;ILjava/lang/String;)V" line="7"><counter type="INSTRUCTION" missed="8" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getLanguage" desc="()Ljava/lang/String;" line="12"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="3"><counter type="INSTRUCTION" missed="38" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="49" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/SortByDate" sourcefilename="MusicHub.java"><method name="&lt;init&gt;" desc="()V" line="15"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="compare" desc="(Lmusichub/business/Album;Lmusichub/business/Album;)I" line="17"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="9" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/MusicHub" sourcefilename="MusicHub.java"><method name="&lt;init&gt;" desc="()V" line="41"><counter type="INSTRUCTION" missed="29" covered="0"/><counter type="LINE" missed="9" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addElement" desc="(Lmusichub/business/AudioElement;)V" line="53"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addAlbum" desc="(Lmusichub/business/Album;)V" line="57"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addPlaylist" desc="(Lmusichub/business/PlayList;)V" line="61"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="deletePlayList" desc="(Ljava/lang/String;)V" line="66"><counter type="INSTRUCTION" missed="40" covered="0"/><counter type="BRANCH" missed="8" covered="0"/><counter type="LINE" missed="11" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="albums" desc="()Ljava/util/Iterator;" line="81"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="playlists" desc="()Ljava/util/Iterator;" line="85"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="elements" desc="()Ljava/util/Iterator;" line="89"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAlbumsTitlesSortedByDate" desc="()Ljava/lang/String;" line="93"><counter type="INSTRUCTION" missed="32" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAudiobooksTitlesSortedByAuthor" desc="()Ljava/lang/String;" line="101"><counter type="INSTRUCTION" missed="53" covered="0"/><counter type="BRANCH" missed="6" covered="0"/><counter type="LINE" missed="9" covered="0"/><counter type="COMPLEXITY" missed="4" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAlbumSongs" desc="(Ljava/lang/String;)Ljava/util/List;" line="113"><counter type="INSTRUCTION" missed="73" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="15" covered="0"/><counter type="COMPLEXITY" missed="8" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAlbumSongsSortedByGenre" desc="(Ljava/lang/String;)Ljava/util/List;" line="135"><counter type="INSTRUCTION" missed="79" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="16" covered="0"/><counter type="COMPLEXITY" missed="8" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addElementToAlbum" desc="(Ljava/lang/String;Ljava/lang/String;)V" line="158"><counter type="INSTRUCTION" missed="82" covered="0"/><counter type="BRANCH" missed="12" covered="0"/><counter type="LINE" missed="20" covered="0"/><counter type="COMPLEXITY" missed="7" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addElementToPlayList" desc="(Ljava/lang/String;Ljava/lang/String;)V" line="187"><counter type="INSTRUCTION" missed="82" covered="0"/><counter type="BRANCH" missed="12" covered="0"/><counter type="LINE" missed="20" covered="0"/><counter type="COMPLEXITY" missed="7" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="loadAlbums" desc="()V" line="218"><counter type="INSTRUCTION" missed="44" covered="0"/><counter type="BRANCH" missed="8" covered="0"/><counter type="LINE" missed="11" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="loadPlaylists" desc="()V" line="236"><counter type="INSTRUCTION" missed="44" covered="0"/><counter type="BRANCH" missed="8" covered="0"/><counter type="LINE" missed="11" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="loadElements" desc="()V" line="254"><counter type="INSTRUCTION" missed="64" covered="0"/><counter type="BRANCH" missed="10" covered="0"/><counter type="LINE" missed="18" covered="0"/><counter type="COMPLEXITY" missed="6" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="saveAlbums" desc="()V" line="282"><counter type="INSTRUCTION" missed="36" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="10" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="savePlayLists" desc="()V" line="298"><counter type="INSTRUCTION" missed="36" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="10" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="saveElements" desc="()V" line="314"><counter type="INSTRUCTION" missed="47" covered="0"/><counter type="BRANCH" missed="8" covered="0"/><counter type="LINE" missed="12" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAudioElement" desc="(Ljava/util/List;Ljava/lang/String;)V" line="335"><counter type="INSTRUCTION" missed="19" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="34"><counter type="INSTRUCTION" missed="13" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="803" covered="0"/><counter type="BRANCH" missed="114" covered="0"/><counter type="LINE" missed="195" covered="0"/><counter type="COMPLEXITY" missed="79" covered="0"/><counter type="METHOD" missed="22" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/Category" sourcefilename="Category.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;ILjava/lang/String;)V" line="7"><counter type="INSTRUCTION" missed="8" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getCategory" desc="()Ljava/lang/String;" line="12"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="3"><counter type="INSTRUCTION" missed="38" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="49" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/Song" sourcefilename="Song.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" line="11"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V" line="16"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lorg/w3c/dom/Element;)V" line="21"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getGenre" desc="()Ljava/lang/String;" line="26"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setGenre" desc="(Ljava/lang/String;)V" line="30"><counter type="INSTRUCTION" missed="0" covered="33"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="1"/></method><method name="toString" desc="()Ljava/lang/String;" line="41"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createXMLElement" desc="(Lorg/w3c/dom/Document;Lorg/w3c/dom/Element;)V" line="46"><counter type="INSTRUCTION" missed="0" covered="29"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="105"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="26"/><counter type="COMPLEXITY" missed="0" covered="12"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></class><class name="musichub/business/NoPlayListFoundException" sourcefilename="NoPlayListFoundException.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="6"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/PlayList" sourcefilename="PlayList.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/util/ArrayList;)V" line="16"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="22"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lorg/w3c/dom/Element;)V" line="28"><counter type="INSTRUCTION" missed="12" covered="76"/><counter type="BRANCH" missed="4" covered="8"/><counter type="LINE" missed="5" covered="18"/><counter type="COMPLEXITY" missed="4" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="addElement" desc="(Ljava/util/UUID;)V" line="66"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getElements" desc="()Ljava/util/ArrayList;" line="70"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getTitle" desc="()Ljava/lang/String;" line="74"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createXMLElement" desc="(Lorg/w3c/dom/Document;Lorg/w3c/dom/Element;)V" line="78"><counter type="INSTRUCTION" missed="20" covered="55"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="4" covered="12"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="32" covered="170"/><counter type="BRANCH" missed="5" covered="9"/><counter type="LINE" missed="9" covered="44"/><counter type="COMPLEXITY" missed="5" covered="9"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></class><class name="musichub/business/AudioBook" sourcefilename="AudioBook.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" line="11"><counter type="INSTRUCTION" missed="14" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" line="17"><counter type="INSTRUCTION" missed="13" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Lorg/w3c/dom/Element;)V" line="23"><counter type="INSTRUCTION" missed="20" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getLanguage" desc="()Lmusichub/business/Language;" line="29"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="setLanguage" desc="(Ljava/lang/String;)V" line="33"><counter type="INSTRUCTION" missed="29" covered="0"/><counter type="BRANCH" missed="5" covered="0"/><counter type="LINE" missed="7" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getCategory" desc="()Lmusichub/business/Category;" line="43"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="setCategory" desc="(Ljava/lang/String;)V" line="47"><counter type="INSTRUCTION" missed="29" covered="0"/><counter type="BRANCH" missed="5" covered="0"/><counter type="LINE" missed="7" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="toString" desc="()Ljava/lang/String;" line="58"><counter type="INSTRUCTION" missed="8" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createXMLElement" desc="(Lorg/w3c/dom/Document;Lorg/w3c/dom/Element;)V" line="64"><counter type="INSTRUCTION" missed="45" covered="0"/><counter type="LINE" missed="10" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="164" covered="0"/><counter type="BRANCH" missed="10" covered="0"/><counter type="LINE" missed="39" covered="0"/><counter type="COMPLEXITY" missed="17" covered="0"/><counter type="METHOD" missed="9" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/SortByGenre" sourcefilename="MusicHub.java"><method name="&lt;init&gt;" desc="()V" line="21"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="compare" desc="(Lmusichub/business/Song;Lmusichub/business/Song;)I" line="23"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="9" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/NoElementFoundException" sourcefilename="NoElementFoundException.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="6"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/Genre" sourcefilename="Genre.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;ILjava/lang/String;)V" line="7"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getGenre" desc="()Ljava/lang/String;" line="12"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="3"><counter type="INSTRUCTION" missed="0" covered="45"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="56"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="musichub/business/AudioElement" sourcefilename="AudioElement.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V" line="24"><counter type="INSTRUCTION" missed="0" covered="19"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V" line="32"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lorg/w3c/dom/Element;)V" line="40"><counter type="INSTRUCTION" missed="8" covered="55"/><counter type="BRANCH" missed="2" covered="2"/><counter type="LINE" missed="3" covered="11"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getUUID" desc="()Ljava/util/UUID;" line="59"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getArtist" desc="()Ljava/lang/String;" line="63"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getTitle" desc="()Ljava/lang/String;" line="67"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="toString" desc="()Ljava/lang/String;" line="71"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createXMLElement" desc="(Lorg/w3c/dom/Document;Lorg/w3c/dom/Element;)V" line="75"><counter type="INSTRUCTION" missed="0" covered="79"/><counter type="LINE" missed="0" covered="16"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="manageAudioElement" desc="()V" line="99"><counter type="INSTRUCTION" missed="68" covered="0"/><counter type="BRANCH" missed="7" covered="0"/><counter type="LINE" missed="24" covered="0"/><counter type="COMPLEXITY" missed="6" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="85" covered="181"/><counter type="BRANCH" missed="9" covered="2"/><counter type="LINE" missed="30" covered="42"/><counter type="COMPLEXITY" missed="11" covered="5"/><counter type="METHOD" missed="4" covered="5"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="MusicHub.java"><line nr="15" mi="3" ci="0" mb="0" cb="0"/><line nr="17" mi="6" ci="0" mb="0" cb="0"/><line nr="21" mi="3" ci="0" mb="0" cb="0"/><line nr="23" mi="6" ci="0" mb="0" cb="0"/><line nr="27" mi="3" ci="0" mb="0" cb="0"/><line nr="29" mi="6" ci="0" mb="0" cb="0"/><line nr="34" mi="3" ci="0" mb="0" cb="0"/><line nr="35" mi="3" ci="0" mb="0" cb="0"/><line nr="36" mi="3" ci="0" mb="0" cb="0"/><line nr="37" mi="4" ci="0" mb="0" cb="0"/><line nr="41" mi="5" ci="0" mb="0" cb="0"/><line nr="43" mi="2" ci="0" mb="0" cb="0"/><line nr="44" mi="5" ci="0" mb="0" cb="0"/><line nr="45" mi="5" ci="0" mb="0" cb="0"/><line nr="46" mi="5" ci="0" mb="0" cb="0"/><line nr="47" mi="2" ci="0" mb="0" cb="0"/><line nr="48" mi="2" ci="0" mb="0" cb="0"/><line nr="49" mi="2" ci="0" mb="0" cb="0"/><line nr="50" mi="1" ci="0" mb="0" cb="0"/><line nr="53" mi="5" ci="0" mb="0" cb="0"/><line nr="54" mi="1" ci="0" mb="0" cb="0"/><line nr="57" mi="5" ci="0" mb="0" cb="0"/><line nr="58" mi="1" ci="0" mb="0" cb="0"/><line nr="61" mi="5" ci="0" mb="0" cb="0"/><line nr="62" mi="1" ci="0" mb="0" cb="0"/><line nr="66" mi="2" ci="0" mb="0" cb="0"/><line nr="67" mi="2" ci="0" mb="0" cb="0"/><line nr="68" mi="11" ci="0" mb="2" cb="0"/><line nr="69" mi="5" ci="0" mb="2" cb="0"/><line nr="70" mi="2" ci="0" mb="0" cb="0"/><line nr="71" mi="1" ci="0" mb="0" cb="0"/><line nr="73" mi="1" ci="0" mb="0" cb="0"/><line nr="75" mi="2" ci="0" mb="2" cb="0"/><line nr="76" mi="5" ci="0" mb="0" cb="0"/><line nr="77" mi="8" ci="0" mb="2" cb="0"/><line nr="78" mi="1" ci="0" mb="0" cb="0"/><line nr="81" mi="4" ci="0" mb="0" cb="0"/><line nr="85" mi="4" ci="0" mb="0" cb="0"/><line nr="89" mi="4" ci="0" mb="0" cb="0"/><line nr="93" mi="4" ci="0" mb="0" cb="0"/><line nr="94" mi="6" ci="0" mb="0" cb="0"/><line nr="95" mi="11" ci="0" mb="2" cb="0"/><line nr="96" mi="8" ci="0" mb="0" cb="0"/><line nr="97" mi="3" ci="0" mb="0" cb="0"/><line nr="101" mi="4" ci="0" mb="0" cb="0"/><line nr="102" mi="4" ci="0" mb="0" cb="0"/><line nr="103" mi="11" ci="0" mb="2" cb="0"/><line nr="104" mi="4" ci="0" mb="2" cb="0"/><line nr="105" mi="4" ci="0" mb="0" cb="0"/><line nr="106" mi="5" ci="0" mb="0" cb="0"/><line nr="107" mi="10" ci="0" mb="2" cb="0"/><line nr="108" mi="8" ci="0" mb="0" cb="0"/><line nr="109" mi="3" ci="0" mb="0" cb="0"/><line nr="113" mi="2" ci="0" mb="0" cb="0"/><line nr="114" mi="4" ci="0" mb="0" cb="0"/><line nr="115" mi="11" ci="0" mb="2" cb="0"/><line nr="116" mi="5" ci="0" mb="2" cb="0"/><line nr="117" mi="2" ci="0" mb="0" cb="0"/><line nr="118" mi="1" ci="0" mb="0" cb="0"/><line nr="120" mi="1" ci="0" mb="0" cb="0"/><line nr="121" mi="7" ci="0" mb="2" cb="0"/><line nr="123" mi="3" ci="0" mb="0" cb="0"/><line nr="124" mi="10" ci="0" mb="2" cb="0"/><line nr="125" mi="12" ci="0" mb="2" cb="0"/><line nr="126" mi="3" ci="0" mb="2" cb="0"/><line nr="127" mi="9" ci="0" mb="2" cb="0"/><line nr="129" mi="1" ci="0" mb="0" cb="0"/><line nr="130" mi="2" ci="0" mb="0" cb="0"/><line nr="135" mi="2" ci="0" mb="0" cb="0"/><line nr="136" mi="4" ci="0" mb="0" cb="0"/><line nr="137" mi="11" ci="0" mb="2" cb="0"/><line nr="138" mi="5" ci="0" mb="2" cb="0"/><line nr="139" mi="2" ci="0" mb="0" cb="0"/><line nr="140" mi="1" ci="0" mb="0" cb="0"/><line nr="142" mi="1" ci="0" mb="0" cb="0"/><line nr="143" mi="7" ci="0" mb="2" cb="0"/><line nr="145" mi="3" ci="0" mb="0" cb="0"/><line nr="146" mi="10" ci="0" mb="2" cb="0"/><line nr="147" mi="12" ci="0" mb="2" cb="0"/><line nr="148" mi="3" ci="0" mb="2" cb="0"/><line nr="149" mi="10" ci="0" mb="2" cb="0"/><line nr="151" mi="1" ci="0" mb="0" cb="0"/><line nr="152" mi="5" ci="0" mb="0" cb="0"/><line nr="153" mi="2" ci="0" mb="0" cb="0"/><line nr="158" mi="2" ci="0" mb="0" cb="0"/><line nr="160" mi="2" ci="0" mb="0" cb="0"/><line nr="161" mi="9" ci="0" mb="2" cb="0"/><line nr="162" mi="9" ci="0" mb="2" cb="0"/><line nr="163" mi="6" ci="0" mb="0" cb="0"/><line nr="164" mi="2" ci="0" mb="0" cb="0"/><line nr="165" mi="1" ci="0" mb="0" cb="0"/><line nr="169" mi="2" ci="0" mb="2" cb="0"/><line nr="170" mi="2" ci="0" mb="0" cb="0"/><line nr="171" mi="11" ci="0" mb="2" cb="0"/><line nr="172" mi="5" ci="0" mb="2" cb="0"/><line nr="173" mi="2" ci="0" mb="0" cb="0"/><line nr="174" mi="1" ci="0" mb="0" cb="0"/><line nr="176" mi="1" ci="0" mb="0" cb="0"/><line nr="177" mi="2" ci="0" mb="2" cb="0"/><line nr="178" mi="4" ci="0" mb="0" cb="0"/><line nr="180" mi="7" ci="0" mb="0" cb="0"/><line nr="181" mi="6" ci="0" mb="0" cb="0"/><line nr="182" mi="7" ci="0" mb="0" cb="0"/><line nr="184" mi="1" ci="0" mb="0" cb="0"/><line nr="187" mi="2" ci="0" mb="0" cb="0"/><line nr="189" mi="2" ci="0" mb="0" cb="0"/><line nr="191" mi="9" ci="0" mb="2" cb="0"/><line nr="192" mi="9" ci="0" mb="2" cb="0"/><line nr="193" mi="6" ci="0" mb="0" cb="0"/><line nr="194" mi="2" ci="0" mb="0" cb="0"/><line nr="195" mi="1" ci="0" mb="0" cb="0"/><line nr="199" mi="2" ci="0" mb="2" cb="0"/><line nr="200" mi="2" ci="0" mb="0" cb="0"/><line nr="201" mi="11" ci="0" mb="2" cb="0"/><line nr="202" mi="5" ci="0" mb="2" cb="0"/><line nr="203" mi="2" ci="0" mb="0" cb="0"/><line nr="204" mi="1" ci="0" mb="0" cb="0"/><line nr="206" mi="1" ci="0" mb="0" cb="0"/><line nr="207" mi="2" ci="0" mb="2" cb="0"/><line nr="208" mi="4" ci="0" mb="0" cb="0"/><line nr="210" mi="7" ci="0" mb="0" cb="0"/><line nr="211" mi="6" ci="0" mb="0" cb="0"/><line nr="213" mi="7" ci="0" mb="0" cb="0"/><line nr="215" mi="1" ci="0" mb="0" cb="0"/><line nr="218" mi="5" ci="0" mb="0" cb="0"/><line nr="219" mi="3" ci="0" mb="2" cb="0"/><line nr="221" mi="8" ci="0" mb="2" cb="0"/><line nr="222" mi="6" ci="0" mb="2" cb="0"/><line nr="223" mi="5" ci="0" mb="0" cb="0"/><line nr="224" mi="5" ci="0" mb="2" cb="0"/><line nr="226" mi="6" ci="0" mb="0" cb="0"/><line nr="227" mi="1" ci="0" mb="0" cb="0"/><line nr="228" mi="3" ci="0" mb="0" cb="0"/><line nr="229" mi="1" ci="0" mb="0" cb="0"/><line nr="233" mi="1" ci="0" mb="0" cb="0"/><line nr="236" mi="5" ci="0" mb="0" cb="0"/><line nr="237" mi="3" ci="0" mb="2" cb="0"/><line nr="239" mi="8" ci="0" mb="2" cb="0"/><line nr="240" mi="6" ci="0" mb="2" cb="0"/><line nr="241" mi="5" ci="0" mb="0" cb="0"/><line nr="242" mi="5" ci="0" mb="2" cb="0"/><line nr="244" mi="6" ci="0" mb="0" cb="0"/><line nr="245" mi="1" ci="0" mb="0" cb="0"/><line nr="246" mi="3" ci="0" mb="0" cb="0"/><line nr="247" mi="1" ci="0" mb="0" cb="0"/><line nr="251" mi="1" ci="0" mb="0" cb="0"/><line nr="254" mi="5" ci="0" mb="0" cb="0"/><line nr="255" mi="3" ci="0" mb="2" cb="0"/><line nr="257" mi="8" ci="0" mb="2" cb="0"/><line nr="258" mi="6" ci="0" mb="2" cb="0"/><line nr="259" mi="5" ci="0" mb="0" cb="0"/><line nr="260" mi="5" ci="0" mb="2" cb="0"/><line nr="262" mi="5" ci="0" mb="0" cb="0"/><line nr="263" mi="3" ci="0" mb="0" cb="0"/><line nr="264" mi="1" ci="0" mb="0" cb="0"/><line nr="265" mi="3" ci="0" mb="0" cb="0"/><line nr="266" mi="1" ci="0" mb="0" cb="0"/><line nr="268" mi="5" ci="0" mb="2" cb="0"/><line nr="270" mi="5" ci="0" mb="0" cb="0"/><line nr="271" mi="3" ci="0" mb="0" cb="0"/><line nr="272" mi="1" ci="0" mb="0" cb="0"/><line nr="273" mi="3" ci="0" mb="0" cb="0"/><line nr="274" mi="1" ci="0" mb="0" cb="0"/><line nr="278" mi="1" ci="0" mb="0" cb="0"/><line nr="282" mi="4" ci="0" mb="0" cb="0"/><line nr="283" mi="3" ci="0" mb="2" cb="0"/><line nr="286" mi="4" ci="0" mb="0" cb="0"/><line nr="287" mi="4" ci="0" mb="0" cb="0"/><line nr="290" mi="6" ci="0" mb="2" cb="0"/><line nr="291" mi="4" ci="0" mb="0" cb="0"/><line nr="292" mi="4" ci="0" mb="0" cb="0"/><line nr="293" mi="1" ci="0" mb="0" cb="0"/><line nr="294" mi="5" ci="0" mb="0" cb="0"/><line nr="295" mi="1" ci="0" mb="0" cb="0"/><line nr="298" mi="4" ci="0" mb="0" cb="0"/><line nr="299" mi="3" ci="0" mb="2" cb="0"/><line nr="302" mi="4" ci="0" mb="0" cb="0"/><line nr="303" mi="4" ci="0" mb="0" cb="0"/><line nr="306" mi="6" ci="0" mb="2" cb="0"/><line nr="307" mi="4" ci="0" mb="0" cb="0"/><line nr="308" mi="4" ci="0" mb="0" cb="0"/><line nr="309" mi="1" ci="0" mb="0" cb="0"/><line nr="310" mi="5" ci="0" mb="0" cb="0"/><line nr="311" mi="1" ci="0" mb="0" cb="0"/><line nr="314" mi="4" ci="0" mb="0" cb="0"/><line nr="315" mi="3" ci="0" mb="2" cb="0"/><line nr="318" mi="4" ci="0" mb="0" cb="0"/><line nr="319" mi="4" ci="0" mb="0" cb="0"/><line nr="322" mi="11" ci="0" mb="2" cb="0"/><line nr="324" mi="3" ci="0" mb="2" cb="0"/><line nr="325" mi="4" ci="0" mb="0" cb="0"/><line nr="327" mi="3" ci="0" mb="2" cb="0"/><line nr="328" mi="4" ci="0" mb="0" cb="0"/><line nr="330" mi="1" ci="0" mb="0" cb="0"/><line nr="331" mi="5" ci="0" mb="0" cb="0"/><line nr="332" mi="1" ci="0" mb="0" cb="0"/><line nr="335" mi="10" ci="0" mb="2" cb="0"/><line nr="336" mi="5" ci="0" mb="2" cb="0"/><line nr="337" mi="2" ci="0" mb="0" cb="0"/><line nr="339" mi="1" ci="0" mb="0" cb="0"/><line nr="341" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="830" covered="0"/><counter type="BRANCH" missed="114" covered="0"/><counter type="LINE" missed="201" covered="0"/><counter type="COMPLEXITY" missed="85" covered="0"/><counter type="METHOD" missed="28" covered="0"/><counter type="CLASS" missed="4" covered="0"/></sourcefile><sourcefile name="PlayList.java"><line nr="16" mi="0" ci="2" mb="0" cb="0"/><line nr="17" mi="0" ci="3" mb="0" cb="0"/><line nr="18" mi="0" ci="4" mb="0" cb="0"/><line nr="19" mi="0" ci="3" mb="0" cb="0"/><line nr="20" mi="0" ci="1" mb="0" cb="0"/><line nr="22" mi="0" ci="2" mb="0" cb="0"/><line nr="23" mi="0" ci="3" mb="0" cb="0"/><line nr="24" mi="0" ci="3" mb="0" cb="0"/><line nr="25" mi="0" ci="5" mb="0" cb="0"/><line nr="26" mi="0" ci="1" mb="0" cb="0"/><line nr="28" mi="0" ci="2" mb="0" cb="0"/><line nr="30" mi="0" ci="8" mb="0" cb="0"/><line nr="32" mi="0" ci="2" mb="0" cb="0"/><line nr="34" mi="0" ci="7" mb="0" cb="0"/><line nr="35" mi="1" ci="0" mb="0" cb="0"/><line nr="36" mi="3" ci="0" mb="0" cb="0"/><line nr="37" mi="0" ci="1" mb="0" cb="0"/><line nr="38" mi="0" ci="5" mb="2" cb="2"/><line nr="39" mi="4" ci="0" mb="0" cb="0"/><line nr="40" mi="0" ci="4" mb="0" cb="0"/><line nr="43" mi="0" ci="6" mb="0" cb="0"/><line nr="44" mi="0" ci="3" mb="0" cb="0"/><line nr="45" mi="1" ci="2" mb="1" cb="1"/><line nr="47" mi="0" ci="5" mb="0" cb="0"/><line nr="50" mi="0" ci="8" mb="0" cb="2"/><line nr="51" mi="0" ci="6" mb="0" cb="2"/><line nr="52" mi="0" ci="5" mb="0" cb="0"/><line nr="53" mi="0" ci="5" mb="1" cb="1"/><line nr="55" mi="0" ci="5" mb="0" cb="0"/><line nr="56" mi="1" ci="0" mb="0" cb="0"/><line nr="57" mi="2" ci="0" mb="0" cb="0"/><line nr="58" mi="0" ci="1" mb="0" cb="0"/><line nr="63" mi="0" ci="1" mb="0" cb="0"/><line nr="66" mi="0" ci="5" mb="0" cb="0"/><line nr="67" mi="0" ci="1" mb="0" cb="0"/><line nr="70" mi="0" ci="3" mb="0" cb="0"/><line nr="74" mi="0" ci="3" mb="0" cb="0"/><line nr="78" mi="0" ci="4" mb="0" cb="0"/><line nr="79" mi="0" ci="4" mb="0" cb="0"/><line nr="81" mi="0" ci="4" mb="0" cb="0"/><line nr="82" mi="0" ci="7" mb="0" cb="0"/><line nr="83" mi="0" ci="4" mb="0" cb="0"/><line nr="85" mi="0" ci="4" mb="0" cb="0"/><line nr="86" mi="0" ci="8" mb="0" cb="0"/><line nr="87" mi="0" ci="4" mb="0" cb="0"/><line nr="90" mi="0" ci="4" mb="0" cb="0"/><line nr="91" mi="4" ci="7" mb="1" cb="1"/><line nr="93" mi="4" ci="0" mb="0" cb="0"/><line nr="94" mi="7" ci="0" mb="0" cb="0"/><line nr="95" mi="4" ci="0" mb="0" cb="0"/><line nr="96" mi="1" ci="0" mb="0" cb="0"/><line nr="97" mi="0" ci="4" mb="0" cb="0"/><line nr="98" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="32" covered="170"/><counter type="BRANCH" missed="5" covered="9"/><counter type="LINE" missed="9" covered="44"/><counter type="COMPLEXITY" missed="5" covered="9"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="NoAlbumFoundException.java"><line nr="6" mi="3" ci="0" mb="0" cb="0"/><line nr="7" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="Album.java"><line nr="21" mi="2" ci="0" mb="0" cb="0"/><line nr="22" mi="3" ci="0" mb="0" cb="0"/><line nr="23" mi="3" ci="0" mb="0" cb="0"/><line nr="24" mi="3" ci="0" mb="0" cb="0"/><line nr="25" mi="4" ci="0" mb="0" cb="0"/><line nr="27" mi="5" ci="0" mb="0" cb="0"/><line nr="28" mi="5" ci="0" mb="0" cb="0"/><line nr="29" mi="1" ci="0" mb="0" cb="0"/><line nr="30" mi="2" ci="0" mb="0" cb="0"/><line nr="31" mi="1" ci="0" mb="0" cb="0"/><line nr="32" mi="3" ci="0" mb="0" cb="0"/><line nr="33" mi="1" ci="0" mb="0" cb="0"/><line nr="35" mi="2" ci="0" mb="0" cb="0"/><line nr="36" mi="3" ci="0" mb="0" cb="0"/><line nr="37" mi="3" ci="0" mb="0" cb="0"/><line nr="38" mi="3" ci="0" mb="0" cb="0"/><line nr="39" mi="3" ci="0" mb="0" cb="0"/><line nr="41" mi="5" ci="0" mb="0" cb="0"/><line nr="42" mi="5" ci="0" mb="0" cb="0"/><line nr="43" mi="1" ci="0" mb="0" cb="0"/><line nr="44" mi="2" ci="0" mb="0" cb="0"/><line nr="45" mi="1" ci="0" mb="0" cb="0"/><line nr="46" mi="5" ci="0" mb="0" cb="0"/><line nr="47" mi="1" ci="0" mb="0" cb="0"/><line nr="49" mi="2" ci="0" mb="0" cb="0"/><line nr="51" mi="8" ci="0" mb="0" cb="0"/><line nr="52" mi="9" ci="0" mb="0" cb="0"/><line nr="53" mi="2" ci="0" mb="0" cb="0"/><line nr="55" mi="7" ci="0" mb="0" cb="0"/><line nr="56" mi="1" ci="0" mb="0" cb="0"/><line nr="57" mi="3" ci="0" mb="0" cb="0"/><line nr="58" mi="1" ci="0" mb="0" cb="0"/><line nr="59" mi="5" ci="0" mb="4" cb="0"/><line nr="60" mi="4" ci="0" mb="0" cb="0"/><line nr="61" mi="4" ci="0" mb="0" cb="0"/><line nr="63" mi="5" ci="0" mb="0" cb="0"/><line nr="64" mi="10" ci="0" mb="0" cb="0"/><line nr="66" mi="6" ci="0" mb="0" cb="0"/><line nr="67" mi="3" ci="0" mb="0" cb="0"/><line nr="68" mi="3" ci="0" mb="2" cb="0"/><line nr="70" mi="5" ci="0" mb="0" cb="0"/><line nr="72" mi="8" ci="0" mb="2" cb="0"/><line nr="73" mi="6" ci="0" mb="2" cb="0"/><line nr="74" mi="5" ci="0" mb="0" cb="0"/><line nr="75" mi="5" ci="0" mb="2" cb="0"/><line nr="77" mi="5" ci="0" mb="0" cb="0"/><line nr="78" mi="1" ci="0" mb="0" cb="0"/><line nr="79" mi="2" ci="0" mb="0" cb="0"/><line nr="80" mi="1" ci="0" mb="0" cb="0"/><line nr="85" mi="1" ci="0" mb="0" cb="0"/><line nr="89" mi="5" ci="0" mb="0" cb="0"/><line nr="90" mi="1" ci="0" mb="0" cb="0"/><line nr="94" mi="3" ci="0" mb="0" cb="0"/><line nr="98" mi="3" ci="0" mb="0" cb="0"/><line nr="99" mi="2" ci="0" mb="0" cb="0"/><line nr="100" mi="2" ci="0" mb="0" cb="0"/><line nr="104" mi="3" ci="0" mb="0" cb="0"/><line nr="108" mi="3" ci="0" mb="0" cb="0"/><line nr="112" mi="4" ci="0" mb="0" cb="0"/><line nr="113" mi="4" ci="0" mb="0" cb="0"/><line nr="115" mi="4" ci="0" mb="0" cb="0"/><line nr="116" mi="7" ci="0" mb="0" cb="0"/><line nr="117" mi="4" ci="0" mb="0" cb="0"/><line nr="119" mi="4" ci="0" mb="0" cb="0"/><line nr="120" mi="7" ci="0" mb="0" cb="0"/><line nr="121" mi="4" ci="0" mb="0" cb="0"/><line nr="123" mi="4" ci="0" mb="0" cb="0"/><line nr="124" mi="9" ci="0" mb="0" cb="0"/><line nr="125" mi="4" ci="0" mb="0" cb="0"/><line nr="127" mi="4" ci="0" mb="0" cb="0"/><line nr="128" mi="8" ci="0" mb="0" cb="0"/><line nr="129" mi="4" ci="0" mb="0" cb="0"/><line nr="131" mi="4" ci="0" mb="0" cb="0"/><line nr="132" mi="5" ci="0" mb="0" cb="0"/><line nr="133" mi="9" ci="0" mb="0" cb="0"/><line nr="134" mi="4" ci="0" mb="0" cb="0"/><line nr="136" mi="4" ci="0" mb="0" cb="0"/><line nr="137" mi="11" ci="0" mb="2" cb="0"/><line nr="138" mi="4" ci="0" mb="0" cb="0"/><line nr="139" mi="7" ci="0" mb="0" cb="0"/><line nr="140" mi="4" ci="0" mb="0" cb="0"/><line nr="141" mi="1" ci="0" mb="0" cb="0"/><line nr="142" mi="4" ci="0" mb="0" cb="0"/><line nr="144" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="330" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="84" covered="0"/><counter type="COMPLEXITY" missed="16" covered="0"/><counter type="METHOD" missed="9" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="Language.java"><line nr="3" mi="3" ci="0" mb="0" cb="0"/><line nr="4" mi="35" ci="0" mb="0" cb="0"/><line nr="7" mi="4" ci="0" mb="0" cb="0"/><line nr="8" mi="3" ci="0" mb="0" cb="0"/><line nr="9" mi="1" ci="0" mb="0" cb="0"/><line nr="12" mi="3" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="49" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="Genre.java"><line nr="3" mi="0" ci="3" mb="0" cb="0"/><line nr="4" mi="0" ci="42" mb="0" cb="0"/><line nr="7" mi="0" ci="4" mb="0" cb="0"/><line nr="8" mi="0" ci="3" mb="0" cb="0"/><line nr="9" mi="0" ci="1" mb="0" cb="0"/><line nr="12" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="56"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="NoPlayListFoundException.java"><line nr="6" mi="3" ci="0" mb="0" cb="0"/><line nr="7" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="AudioElement.java"><line nr="24" mi="0" ci="2" mb="0" cb="0"/><line nr="25" mi="0" ci="3" mb="0" cb="0"/><line nr="26" mi="0" ci="3" mb="0" cb="0"/><line nr="27" mi="0" ci="3" mb="0" cb="0"/><line nr="28" mi="0" ci="4" mb="0" cb="0"/><line nr="29" mi="0" ci="3" mb="0" cb="0"/><line nr="30" mi="0" ci="1" mb="0" cb="0"/><line nr="32" mi="0" ci="2" mb="0" cb="0"/><line nr="33" mi="0" ci="3" mb="0" cb="0"/><line nr="34" mi="0" ci="3" mb="0" cb="0"/><line nr="35" mi="0" ci="3" mb="0" cb="0"/><line nr="36" mi="0" ci="3" mb="0" cb="0"/><line nr="37" mi="0" ci="3" mb="0" cb="0"/><line nr="38" mi="0" ci="1" mb="0" cb="0"/><line nr="40" mi="0" ci="2" mb="0" cb="0"/><line nr="42" mi="0" ci="8" mb="0" cb="0"/><line nr="43" mi="0" ci="8" mb="0" cb="0"/><line nr="44" mi="0" ci="9" mb="0" cb="0"/><line nr="45" mi="0" ci="8" mb="0" cb="0"/><line nr="46" mi="0" ci="2" mb="0" cb="0"/><line nr="48" mi="0" ci="7" mb="0" cb="0"/><line nr="49" mi="1" ci="0" mb="0" cb="0"/><line nr="50" mi="3" ci="0" mb="0" cb="0"/><line nr="51" mi="0" ci="1" mb="0" cb="0"/><line nr="52" mi="0" ci="5" mb="2" cb="2"/><line nr="53" mi="4" ci="0" mb="0" cb="0"/><line nr="54" mi="0" ci="4" mb="0" cb="0"/><line nr="56" mi="0" ci="1" mb="0" cb="0"/><line nr="59" mi="3" ci="0" mb="0" cb="0"/><line nr="63" mi="3" ci="0" mb="0" cb="0"/><line nr="67" mi="3" ci="0" mb="0" cb="0"/><line nr="71" mi="0" ci="10" mb="0" cb="0"/><line nr="75" mi="0" ci="4" mb="0" cb="0"/><line nr="76" mi="0" ci="7" mb="0" cb="0"/><line nr="77" mi="0" ci="4" mb="0" cb="0"/><line nr="79" mi="0" ci="4" mb="0" cb="0"/><line nr="80" mi="0" ci="7" mb="0" cb="0"/><line nr="81" mi="0" ci="4" mb="0" cb="0"/><line nr="83" mi="0" ci="4" mb="0" cb="0"/><line nr="84" mi="0" ci="9" mb="0" cb="0"/><line nr="85" mi="0" ci="4" mb="0" cb="0"/><line nr="87" mi="0" ci="4" mb="0" cb="0"/><line nr="88" mi="0" ci="8" mb="0" cb="0"/><line nr="89" mi="0" ci="4" mb="0" cb="0"/><line nr="91" mi="0" ci="4" mb="0" cb="0"/><line nr="92" mi="0" ci="7" mb="0" cb="0"/><line nr="93" mi="0" ci="4" mb="0" cb="0"/><line nr="95" mi="0" ci="1" mb="0" cb="0"/><line nr="99" mi="5" ci="0" mb="0" cb="0"/><line nr="101" mi="6" ci="0" mb="0" cb="0"/><line nr="102" mi="3" ci="0" mb="0" cb="0"/><line nr="103" mi="2" ci="0" mb="0" cb="0"/><line nr="104" mi="3" ci="0" mb="0" cb="0"/><line nr="106" mi="2" ci="0" mb="0" cb="0"/><line nr="108" mi="4" ci="0" mb="2" cb="0"/><line nr="109" mi="3" ci="0" mb="0" cb="0"/><line nr="110" mi="3" ci="0" mb="0" cb="0"/><line nr="111" mi="3" ci="0" mb="0" cb="0"/><line nr="112" mi="3" ci="0" mb="0" cb="0"/><line nr="114" mi="8" ci="0" mb="5" cb="0"/><line nr="115" mi="2" ci="0" mb="0" cb="0"/><line nr="116" mi="1" ci="0" mb="0" cb="0"/><line nr="117" mi="2" ci="0" mb="0" cb="0"/><line nr="118" mi="1" ci="0" mb="0" cb="0"/><line nr="119" mi="3" ci="0" mb="0" cb="0"/><line nr="120" mi="1" ci="0" mb="0" cb="0"/><line nr="121" mi="2" ci="0" mb="0" cb="0"/><line nr="122" mi="1" ci="0" mb="0" cb="0"/><line nr="123" mi="3" ci="0" mb="0" cb="0"/><line nr="125" mi="4" ci="0" mb="0" cb="0"/><line nr="128" mi="2" ci="0" mb="0" cb="0"/><line nr="130" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="85" covered="181"/><counter type="BRANCH" missed="9" covered="2"/><counter type="LINE" missed="30" covered="42"/><counter type="COMPLEXITY" missed="11" covered="5"/><counter type="METHOD" missed="4" covered="5"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="NoElementFoundException.java"><line nr="6" mi="3" ci="0" mb="0" cb="0"/><line nr="7" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="Category.java"><line nr="3" mi="3" ci="0" mb="0" cb="0"/><line nr="4" mi="35" ci="0" mb="0" cb="0"/><line nr="7" mi="4" ci="0" mb="0" cb="0"/><line nr="8" mi="3" ci="0" mb="0" cb="0"/><line nr="9" mi="1" ci="0" mb="0" cb="0"/><line nr="12" mi="3" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="49" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="AudioBook.java"><line nr="11" mi="7" ci="0" mb="0" cb="0"/><line nr="12" mi="3" ci="0" mb="0" cb="0"/><line nr="13" mi="3" ci="0" mb="0" cb="0"/><line nr="14" mi="1" ci="0" mb="0" cb="0"/><line nr="17" mi="6" ci="0" mb="0" cb="0"/><line nr="18" mi="3" ci="0" mb="0" cb="0"/><line nr="19" mi="3" ci="0" mb="0" cb="0"/><line nr="20" mi="1" ci="0" mb="0" cb="0"/><line nr="23" mi="3" ci="0" mb="0" cb="0"/><line nr="24" mi="8" ci="0" mb="0" cb="0"/><line nr="25" mi="8" ci="0" mb="0" cb="0"/><line nr="26" mi="1" ci="0" mb="0" cb="0"/><line nr="29" mi="3" ci="0" mb="0" cb="0"/><line nr="33" mi="9" ci="0" mb="5" cb="0"/><line nr="34" mi="4" ci="0" mb="0" cb="0"/><line nr="35" mi="4" ci="0" mb="0" cb="0"/><line nr="36" mi="4" ci="0" mb="0" cb="0"/><line nr="37" mi="4" ci="0" mb="0" cb="0"/><line nr="38" mi="3" ci="0" mb="0" cb="0"/><line nr="40" mi="1" ci="0" mb="0" cb="0"/><line nr="43" mi="3" ci="0" mb="0" cb="0"/><line nr="47" mi="9" ci="0" mb="5" cb="0"/><line nr="48" mi="4" ci="0" mb="0" cb="0"/><line nr="49" mi="4" ci="0" mb="0" cb="0"/><line nr="50" mi="4" ci="0" mb="0" cb="0"/><line nr="51" mi="4" ci="0" mb="0" cb="0"/><line nr="52" mi="3" ci="0" mb="0" cb="0"/><line nr="54" mi="1" ci="0" mb="0" cb="0"/><line nr="58" mi="8" ci="0" mb="0" cb="0"/><line nr="64" mi="4" ci="0" mb="0" cb="0"/><line nr="66" mi="4" ci="0" mb="0" cb="0"/><line nr="68" mi="4" ci="0" mb="0" cb="0"/><line nr="69" mi="8" ci="0" mb="0" cb="0"/><line nr="70" mi="4" ci="0" mb="0" cb="0"/><line nr="72" mi="4" ci="0" mb="0" cb="0"/><line nr="73" mi="8" ci="0" mb="0" cb="0"/><line nr="74" mi="4" ci="0" mb="0" cb="0"/><line nr="76" mi="4" ci="0" mb="0" cb="0"/><line nr="77" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="164" covered="0"/><counter type="BRANCH" missed="10" covered="0"/><counter type="LINE" missed="39" covered="0"/><counter type="COMPLEXITY" missed="17" covered="0"/><counter type="METHOD" missed="9" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="Song.java"><line nr="11" mi="0" ci="7" mb="0" cb="0"/><line nr="12" mi="0" ci="3" mb="0" cb="0"/><line nr="13" mi="0" ci="1" mb="0" cb="0"/><line nr="16" mi="0" ci="6" mb="0" cb="0"/><line nr="17" mi="0" ci="3" mb="0" cb="0"/><line nr="18" mi="0" ci="1" mb="0" cb="0"/><line nr="21" mi="0" ci="3" mb="0" cb="0"/><line nr="22" mi="0" ci="8" mb="0" cb="0"/><line nr="23" mi="0" ci="1" mb="0" cb="0"/><line nr="26" mi="0" ci="4" mb="0" cb="0"/><line nr="30" mi="0" ci="9" mb="0" cb="6"/><line nr="31" mi="0" ci="4" mb="0" cb="0"/><line nr="32" mi="0" ci="4" mb="0" cb="0"/><line nr="33" mi="0" ci="4" mb="0" cb="0"/><line nr="34" mi="0" ci="4" mb="0" cb="0"/><line nr="35" mi="0" ci="4" mb="0" cb="0"/><line nr="36" mi="0" ci="3" mb="0" cb="0"/><line nr="38" mi="0" ci="1" mb="0" cb="0"/><line nr="41" mi="0" ci="6" mb="0" cb="0"/><line nr="46" mi="0" ci="4" mb="0" cb="0"/><line nr="48" mi="0" ci="4" mb="0" cb="0"/><line nr="50" mi="0" ci="4" mb="0" cb="0"/><line nr="51" mi="0" ci="8" mb="0" cb="0"/><line nr="52" mi="0" ci="4" mb="0" cb="0"/><line nr="54" mi="0" ci="4" mb="0" cb="0"/><line nr="55" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="105"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="26"/><counter type="COMPLEXITY" missed="0" covered="12"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="1551" covered="512"/><counter type="BRANCH" missed="152" covered="17"/><counter type="LINE" missed="381" covered="118"/><counter type="COMPLEXITY" missed="143" covered="29"/><counter type="METHOD" missed="59" covered="22"/><counter type="CLASS" missed="11" covered="4"/></package><package name="musichub/main"><class name="musichub/main/Main" sourcefilename="Main.java"><method name="&lt;init&gt;" desc="()V" line="15"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="main" desc="([Ljava/lang/String;)V" line="18"><counter type="INSTRUCTION" missed="562" covered="0"/><counter type="BRANCH" missed="41" covered="0"/><counter type="LINE" missed="191" covered="0"/><counter type="COMPLEXITY" missed="28" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="printAvailableCommands" desc="()V" line="261"><counter type="INSTRUCTION" missed="40" covered="0"/><counter type="LINE" missed="14" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="605" covered="0"/><counter type="BRANCH" missed="41" covered="0"/><counter type="LINE" missed="206" covered="0"/><counter type="COMPLEXITY" missed="30" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><sourcefile name="Main.java"><line nr="15" mi="3" ci="0" mb="0" cb="0"/><line nr="18" mi="4" ci="0" mb="0" cb="0"/><line nr="20" mi="3" ci="0" mb="0" cb="0"/><line nr="23" mi="5" ci="0" mb="0" cb="0"/><line nr="24" mi="3" ci="0" mb="0" cb="0"/><line nr="28" mi="5" ci="0" mb="2" cb="0"/><line nr="30" mi="4" ci="0" mb="2" cb="0"/><line nr="31" mi="4" ci="0" mb="15" cb="0"/><line nr="33" mi="2" ci="0" mb="0" cb="0"/><line nr="35" mi="1" ci="0" mb="0" cb="0"/><line nr="36" mi="3" ci="0" mb="0" cb="0"/><line nr="37" mi="1" ci="0" mb="0" cb="0"/><line nr="40" mi="4" ci="0" mb="0" cb="0"/><line nr="41" mi="1" ci="0" mb="0" cb="0"/><line nr="42" mi="3" ci="0" mb="0" cb="0"/><line nr="43" mi="1" ci="0" mb="0" cb="0"/><line nr="46" mi="3" ci="0" mb="0" cb="0"/><line nr="47" mi="4" ci="0" mb="0" cb="0"/><line nr="49" mi="3" ci="0" mb="0" cb="0"/><line nr="51" mi="4" ci="0" mb="0" cb="0"/><line nr="52" mi="3" ci="0" mb="0" cb="0"/><line nr="53" mi="1" ci="0" mb="0" cb="0"/><line nr="54" mi="5" ci="0" mb="0" cb="0"/><line nr="55" mi="1" ci="0" mb="0" cb="0"/><line nr="56" mi="1" ci="0" mb="0" cb="0"/><line nr="57" mi="3" ci="0" mb="0" cb="0"/><line nr="58" mi="1" ci="0" mb="0" cb="0"/><line nr="61" mi="3" ci="0" mb="0" cb="0"/><line nr="62" mi="4" ci="0" mb="0" cb="0"/><line nr="64" mi="3" ci="0" mb="0" cb="0"/><line nr="66" mi="4" ci="0" mb="0" cb="0"/><line nr="67" mi="5" ci="0" mb="0" cb="0"/><line nr="68" mi="3" ci="0" mb="0" cb="0"/><line nr="69" mi="4" ci="0" mb="0" cb="0"/><line nr="70" mi="1" ci="0" mb="0" cb="0"/><line nr="71" mi="5" ci="0" mb="0" cb="0"/><line nr="72" mi="1" ci="0" mb="0" cb="0"/><line nr="73" mi="1" ci="0" mb="0" cb="0"/><line nr="74" mi="3" ci="0" mb="0" cb="0"/><line nr="75" mi="1" ci="0" mb="0" cb="0"/><line nr="78" mi="4" ci="0" mb="0" cb="0"/><line nr="79" mi="1" ci="0" mb="0" cb="0"/><line nr="80" mi="3" ci="0" mb="0" cb="0"/><line nr="81" mi="1" ci="0" mb="0" cb="0"/><line nr="84" mi="3" ci="0" mb="0" cb="0"/><line nr="85" mi="3" ci="0" mb="0" cb="0"/><line nr="86" mi="3" ci="0" mb="0" cb="0"/><line nr="87" mi="3" ci="0" mb="0" cb="0"/><line nr="88" mi="3" ci="0" mb="0" cb="0"/><line nr="89" mi="3" ci="0" mb="0" cb="0"/><line nr="90" mi="3" ci="0" mb="0" cb="0"/><line nr="91" mi="3" ci="0" mb="0" cb="0"/><line nr="92" mi="4" ci="0" mb="0" cb="0"/><line nr="94" mi="3" ci="0" mb="0" cb="0"/><line nr="95" mi="3" ci="0" mb="0" cb="0"/><line nr="96" mi="3" ci="0" mb="2" cb="0"/><line nr="97" mi="2" ci="0" mb="0" cb="0"/><line nr="98" mi="3" ci="0" mb="0" cb="0"/><line nr="99" mi="4" ci="0" mb="0" cb="0"/><line nr="100" mi="3" ci="0" mb="0" cb="0"/><line nr="101" mi="1" ci="0" mb="0" cb="0"/><line nr="104" mi="9" ci="0" mb="0" cb="0"/><line nr="105" mi="3" ci="0" mb="0" cb="0"/><line nr="106" mi="3" ci="0" mb="0" cb="0"/><line nr="107" mi="3" ci="0" mb="0" cb="0"/><line nr="108" mi="10" ci="0" mb="2" cb="0"/><line nr="109" mi="3" ci="0" mb="0" cb="0"/><line nr="110" mi="1" ci="0" mb="0" cb="0"/><line nr="111" mi="3" ci="0" mb="0" cb="0"/><line nr="112" mi="1" ci="0" mb="0" cb="0"/><line nr="115" mi="3" ci="0" mb="0" cb="0"/><line nr="116" mi="3" ci="0" mb="0" cb="0"/><line nr="117" mi="3" ci="0" mb="0" cb="0"/><line nr="118" mi="3" ci="0" mb="0" cb="0"/><line nr="119" mi="3" ci="0" mb="0" cb="0"/><line nr="120" mi="3" ci="0" mb="0" cb="0"/><line nr="121" mi="4" ci="0" mb="0" cb="0"/><line nr="122" mi="3" ci="0" mb="0" cb="0"/><line nr="123" mi="3" ci="0" mb="0" cb="0"/><line nr="124" mi="8" ci="0" mb="0" cb="0"/><line nr="125" mi="3" ci="0" mb="0" cb="0"/><line nr="126" mi="3" ci="0" mb="0" cb="0"/><line nr="127" mi="3" ci="0" mb="0" cb="0"/><line nr="128" mi="10" ci="0" mb="2" cb="0"/><line nr="129" mi="3" ci="0" mb="0" cb="0"/><line nr="130" mi="1" ci="0" mb="0" cb="0"/><line nr="131" mi="3" ci="0" mb="0" cb="0"/><line nr="132" mi="1" ci="0" mb="0" cb="0"/><line nr="135" mi="3" ci="0" mb="0" cb="0"/><line nr="136" mi="3" ci="0" mb="0" cb="0"/><line nr="137" mi="3" ci="0" mb="0" cb="0"/><line nr="138" mi="3" ci="0" mb="2" cb="0"/><line nr="139" mi="4" ci="0" mb="0" cb="0"/><line nr="140" mi="7" ci="0" mb="2" cb="0"/><line nr="141" mi="1" ci="0" mb="0" cb="0"/><line nr="142" mi="3" ci="0" mb="0" cb="0"/><line nr="144" mi="3" ci="0" mb="0" cb="0"/><line nr="145" mi="3" ci="0" mb="0" cb="0"/><line nr="146" mi="3" ci="0" mb="2" cb="0"/><line nr="147" mi="4" ci="0" mb="0" cb="0"/><line nr="148" mi="4" ci="0" mb="0" cb="0"/><line nr="149" mi="1" ci="0" mb="0" cb="0"/><line nr="150" mi="3" ci="0" mb="0" cb="0"/><line nr="152" mi="4" ci="0" mb="0" cb="0"/><line nr="153" mi="1" ci="0" mb="0" cb="0"/><line nr="154" mi="4" ci="0" mb="0" cb="0"/><line nr="155" mi="1" ci="0" mb="0" cb="0"/><line nr="156" mi="3" ci="0" mb="0" cb="0"/><line nr="157" mi="1" ci="0" mb="0" cb="0"/><line nr="158" mi="3" ci="0" mb="0" cb="0"/><line nr="159" mi="1" ci="0" mb="0" cb="0"/><line nr="162" mi="3" ci="0" mb="0" cb="0"/><line nr="163" mi="3" ci="0" mb="0" cb="0"/><line nr="164" mi="3" ci="0" mb="0" cb="0"/><line nr="165" mi="3" ci="0" mb="0" cb="0"/><line nr="166" mi="3" ci="0" mb="0" cb="0"/><line nr="167" mi="3" ci="0" mb="0" cb="0"/><line nr="168" mi="3" ci="0" mb="0" cb="0"/><line nr="169" mi="3" ci="0" mb="0" cb="0"/><line nr="170" mi="4" ci="0" mb="0" cb="0"/><line nr="171" mi="3" ci="0" mb="0" cb="0"/><line nr="172" mi="3" ci="0" mb="0" cb="0"/><line nr="173" mi="3" ci="0" mb="0" cb="0"/><line nr="174" mi="3" ci="0" mb="0" cb="0"/><line nr="175" mi="10" ci="0" mb="0" cb="0"/><line nr="176" mi="3" ci="0" mb="0" cb="0"/><line nr="177" mi="3" ci="0" mb="0" cb="0"/><line nr="178" mi="3" ci="0" mb="0" cb="0"/><line nr="179" mi="10" ci="0" mb="2" cb="0"/><line nr="180" mi="1" ci="0" mb="0" cb="0"/><line nr="181" mi="3" ci="0" mb="0" cb="0"/><line nr="182" mi="1" ci="0" mb="0" cb="0"/><line nr="185" mi="3" ci="0" mb="0" cb="0"/><line nr="186" mi="3" ci="0" mb="0" cb="0"/><line nr="187" mi="3" ci="0" mb="0" cb="0"/><line nr="188" mi="3" ci="0" mb="2" cb="0"/><line nr="189" mi="4" ci="0" mb="0" cb="0"/><line nr="190" mi="4" ci="0" mb="0" cb="0"/><line nr="191" mi="1" ci="0" mb="0" cb="0"/><line nr="192" mi="3" ci="0" mb="0" cb="0"/><line nr="193" mi="3" ci="0" mb="0" cb="0"/><line nr="194" mi="5" ci="0" mb="0" cb="0"/><line nr="195" mi="3" ci="0" mb="0" cb="0"/><line nr="196" mi="3" ci="0" mb="0" cb="0"/><line nr="198" mi="3" ci="0" mb="0" cb="0"/><line nr="199" mi="3" ci="0" mb="2" cb="0"/><line nr="200" mi="4" ci="0" mb="0" cb="0"/><line nr="201" mi="4" ci="0" mb="0" cb="0"/><line nr="202" mi="1" ci="0" mb="0" cb="0"/><line nr="203" mi="5" ci="0" mb="2" cb="0"/><line nr="204" mi="3" ci="0" mb="0" cb="0"/><line nr="205" mi="3" ci="0" mb="0" cb="0"/><line nr="207" mi="4" ci="0" mb="0" cb="0"/><line nr="208" mi="1" ci="0" mb="0" cb="0"/><line nr="209" mi="4" ci="0" mb="0" cb="0"/><line nr="210" mi="1" ci="0" mb="0" cb="0"/><line nr="212" mi="3" ci="0" mb="0" cb="0"/><line nr="213" mi="3" ci="0" mb="0" cb="0"/><line nr="214" mi="1" ci="0" mb="0" cb="0"/><line nr="215" mi="3" ci="0" mb="0" cb="0"/><line nr="216" mi="1" ci="0" mb="0" cb="0"/><line nr="217" mi="3" ci="0" mb="0" cb="0"/><line nr="218" mi="1" ci="0" mb="0" cb="0"/><line nr="221" mi="3" ci="0" mb="0" cb="0"/><line nr="222" mi="3" ci="0" mb="0" cb="0"/><line nr="223" mi="3" ci="0" mb="2" cb="0"/><line nr="224" mi="4" ci="0" mb="0" cb="0"/><line nr="225" mi="4" ci="0" mb="0" cb="0"/><line nr="226" mi="1" ci="0" mb="0" cb="0"/><line nr="227" mi="3" ci="0" mb="0" cb="0"/><line nr="229" mi="3" ci="0" mb="0" cb="0"/><line nr="230" mi="1" ci="0" mb="0" cb="0"/><line nr="231" mi="4" ci="0" mb="0" cb="0"/><line nr="232" mi="1" ci="0" mb="0" cb="0"/><line nr="233" mi="3" ci="0" mb="0" cb="0"/><line nr="234" mi="1" ci="0" mb="0" cb="0"/><line nr="235" mi="3" ci="0" mb="0" cb="0"/><line nr="236" mi="1" ci="0" mb="0" cb="0"/><line nr="239" mi="2" ci="0" mb="0" cb="0"/><line nr="240" mi="2" ci="0" mb="0" cb="0"/><line nr="241" mi="2" ci="0" mb="0" cb="0"/><line nr="242" mi="3" ci="0" mb="0" cb="0"/><line nr="243" mi="1" ci="0" mb="0" cb="0"/><line nr="244" mi="3" ci="0" mb="0" cb="0"/><line nr="245" mi="1" ci="0" mb="0" cb="0"/><line nr="248" mi="1" ci="0" mb="0" cb="0"/><line nr="249" mi="3" ci="0" mb="0" cb="0"/><line nr="250" mi="3" ci="0" mb="0" cb="0"/><line nr="251" mi="1" ci="0" mb="0" cb="0"/><line nr="254" mi="1" ci="0" mb="0" cb="0"/><line nr="257" mi="2" ci="0" mb="0" cb="0"/><line nr="258" mi="1" ci="0" mb="0" cb="0"/><line nr="261" mi="3" ci="0" mb="0" cb="0"/><line nr="262" mi="3" ci="0" mb="0" cb="0"/><line nr="263" mi="3" ci="0" mb="0" cb="0"/><line nr="264" mi="3" ci="0" mb="0" cb="0"/><line nr="265" mi="3" ci="0" mb="0" cb="0"/><line nr="266" mi="3" ci="0" mb="0" cb="0"/><line nr="267" mi="3" ci="0" mb="0" cb="0"/><line nr="268" mi="3" ci="0" mb="0" cb="0"/><line nr="269" mi="3" ci="0" mb="0" cb="0"/><line nr="270" mi="3" ci="0" mb="0" cb="0"/><line nr="271" mi="3" ci="0" mb="0" cb="0"/><line nr="272" mi="3" ci="0" mb="0" cb="0"/><line nr="273" mi="3" ci="0" mb="0" cb="0"/><line nr="274" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="605" covered="0"/><counter type="BRANCH" missed="41" covered="0"/><counter type="LINE" missed="206" covered="0"/><counter type="COMPLEXITY" missed="30" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><counter type="INSTRUCTION" missed="605" covered="0"/><counter type="BRANCH" missed="41" covered="0"/><counter type="LINE" missed="206" covered="0"/><counter type="COMPLEXITY" missed="30" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></package><counter type="INSTRUCTION" missed="2162" covered="663"/><counter type="BRANCH" missed="193" covered="21"/><counter type="LINE" missed="591" covered="160"/><counter type="COMPLEXITY" missed="173" covered="40"/><counter type="METHOD" missed="62" covered="31"/><counter type="CLASS" missed="12" covered="7"/></report>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.main/Main.java.html b/target/site/jacoco/musichub.main/Main.java.html
          index 7ec6a41..d86f303 100644
          --- a/target/site/jacoco/musichub.main/Main.java.html
          +++ b/target/site/jacoco/musichub.main/Main.java.html
          @@ -94,7 +94,7 @@ import static musichub.util.PathValidation.isPathValid;
           <span class="nc" id="L94">                    System.out.println(&quot;Song content: &quot;);</span>
           <span class="nc" id="L95">                    String content = scan.nextLine();</span>
           <span class="nc bnc" id="L96" title="All 2 branches missed.">                    if (!isPathValid(content)) {</span>
          -<span class="nc" id="L97">                        String logMsg = &quot;The music file was not found with the path you've provided.&quot;;</span>
          +<span class="nc" id="L97">                        String logMsg = &quot;The music file was not found with the path you've provided or the extension is not .wav&quot;;</span>
           <span class="nc" id="L98">                        LogHandler.write(logMsg, &quot;WARNING&quot;); //write a line in the log file</span>
           <span class="nc" id="L99">                        System.out.println(logMsg + &quot;\nType h for available commands&quot;);</span>
           <span class="nc" id="L100">                        choice = scan.nextLine();</span>
          diff --git a/target/site/jacoco/musichub.util/PathValidation.html b/target/site/jacoco/musichub.util/PathValidation.html
          index 940af0e..9798ba8 100644
          --- a/target/site/jacoco/musichub.util/PathValidation.html
          +++ b/target/site/jacoco/musichub.util/PathValidation.html
          @@ -1 +1 @@
          -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>PathValidation</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.html" class="el_package">musichub.util</a> &gt; <span class="el_class">PathValidation</span></div><h1>PathValidation</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 17</td><td class="ctr2">100 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">2</td><td class="ctr1">0</td><td class="ctr2">4</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="PathValidation.java.html#L35" class="el_method">isPathValid(String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="PathValidation.java.html#L23" class="el_method">PathValidation()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="84" height="10" title="7" alt="7"/></td><td class="ctr2" id="c1">100 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>PathValidation</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.html" class="el_package">musichub.util</a> &gt; <span class="el_class">PathValidation</span></div><h1>PathValidation</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 39</td><td class="ctr2">100 %</td><td class="bar">0 of 4</td><td class="ctr2">100 %</td><td class="ctr1">0</td><td class="ctr2">4</td><td class="ctr1">0</td><td class="ctr2">10</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="PathValidation.java.html#L35" class="el_method">isPathValid(String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="32" alt="32"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100 %</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="PathValidation.java.html#L23" class="el_method">PathValidation()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="26" height="10" title="7" alt="7"/></td><td class="ctr2" id="c1">100 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.util/PathValidation.java.html b/target/site/jacoco/musichub.util/PathValidation.java.html
          index 7cb31d4..7518e59 100644
          --- a/target/site/jacoco/musichub.util/PathValidation.java.html
          +++ b/target/site/jacoco/musichub.util/PathValidation.java.html
          @@ -25,15 +25,25 @@ public final class PathValidation {
               }
           
               /**
          -     * Method that checks the validity of a given path
          +     * Method that checks the validity of a given path and file.
                *
                * @param inputPath the path given by the user
                * @return a boolean
                */
           
               public static boolean isPathValid(String inputPath) {
          -<span class="fc" id="L35">        Path path = Paths.get(inputPath);</span>
          -<span class="fc" id="L36">        return Files.exists(path);</span>
          +<span class="fc" id="L35">        boolean isExtensionValid=false;</span>
          +
          +<span class="fc" id="L37">        int index = inputPath.lastIndexOf('.');</span>
          +<span class="fc bfc" id="L38" title="All 2 branches covered.">        if(index &gt; 0) {</span>
          +<span class="fc" id="L39">            String extension = inputPath.substring(index + 1);</span>
          +<span class="fc bfc" id="L40" title="All 2 branches covered.">            if (extension.equals(&quot;wav&quot;)){</span>
          +<span class="fc" id="L41">                isExtensionValid=true;</span>
          +            }
          +        }
          +
          +<span class="fc" id="L45">        Path path = Paths.get(inputPath);</span>
          +<span class="fc" id="L46">        return (Files.exists(path) &amp; isExtensionValid);</span>
               }
           
           }
          diff --git a/target/site/jacoco/musichub.util/index.html b/target/site/jacoco/musichub.util/index.html
          index 8091491..35e136c 100644
          --- a/target/site/jacoco/musichub.util/index.html
          +++ b/target/site/jacoco/musichub.util/index.html
          @@ -1 +1 @@
          -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>musichub.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <span class="el_package">musichub.util</span></div><h1>musichub.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">6 of 135</td><td class="ctr2">95 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">9</td><td class="ctr1">4</td><td class="ctr2">40</td><td class="ctr1">0</td><td class="ctr2">9</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="XMLHandler.html" class="el_class">XMLHandler</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="10" height="10" title="6" alt="6"/><img src="../jacoco-resources/greenbar.gif" width="110" height="10" title="66" alt="66"/></td><td class="ctr2" id="c2">91 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">25</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="LogHandler.html" class="el_class">LogHandler</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="76" height="10" title="46" alt="46"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">11</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a1"><a href="PathValidation.html" class="el_class">PathValidation</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="28" height="10" title="17" alt="17"/></td><td class="ctr2" id="c1">100 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">2</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>musichub.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <span class="el_package">musichub.util</span></div><h1>musichub.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">6 of 157</td><td class="ctr2">96 %</td><td class="bar">0 of 4</td><td class="ctr2">100 %</td><td class="ctr1">0</td><td class="ctr2">11</td><td class="ctr1">4</td><td class="ctr2">46</td><td class="ctr1">0</td><td class="ctr2">9</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="XMLHandler.html" class="el_class">XMLHandler</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="10" height="10" title="6" alt="6"/><img src="../jacoco-resources/greenbar.gif" width="110" height="10" title="66" alt="66"/></td><td class="ctr2" id="c2">91 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">25</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="LogHandler.html" class="el_class">LogHandler</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="76" height="10" title="46" alt="46"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">11</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a1"><a href="PathValidation.html" class="el_class">PathValidation</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="65" height="10" title="39" alt="39"/></td><td class="ctr2" id="c1">100 %</td><td class="bar" id="d0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100 %</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g1">4</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">10</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">2</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.util/index.source.html b/target/site/jacoco/musichub.util/index.source.html
          index ce29c52..d40b929 100644
          --- a/target/site/jacoco/musichub.util/index.source.html
          +++ b/target/site/jacoco/musichub.util/index.source.html
          @@ -1 +1 @@
          -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>musichub.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <span class="el_package">musichub.util</span></div><h1>musichub.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">6 of 135</td><td class="ctr2">95 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">9</td><td class="ctr1">4</td><td class="ctr2">40</td><td class="ctr1">0</td><td class="ctr2">9</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="XMLHandler.java.html" class="el_source">XMLHandler.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="10" height="10" title="6" alt="6"/><img src="../jacoco-resources/greenbar.gif" width="110" height="10" title="66" alt="66"/></td><td class="ctr2" id="c2">91 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">25</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="LogHandler.java.html" class="el_source">LogHandler.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="76" height="10" title="46" alt="46"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">11</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a1"><a href="PathValidation.java.html" class="el_source">PathValidation.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="28" height="10" title="17" alt="17"/></td><td class="ctr2" id="c1">100 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">2</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>musichub.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <span class="el_package">musichub.util</span></div><h1>musichub.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">6 of 157</td><td class="ctr2">96 %</td><td class="bar">0 of 4</td><td class="ctr2">100 %</td><td class="ctr1">0</td><td class="ctr2">11</td><td class="ctr1">4</td><td class="ctr2">46</td><td class="ctr1">0</td><td class="ctr2">9</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="XMLHandler.java.html" class="el_source">XMLHandler.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="10" height="10" title="6" alt="6"/><img src="../jacoco-resources/greenbar.gif" width="110" height="10" title="66" alt="66"/></td><td class="ctr2" id="c2">91 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">25</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="LogHandler.java.html" class="el_source">LogHandler.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="76" height="10" title="46" alt="46"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">11</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a1"><a href="PathValidation.java.html" class="el_source">PathValidation.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="65" height="10" title="39" alt="39"/></td><td class="ctr2" id="c1">100 %</td><td class="bar" id="d0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100 %</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g1">4</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">10</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">2</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          -- 
          cgit v1.2.3
          
          
          From 49196ae84aea338dbc6cd10f4d135e4b717cdd1f Mon Sep 17 00:00:00 2001
          From: Clyhtsuriva <aimeric@adjutor.xyz>
          Date: Mon, 28 Jun 2021 23:38:36 +0200
          Subject: Latest package, javadoc and jacoco
          
          ---
           log/spoteezer.log                                  |   6 +-
           src/main/java/musichub/util/Policy.java            |  50 +--
           .../classes/musichub/business/AudioElement.class   | Bin 5422 -> 5594 bytes
           target/classes/musichub/business/MusicHub.class    | Bin 13297 -> 13299 bytes
           .../classes/musichub/business/SortByAuthor.class   | Bin 901 -> 901 bytes
           target/classes/musichub/business/SortByDate.class  | Bin 854 -> 854 bytes
           target/classes/musichub/business/SortByGenre.class | Bin 858 -> 858 bytes
           target/classes/musichub/main/Main.class            | Bin 11373 -> 12193 bytes
           target/classes/musichub/util/Policy.class          | Bin 10860 -> 2690 bytes
           target/jacoco.exec                                 | Bin 45918 -> 107422 bytes
           target/maven-javadoc-plugin-stale-data.txt         |  39 +-
           target/original-spoteezer-0.1.0.jar                | Bin 39074 -> 36814 bytes
           target/site/apidocs/allclasses-index.html          |  14 +-
           target/site/apidocs/allpackages-index.html         |   4 +-
           target/site/apidocs/help-doc.html                  |   4 +-
           target/site/apidocs/index-all.html                 |  26 +-
           target/site/apidocs/index.html                     |   4 +-
           target/site/apidocs/member-search-index.js         |   2 +-
           target/site/apidocs/musichub/business/Album.html   |   4 +-
           .../site/apidocs/musichub/business/AudioBook.html  |   4 +-
           .../apidocs/musichub/business/AudioElement.html    |   4 +-
           .../site/apidocs/musichub/business/Category.html   |   4 +-
           target/site/apidocs/musichub/business/Genre.html   |   4 +-
           .../site/apidocs/musichub/business/Language.html   |   4 +-
           .../site/apidocs/musichub/business/MusicHub.html   |  63 ++-
           .../musichub/business/NoAlbumFoundException.html   |   4 +-
           .../musichub/business/NoElementFoundException.html |   4 +-
           .../business/NoPlayListFoundException.html         |   4 +-
           .../site/apidocs/musichub/business/PlayList.html   |   4 +-
           target/site/apidocs/musichub/business/Song.html    |   4 +-
           .../apidocs/musichub/business/class-use/Album.html |   4 +-
           .../musichub/business/class-use/AudioBook.html     |   4 +-
           .../musichub/business/class-use/AudioElement.html  |   9 +-
           .../musichub/business/class-use/Category.html      |   4 +-
           .../apidocs/musichub/business/class-use/Genre.html |   4 +-
           .../musichub/business/class-use/Language.html      |   4 +-
           .../musichub/business/class-use/MusicHub.html      |   4 +-
           .../business/class-use/NoAlbumFoundException.html  |  23 +-
           .../class-use/NoElementFoundException.html         |   7 +-
           .../class-use/NoPlayListFoundException.html        |   9 +-
           .../musichub/business/class-use/PlayList.html      |   4 +-
           .../apidocs/musichub/business/class-use/Song.html  |   4 +-
           .../apidocs/musichub/business/package-summary.html |   4 +-
           .../apidocs/musichub/business/package-tree.html    |   4 +-
           .../apidocs/musichub/business/package-use.html     |  17 +-
           target/site/apidocs/musichub/main/Main.html        |   8 +-
           .../site/apidocs/musichub/main/class-use/Main.html |   4 +-
           .../apidocs/musichub/main/package-summary.html     |   4 +-
           .../site/apidocs/musichub/main/package-tree.html   |   4 +-
           target/site/apidocs/musichub/main/package-use.html |   4 +-
           target/site/apidocs/musichub/util/LogHandler.html  |   4 +-
           .../site/apidocs/musichub/util/PathValidation.html |   4 +-
           target/site/apidocs/musichub/util/Policy.html      | 183 ++++++++
           target/site/apidocs/musichub/util/XMLHandler.html  |   4 +-
           .../musichub/util/class-use/LogHandler.html        |   4 +-
           .../musichub/util/class-use/PathValidation.html    |   4 +-
           .../apidocs/musichub/util/class-use/Policy.html    |  65 +++
           .../musichub/util/class-use/XMLHandler.html        |   4 +-
           .../apidocs/musichub/util/package-summary.html     |  12 +-
           .../site/apidocs/musichub/util/package-tree.html   |   5 +-
           target/site/apidocs/musichub/util/package-use.html |   4 +-
           target/site/apidocs/overview-summary.html          |   4 +-
           target/site/apidocs/overview-tree.html             |   5 +-
           target/site/apidocs/serialized-form.html           |   4 +-
           target/site/apidocs/type-search-index.js           |   2 +-
           target/site/jacoco/index.html                      |   2 +-
           target/site/jacoco/jacoco-sessions.html            |   2 +-
           target/site/jacoco/jacoco.csv                      |   8 +-
           target/site/jacoco/jacoco.xml                      |   2 +-
           .../jacoco/musichub.business/AudioElement.html     |   2 +-
           .../musichub.business/AudioElement.java.html       | 162 +++----
           target/site/jacoco/musichub.business/MusicHub.html |   2 +-
           .../jacoco/musichub.business/MusicHub.java.html    | 482 +++++++++++----------
           .../jacoco/musichub.business/SortByAuthor.html     |   2 +-
           .../site/jacoco/musichub.business/SortByDate.html  |   2 +-
           .../site/jacoco/musichub.business/SortByGenre.html |   2 +-
           target/site/jacoco/musichub.business/index.html    |   2 +-
           .../jacoco/musichub.business/index.source.html     |   2 +-
           target/site/jacoco/musichub.main/Main.html         |   2 +-
           target/site/jacoco/musichub.main/Main.java.html    | 429 +++++++++---------
           target/site/jacoco/musichub.main/index.html        |   2 +-
           target/site/jacoco/musichub.main/index.source.html |   2 +-
           target/site/jacoco/musichub.util/Policy.html       |   2 +-
           target/site/jacoco/musichub.util/Policy.java.html  | 143 ++----
           target/site/jacoco/musichub.util/index.html        |   2 +-
           target/site/jacoco/musichub.util/index.source.html |   2 +-
           target/spoteezer-0.1.0-shaded.jar                  | Bin 374992 -> 372732 bytes
           target/spoteezer-0.1.0.jar                         | Bin 374992 -> 372732 bytes
           .../TEST-musichub.business.CategoryTest.xml        |   4 +-
           .../TEST-musichub.business.LanguageTest.xml        |   4 +-
           .../TEST-musichub.business.PlayListTest.xml        |   8 +-
           .../TEST-musichub.business.SongTest.xml            |  10 +-
           .../TEST-musichub.util.LogHandlerTest.xml          |  12 +-
           .../TEST-musichub.util.PathValidationTest.xml      |   6 +-
           .../TEST-musichub.util.XMLHandlerTest.xml          |   8 +-
           .../musichub.business.PlayListTest.txt             |   2 +-
           .../musichub.business.SongTest.txt                 |   2 +-
           .../musichub.util.LogHandlerTest.txt               |   2 +-
           .../musichub.util.PathValidationTest.txt           |   2 +-
           .../musichub.util.XMLHandlerTest.txt               |   2 +-
           100 files changed, 1192 insertions(+), 819 deletions(-)
           create mode 100644 target/site/apidocs/musichub/util/Policy.html
           create mode 100644 target/site/apidocs/musichub/util/class-use/Policy.html
          
          (limited to 'target/site/apidocs/musichub/business/class-use')
          
          diff --git a/log/spoteezer.log b/log/spoteezer.log
          index 7904af2..51a5d09 100644
          --- a/log/spoteezer.log
          +++ b/log/spoteezer.log
          @@ -41,4 +41,8 @@
           [2021-06-28 20:32:31.447] INFO: Music stopped
           [2021-06-28 20:32:32.647] INFO: Music stopped
           [2021-06-28 20:32:43.836] INFO: Music started
          -[2021-06-28 20:32:52.768] INFO: Music stopped
          \ No newline at end of file
          +[2021-06-28 20:32:52.768] INFO: Music stopped
          +[2021-06-28 23:30:48.508] TEST: JUnit test
          +[2021-06-28 23:31:59.503] TEST: JUnit test
          +[2021-06-28 23:36:26.824] TEST: JUnit test
          +[2021-06-28 23:36:31.897] TEST: JUnit test
          \ No newline at end of file
          diff --git a/src/main/java/musichub/util/Policy.java b/src/main/java/musichub/util/Policy.java
          index ac067b4..01c7d20 100644
          --- a/src/main/java/musichub/util/Policy.java
          +++ b/src/main/java/musichub/util/Policy.java
          @@ -32,58 +32,10 @@ public final class Policy {
           
                   String termsAndConditions = """
                           Terms and Conditions
          -
                           In using this website you are deemed to have read and agreed to the following terms and conditions:
          -
          -                The following terminology applies to these Terms and Conditions, Privacy Statement and Disclaimer Notice and any or all Agreements: "Client", “You” and “Your” refers to you, the person accessing this website and accepting the Company’s terms and conditions. "The Company", “Ourselves”, “We” and "Us", refers to our Company. “Party”, “Parties”, or “Us”, refers to both the Client and ourselves, or either the Client or ourselves. All terms refer to the offer, acceptance and consideration of payment necessary to undertake the process of our assistance to the Client in the most appropriate manner, whether by formal meetings of a fixed duration, or any other means, for the express purpose of meeting the Client’s needs in respect of provision of the Company’s stated services/products, in accordance with and subject to, prevailing English Law. Any use of the above terminology or other words in the singular, plural, capitalisation and/or he/she or they, are taken as interchangeable and therefore as referring to same.
          -
                           Privacy Statement
                           We are committed to protecting your privacy. Authorized employees within the company on a need to know basis only use any information collected from individual customers. We constantly review our systems and data to ensure the best possible service to our customers. Parliament has created specific offences for unauthorised actions against computer systems and data. We will investigate any such actions with a view to prosecuting and/or taking civil proceedings to recover damages against those responsible
          -
          -                Confidentiality
          -                We are registered under the Data Protection Act 1998 and as such, any information concerning the Client and their respective Client Records may be passed to third parties. However, Client records are regarded as confidential and therefore will not be divulged to any third party, other than if legally required to do so to the appropriate authorities. Clients have the right to request sight of, and copies of any and all Client Records we keep, on the proviso that we are given reasonable notice of such a request. Clients are requested to retain copies of any literature issued in relation to the provision of our services. Where appropriate, we shall issue Client’s with appropriate written information, handouts or copies of records as part of an agreed contract, for the benefit of both parties.
          -
          -                We will not sell, share, or rent your personal information to any third party or use your e-mail address for unsolicited mail. Any emails sent by this Company will only be in connection with the provision of agreed services and products.
          -
          -
          -                Disclaimer
          -                Exclusions and Limitations\s
          -                The information on this web site is provided on an "as is" basis. To the fullest extent permitted by law, this Company:
          -                \uF0A7\texcludes all representations and warranties relating to this website and its contents or which is or may be provided by any affiliates or any other third party, including in relation to any inaccuracies or omissions in this website and/or the Company’s literature; and\s
          -                \uF0A7\texcludes all liability for damages arising out of or in connection with your use of this website. This includes, without limitation, direct loss, loss of business or profits (whether or not the loss of such profits was foreseeable, arose in the normal course of things or you have advised this Company of the possibility of such potential loss), damage caused to your computer, computer software, systems and programs and the data thereon or any other direct or indirect, consequential and incidental damages.\s
          -                This Company does not however exclude liability for death or personal injury caused by its negligence. The above exclusions and limitations apply only to the extent permitted by law. None of your statutory rights as a consumer are affected.\s
          -
          -
          -
          -                Cancellation Policy
          -                Minimum 24 hours’ notice of cancellation required. Notification for instance, in person, via email, mobile phone ‘text message’ and/or fax, or any other means will be accepted subject to confirmation in writing. We reserve the right to levy a £30 charge to cover any subsequent administrative expenses.
          -
          -                Termination of Agreements and Refunds Policy
          -                Both the Client and we have the right to terminate any Services Agreement for any reason, including the ending of services that are already underway. No refunds shall be offered, where a Service is deemed to have begun and is, for all intents and purposes, underway. Any monies that have been paid to us which constitute payment in respect of the provision of unused Services, shall be refunded.
          -
          -                Availability\s
          -                Unless otherwise stated, the services featured on this website are only available in France, or in relation to postings from France. All advertising is intended solely for the France market. You are solely responsible for evaluating the fitness for a particular purpose of any downloads, programs and text available through this site. Redistribution or republication of any part of this site or its content is prohibited, including such by framing or other similar or any other means, without the express written consent of the Company. The Company does not warrant that the service from this site will be uninterrupted, timely or error free, although it is provided to the best ability. By using this service you thereby indemnify this Company, its employees, agents and affiliates against any loss or damage, in whatever manner, howsoever caused.
          -
          -
          -                Copyright Notice\s
          -                Copyright and other relevant intellectual property rights exists on all text relating to the Company’s services and the full content of this application.\s
          -
          -                Communication
          -                We have several different e-mail addresses for different queries. These, & other contact information, can be found on our Contact Us link on our website or via Company literature or via the Company’s stated telephone, facsimile or mobile telephone numbers.
          -
          -                Force Majeure
          -                Neither party shall be liable to the other for any failure to perform any obligation under any Agreement which is due to an event beyond the control of such party including but not limited to any Act of God, terrorism, war, Political insurgence, insurrection, riot, civil unrest, act of civil or military authority, uprising, earthquake, flood or any other natural or manmade eventuality outside of our control, which causes the termination of an agreement or contract entered into, nor which could have been reasonably foreseen. Any Party affected by such event shall forthwith inform the other Party of the same and shall use all reasonable endeavours to comply with the terms and conditions of any Agreement contained herein.
          -
          -                Waiver
          -                Failure of either Party to insist upon strict performance of any provision of this or any Agreement or the failure of either Party to exercise any right or remedy to which it, he or they are entitled hereunder shall not constitute a waiver thereof and shall not cause a diminution of the obligations under this or any Agreement. No waiver of any of the provisions of this or any Agreement shall be effective unless it is expressly stated to be such and signed by both Parties.
          -
          -                General
          -                The laws of France govern these terms and conditions. By accessing this application, you consent to these terms and conditions and to the exclusive jurisdiction of the English courts in all disputes arising out of such access. If any of these terms are deemed invalid or unenforceable for any reason (including, but not limited to the exclusions and limitations set out above), then the invalid or unenforceable provision will be severed from these terms and the remaining terms will continue to apply. Failure of the Company to enforce any of the provisions set out in these Terms and Conditions and any Agreement, or failure to exercise any option to terminate, shall not be construed as waiver of such provisions and shall not affect the validity of these Terms and Conditions or of any Agreement or any part thereof, or the right thereafter to enforce each and every provision. These Terms and Conditions shall not be amended, modified, varied or supplemented except in writing and signed by duly authorised representatives of the Company.
          -
          -                Notification of Changes
          -                The Company reserves the right to change these conditions from time to time as it sees fit and your continued use of the site will signify your acceptance of any adjustment to these terms. If there are any changes to our privacy policy, we will announce that these changes have been made on our home page and on other key pages on our site. If there are any changes in how we use our site customers’ Personally Identifiable Information, notification by e-mail or postal mail will be made to those affected by this change. Any changes to our privacy policy will be posted on our web site 30 days prior to these changes taking place. You are therefore advised to re-read this statement on a regular basis
          -
          -                These terms and conditions form part of the Agreement between the Client and ourselves. Your accessing of this website and/or undertaking of a booking or Agreement indicates your understanding, agreement to and acceptance, of the Disclaimer Notice and the full Terms and Conditions contained herein. Your statutory Consumer Rights are unaffected.   \s
          +                These terms and conditions form part of the Agreement between the Client and ourselves. Your accessing of this website and/or undertaking of a booking or Agreement indicates your understanding, agreement to and acceptance, of the Disclaimer Notice and the full Terms and Conditions contained herein. Your statutory Consumer Rights are unaffected.   s
                           © Company Name 2021 All Rights Reserved
                           """;
           
          diff --git a/target/classes/musichub/business/AudioElement.class b/target/classes/musichub/business/AudioElement.class
          index bb0f170..f46a913 100644
          Binary files a/target/classes/musichub/business/AudioElement.class and b/target/classes/musichub/business/AudioElement.class differ
          diff --git a/target/classes/musichub/business/MusicHub.class b/target/classes/musichub/business/MusicHub.class
          index 42d7480..f3ea4cc 100644
          Binary files a/target/classes/musichub/business/MusicHub.class and b/target/classes/musichub/business/MusicHub.class differ
          diff --git a/target/classes/musichub/business/SortByAuthor.class b/target/classes/musichub/business/SortByAuthor.class
          index e366c32..ac4474a 100644
          Binary files a/target/classes/musichub/business/SortByAuthor.class and b/target/classes/musichub/business/SortByAuthor.class differ
          diff --git a/target/classes/musichub/business/SortByDate.class b/target/classes/musichub/business/SortByDate.class
          index 9d330cb..6892059 100644
          Binary files a/target/classes/musichub/business/SortByDate.class and b/target/classes/musichub/business/SortByDate.class differ
          diff --git a/target/classes/musichub/business/SortByGenre.class b/target/classes/musichub/business/SortByGenre.class
          index 512232f..7cabb3e 100644
          Binary files a/target/classes/musichub/business/SortByGenre.class and b/target/classes/musichub/business/SortByGenre.class differ
          diff --git a/target/classes/musichub/main/Main.class b/target/classes/musichub/main/Main.class
          index d1f8ea2..03d8fc5 100644
          Binary files a/target/classes/musichub/main/Main.class and b/target/classes/musichub/main/Main.class differ
          diff --git a/target/classes/musichub/util/Policy.class b/target/classes/musichub/util/Policy.class
          index 4bf6b23..a8c66c4 100644
          Binary files a/target/classes/musichub/util/Policy.class and b/target/classes/musichub/util/Policy.class differ
          diff --git a/target/jacoco.exec b/target/jacoco.exec
          index c71133e..34e3b31 100644
          Binary files a/target/jacoco.exec and b/target/jacoco.exec differ
          diff --git a/target/maven-javadoc-plugin-stale-data.txt b/target/maven-javadoc-plugin-stale-data.txt
          index 7723699..54d0d1a 100644
          --- a/target/maven-javadoc-plugin-stale-data.txt
          +++ b/target/maven-javadoc-plugin-stale-data.txt
          @@ -39,28 +39,29 @@
           'C:/Users/SoftA/Documents/spoteezer/src/main/java/musichub/main/Main.java'
           'C:/Users/SoftA/Documents/spoteezer/src/main/java/musichub/util/LogHandler.java'
           'C:/Users/SoftA/Documents/spoteezer/src/main/java/musichub/util/PathValidation.java'
          +'C:/Users/SoftA/Documents/spoteezer/src/main/java/musichub/util/Policy.java'
           'C:/Users/SoftA/Documents/spoteezer/src/main/java/musichub/util/XMLHandler.java'
           C:\Users\SoftA\.m2\repository\org\junit\jupiter\junit-jupiter-api\5.0.2\junit-jupiter-api-5.0.2.jar = 1624015816799
           C:\Users\SoftA\.m2\repository\org\opentest4j\opentest4j\1.0.0\opentest4j-1.0.0.jar = 1624015816785
           C:\Users\SoftA\.m2\repository\org\junit\platform\junit-platform-commons\1.0.2\junit-platform-commons-1.0.2.jar = 1624015816770
           C:\Users\SoftA\.m2\repository\org\junit\jupiter\junit-jupiter-engine\5.0.2\junit-jupiter-engine-5.0.2.jar = 1624015816790
           C:\Users\SoftA\.m2\repository\org\junit\platform\junit-platform-engine\1.0.2\junit-platform-engine-1.0.2.jar = 1624015816783
          -C:\Users\SoftA\Documents\spoteezer\src\main\java = 1624708123937
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\allclasses-index.html = 1624793029572
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\allpackages-index.html = 1624793029575
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\element-list = 1624793029464
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\help-doc.html = 1624793029599
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\index-all.html = 1624793029596
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\index.html = 1624793029553
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\jquery-ui.overrides.css = 1624793029620
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\member-search-index.js = 1624793029579
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\module-search-index.js = 1624793029576
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\overview-summary.html = 1624793029597
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\overview-tree.html = 1624793029548
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\package-search-index.js = 1624793029577
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\script.js = 1624793029602
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\search.js = 1624793029605
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\serialized-form.html = 1624793029489
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\stylesheet.css = 1624793029601
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\tag-search-index.js = 1624793029580
          -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\type-search-index.js = 1624793029578
          \ No newline at end of file
          +C:\Users\SoftA\Documents\spoteezer\src\main\java = 1624912572607
          +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\allclasses-index.html = 1624916173953
          +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\allpackages-index.html = 1624916173955
          +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\element-list = 1624916173845
          +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\help-doc.html = 1624916173978
          +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\index-all.html = 1624916173975
          +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\index.html = 1624916173935
          +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\jquery-ui.overrides.css = 1624916173996
          +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\member-search-index.js = 1624916173958
          +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\module-search-index.js = 1624916173956
          +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\overview-summary.html = 1624916173975
          +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\overview-tree.html = 1624916173932
          +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\package-search-index.js = 1624916173957
          +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\script.js = 1624916173981
          +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\search.js = 1624916173983
          +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\serialized-form.html = 1624916173866
          +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\stylesheet.css = 1624916173979
          +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\tag-search-index.js = 1624916173959
          +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\type-search-index.js = 1624916173957
          \ No newline at end of file
          diff --git a/target/original-spoteezer-0.1.0.jar b/target/original-spoteezer-0.1.0.jar
          index dee388f..96eb4fb 100644
          Binary files a/target/original-spoteezer-0.1.0.jar and b/target/original-spoteezer-0.1.0.jar differ
          diff --git a/target/site/apidocs/allclasses-index.html b/target/site/apidocs/allclasses-index.html
          index f526bdf..46cc044 100644
          --- a/target/site/apidocs/allclasses-index.html
          +++ b/target/site/apidocs/allclasses-index.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>All Classes (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="class index">
           <meta name="generator" content="javadoc/AllClassesIndexWriter">
           <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
          @@ -96,10 +96,14 @@ loadScripts(document, 'script');</script>
           </div>
           <div class="col-first odd-row-color all-classes-table-tab2 all-classes-table"><a href="musichub/business/PlayList.html" title="class in musichub.business">PlayList</a></div>
           <div class="col-last odd-row-color all-classes-table-tab2 all-classes-table">&nbsp;</div>
          -<div class="col-first even-row-color all-classes-table-tab2 all-classes-table"><a href="musichub/business/Song.html" title="class in musichub.business">Song</a></div>
          -<div class="col-last even-row-color all-classes-table-tab2 all-classes-table">&nbsp;</div>
          -<div class="col-first odd-row-color all-classes-table-tab2 all-classes-table"><a href="musichub/util/XMLHandler.html" title="class in musichub.util">XMLHandler</a></div>
          +<div class="col-first even-row-color all-classes-table-tab2 all-classes-table"><a href="musichub/util/Policy.html" title="class in musichub.util">Policy</a></div>
          +<div class="col-last even-row-color all-classes-table-tab2 all-classes-table">
          +<div class="block">Class offering methods to prompt a policy agreement form to the user.</div>
          +</div>
          +<div class="col-first odd-row-color all-classes-table-tab2 all-classes-table"><a href="musichub/business/Song.html" title="class in musichub.business">Song</a></div>
           <div class="col-last odd-row-color all-classes-table-tab2 all-classes-table">&nbsp;</div>
          +<div class="col-first even-row-color all-classes-table-tab2 all-classes-table"><a href="musichub/util/XMLHandler.html" title="class in musichub.util">XMLHandler</a></div>
          +<div class="col-last even-row-color all-classes-table-tab2 all-classes-table">&nbsp;</div>
           </div>
           </div>
           </div>
          diff --git a/target/site/apidocs/allpackages-index.html b/target/site/apidocs/allpackages-index.html
          index 76d905a..e7eec7c 100644
          --- a/target/site/apidocs/allpackages-index.html
          +++ b/target/site/apidocs/allpackages-index.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>All Packages (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="package index">
           <meta name="generator" content="javadoc/AllPackagesIndexWriter">
           <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
          diff --git a/target/site/apidocs/help-doc.html b/target/site/apidocs/help-doc.html
          index 98c4397..a2dc5e0 100644
          --- a/target/site/apidocs/help-doc.html
          +++ b/target/site/apidocs/help-doc.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>API Help (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="help">
           <meta name="generator" content="javadoc/HelpWriter">
           <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
          diff --git a/target/site/apidocs/index-all.html b/target/site/apidocs/index-all.html
          index bb29e83..4154466 100644
          --- a/target/site/apidocs/index-all.html
          +++ b/target/site/apidocs/index-all.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>Index (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="index">
           <meta name="generator" content="javadoc/IndexWriter">
           <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
          @@ -182,6 +182,14 @@ loadScripts(document, 'script');</script>
           <dd>&nbsp;</dd>
           <dt><span class="member-name-link"><a href="musichub/business/Language.html#getLanguage()">getLanguage()</a></span> - Method in enum class musichub.business.<a href="musichub/business/Language.html" title="enum class in musichub.business">Language</a></dt>
           <dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#getPlayListSongs(java.lang.String)">getPlayListSongs(String)</a></span> - Method in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          +<dd>
          +<div class="block">Method checking the songs contained in a chosen playlist and returning them if found.</div>
          +</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#getPlayListsTitles()">getPlayListsTitles()</a></span> - Method in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          +<dd>
          +<div class="block">Method getting a list of playlists</div>
          +</dd>
           <dt><span class="member-name-link"><a href="musichub/business/Album.html#getSongs()">getSongs()</a></span> - Method in class musichub.business.<a href="musichub/business/Album.html" title="class in musichub.business">Album</a></dt>
           <dd>&nbsp;</dd>
           <dt><span class="member-name-link"><a href="musichub/business/Album.html#getSongsRandomly()">getSongsRandomly()</a></span> - Method in class musichub.business.<a href="musichub/business/Album.html" title="class in musichub.business">Album</a></dt>
          @@ -291,6 +299,14 @@ loadScripts(document, 'script');</script>
           <dd>&nbsp;</dd>
           <dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#PLAYLISTS_FILE_PATH">PLAYLISTS_FILE_PATH</a></span> - Static variable in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
           <dd>&nbsp;</dd>
          +<dt><a href="musichub/util/Policy.html" title="class in musichub.util"><span class="type-name-link">Policy</span></a> - Class in <a href="musichub/util/package-summary.html">musichub.util</a></dt>
          +<dd>
          +<div class="block">Class offering methods to prompt a policy agreement form to the user.</div>
          +</dd>
          +<dt><span class="member-name-link"><a href="musichub/util/Policy.html#%3Cinit%3E()">Policy()</a></span> - Constructor for class musichub.util.<a href="musichub/util/Policy.html" title="class in musichub.util">Policy</a></dt>
          +<dd>
          +<div class="block">Method that just throws an AssertionError if the class is called</div>
          +</dd>
           <dt><span class="member-name-link"><a href="musichub/business/Genre.html#POP">POP</a></span> - Enum constant in enum class musichub.business.<a href="musichub/business/Genre.html" title="enum class in musichub.business">Genre</a></dt>
           <dd>&nbsp;</dd>
           </dl>
          @@ -313,12 +329,18 @@ loadScripts(document, 'script');</script>
           <dd>&nbsp;</dd>
           <dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#savePlayLists()">savePlayLists()</a></span> - Method in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
           <dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/business/MusicHub.html#searchAudioElement()">searchAudioElement()</a></span> - Method in class musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business">MusicHub</a></dt>
          +<dd>&nbsp;</dd>
           <dt><span class="member-name-link"><a href="musichub/business/AudioBook.html#setCategory(java.lang.String)">setCategory(String)</a></span> - Method in class musichub.business.<a href="musichub/business/AudioBook.html" title="class in musichub.business">AudioBook</a></dt>
           <dd>&nbsp;</dd>
           <dt><span class="member-name-link"><a href="musichub/business/Song.html#setGenre(java.lang.String)">setGenre(String)</a></span> - Method in class musichub.business.<a href="musichub/business/Song.html" title="class in musichub.business">Song</a></dt>
           <dd>&nbsp;</dd>
           <dt><span class="member-name-link"><a href="musichub/business/AudioBook.html#setLanguage(java.lang.String)">setLanguage(String)</a></span> - Method in class musichub.business.<a href="musichub/business/AudioBook.html" title="class in musichub.business">AudioBook</a></dt>
           <dd>&nbsp;</dd>
          +<dt><span class="member-name-link"><a href="musichub/util/Policy.html#showTerm()">showTerm()</a></span> - Static method in class musichub.util.<a href="musichub/util/Policy.html" title="class in musichub.util">Policy</a></dt>
          +<dd>
          +<div class="block">Method prompting the whole policy agreement process</div>
          +</dd>
           <dt><a href="musichub/business/Song.html" title="class in musichub.business"><span class="type-name-link">Song</span></a> - Class in <a href="musichub/business/package-summary.html">musichub.business</a></dt>
           <dd>&nbsp;</dd>
           <dt><span class="member-name-link"><a href="musichub/business/Song.html#%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String)">Song(String, String, int, String, String)</a></span> - Constructor for class musichub.business.<a href="musichub/business/Song.html" title="class in musichub.business">Song</a></dt>
          diff --git a/target/site/apidocs/index.html b/target/site/apidocs/index.html
          index e4f188e..4b86103 100644
          --- a/target/site/apidocs/index.html
          +++ b/target/site/apidocs/index.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>Overview (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="package index">
           <meta name="generator" content="javadoc/PackageIndexWriter">
           <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
          diff --git a/target/site/apidocs/member-search-index.js b/target/site/apidocs/member-search-index.js
          index f583be9..3f8b8cd 100644
          --- a/target/site/apidocs/member-search-index.js
          +++ b/target/site/apidocs/member-search-index.js
          @@ -1 +1 @@
          -memberSearchIndex = [{"p":"musichub.business","c":"MusicHub","l":"addAlbum(Album)","u":"addAlbum(musichub.business.Album)"},{"p":"musichub.business","c":"MusicHub","l":"addElement(AudioElement)","u":"addElement(musichub.business.AudioElement)"},{"p":"musichub.business","c":"PlayList","l":"addElement(UUID)","u":"addElement(java.util.UUID)"},{"p":"musichub.business","c":"MusicHub","l":"addElementToAlbum(String, String)","u":"addElementToAlbum(java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"addElementToPlayList(String, String)","u":"addElementToPlayList(java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"addPlaylist(PlayList)","u":"addPlaylist(musichub.business.PlayList)"},{"p":"musichub.business","c":"Album","l":"addSong(UUID)","u":"addSong(java.util.UUID)"},{"p":"musichub.business","c":"Album","l":"Album(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"Album","l":"Album(String, String, int, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String)"},{"p":"musichub.business","c":"Album","l":"Album(String, String, int, String, String, ArrayList<UUID>)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.util.ArrayList)"},{"p":"musichub.business","c":"MusicHub","l":"ALBUMS_FILE_PATH"},{"p":"musichub.business","c":"MusicHub","l":"albums()"},{"p":"musichub.business","c":"AudioElement","l":"artist"},{"p":"musichub.business","c":"AudioBook","l":"AudioBook(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioBook","l":"AudioBook(String, String, int, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"AudioBook","l":"AudioBook(String, String, int, String, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"AudioElement","l":"AudioElement(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioElement","l":"AudioElement(String, String, int, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String)"},{"p":"musichub.business","c":"AudioElement","l":"AudioElement(String, String, int, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"Genre","l":"CLASSIC"},{"p":"musichub.business","c":"AudioElement","l":"content"},{"p":"musichub.util","c":"XMLHandler","l":"createXMLDocument()"},{"p":"musichub.business","c":"Album","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioBook","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioElement","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"PlayList","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"Song","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.util","c":"XMLHandler","l":"createXMLFile(Document, String)","u":"createXMLFile(org.w3c.dom.Document,java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"deletePlayList(String)","u":"deletePlayList(java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"DIR"},{"p":"musichub.business","c":"Category","l":"DOCUMENTARY"},{"p":"musichub.business","c":"MusicHub","l":"ELEMENTS_FILE_PATH"},{"p":"musichub.business","c":"MusicHub","l":"elements()"},{"p":"musichub.business","c":"Language","l":"ENGLISH"},{"p":"musichub.business","c":"Language","l":"FRENCH"},{"p":"musichub.business","c":"Language","l":"GERMAN"},{"p":"musichub.business","c":"MusicHub","l":"getAlbumSongs(String)","u":"getAlbumSongs(java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"getAlbumSongsSortedByGenre(String)","u":"getAlbumSongsSortedByGenre(java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"getAlbumsTitlesSortedByDate()"},{"p":"musichub.business","c":"AudioElement","l":"getArtist()"},{"p":"musichub.business","c":"MusicHub","l":"getAudiobooksTitlesSortedByAuthor()"},{"p":"musichub.business","c":"MusicHub","l":"getAudioElement(List<AudioElement>, String)","u":"getAudioElement(java.util.List,java.lang.String)"},{"p":"musichub.business","c":"AudioBook","l":"getCategory()"},{"p":"musichub.business","c":"Category","l":"getCategory()"},{"p":"musichub.business","c":"Album","l":"getDate()"},{"p":"musichub.business","c":"PlayList","l":"getElements()"},{"p":"musichub.business","c":"Genre","l":"getGenre()"},{"p":"musichub.business","c":"Song","l":"getGenre()"},{"p":"musichub.business","c":"AudioBook","l":"getLanguage()"},{"p":"musichub.business","c":"Language","l":"getLanguage()"},{"p":"musichub.business","c":"Album","l":"getSongs()"},{"p":"musichub.business","c":"Album","l":"getSongsRandomly()"},{"p":"musichub.business","c":"Album","l":"getTitle()"},{"p":"musichub.business","c":"AudioElement","l":"getTitle()"},{"p":"musichub.business","c":"PlayList","l":"getTitle()"},{"p":"musichub.business","c":"AudioElement","l":"getUUID()"},{"p":"musichub.business","c":"Genre","l":"HIPHOP"},{"p":"musichub.util","c":"PathValidation","l":"isPathValid(String)","u":"isPathValid(java.lang.String)"},{"p":"musichub.business","c":"Language","l":"ITALIAN"},{"p":"musichub.business","c":"Genre","l":"JAZZ"},{"p":"musichub.business","c":"AudioElement","l":"lengthInSeconds"},{"p":"musichub.util","c":"LogHandler","l":"LogHandler()","u":"%3Cinit%3E()"},{"p":"musichub.main","c":"Main","l":"Main()","u":"%3Cinit%3E()"},{"p":"musichub.main","c":"Main","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"musichub.business","c":"AudioElement","l":"manageAudioElement()"},{"p":"musichub.business","c":"MusicHub","l":"MusicHub()","u":"%3Cinit%3E()"},{"p":"musichub.business","c":"NoAlbumFoundException","l":"NoAlbumFoundException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"NoElementFoundException","l":"NoElementFoundException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"NoPlayListFoundException","l":"NoPlayListFoundException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"Category","l":"NOVEL"},{"p":"musichub.util","c":"XMLHandler","l":"parseXMLFile(String)","u":"parseXMLFile(java.lang.String)"},{"p":"musichub.util","c":"PathValidation","l":"PathValidation()","u":"%3Cinit%3E()"},{"p":"musichub.business","c":"PlayList","l":"PlayList(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"PlayList","l":"PlayList(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"PlayList","l":"PlayList(String, String, ArrayList<UUID>)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.util.ArrayList)"},{"p":"musichub.business","c":"MusicHub","l":"PLAYLISTS_FILE_PATH"},{"p":"musichub.business","c":"MusicHub","l":"playlists()"},{"p":"musichub.business","c":"Genre","l":"POP"},{"p":"musichub.business","c":"Genre","l":"RAP"},{"p":"musichub.util","c":"LogHandler","l":"read()"},{"p":"musichub.business","c":"Genre","l":"ROCK"},{"p":"musichub.business","c":"MusicHub","l":"saveAlbums()"},{"p":"musichub.business","c":"MusicHub","l":"saveElements()"},{"p":"musichub.business","c":"MusicHub","l":"savePlayLists()"},{"p":"musichub.business","c":"AudioBook","l":"setCategory(String)","u":"setCategory(java.lang.String)"},{"p":"musichub.business","c":"Song","l":"setGenre(String)","u":"setGenre(java.lang.String)"},{"p":"musichub.business","c":"AudioBook","l":"setLanguage(String)","u":"setLanguage(java.lang.String)"},{"p":"musichub.business","c":"Song","l":"Song(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"Song","l":"Song(String, String, int, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"Song","l":"Song(String, String, int, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"Language","l":"SPANISH"},{"p":"musichub.business","c":"Category","l":"SPEECH"},{"p":"musichub.business","c":"Category","l":"THEATER"},{"p":"musichub.business","c":"AudioElement","l":"title"},{"p":"musichub.business","c":"AudioBook","l":"toString()"},{"p":"musichub.business","c":"AudioElement","l":"toString()"},{"p":"musichub.business","c":"Song","l":"toString()"},{"p":"musichub.business","c":"AudioElement","l":"uuid"},{"p":"musichub.business","c":"Category","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"musichub.business","c":"Genre","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"musichub.business","c":"Language","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"musichub.business","c":"Category","l":"values()"},{"p":"musichub.business","c":"Genre","l":"values()"},{"p":"musichub.business","c":"Language","l":"values()"},{"p":"musichub.util","c":"LogHandler","l":"write(String, String)","u":"write(java.lang.String,java.lang.String)"},{"p":"musichub.util","c":"XMLHandler","l":"XMLHandler()","u":"%3Cinit%3E()"},{"p":"musichub.business","c":"Category","l":"YOUTH"}];updateSearchResults();
          \ No newline at end of file
          +memberSearchIndex = [{"p":"musichub.business","c":"MusicHub","l":"addAlbum(Album)","u":"addAlbum(musichub.business.Album)"},{"p":"musichub.business","c":"MusicHub","l":"addElement(AudioElement)","u":"addElement(musichub.business.AudioElement)"},{"p":"musichub.business","c":"PlayList","l":"addElement(UUID)","u":"addElement(java.util.UUID)"},{"p":"musichub.business","c":"MusicHub","l":"addElementToAlbum(String, String)","u":"addElementToAlbum(java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"addElementToPlayList(String, String)","u":"addElementToPlayList(java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"addPlaylist(PlayList)","u":"addPlaylist(musichub.business.PlayList)"},{"p":"musichub.business","c":"Album","l":"addSong(UUID)","u":"addSong(java.util.UUID)"},{"p":"musichub.business","c":"Album","l":"Album(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"Album","l":"Album(String, String, int, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String)"},{"p":"musichub.business","c":"Album","l":"Album(String, String, int, String, String, ArrayList<UUID>)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.util.ArrayList)"},{"p":"musichub.business","c":"MusicHub","l":"ALBUMS_FILE_PATH"},{"p":"musichub.business","c":"MusicHub","l":"albums()"},{"p":"musichub.business","c":"AudioElement","l":"artist"},{"p":"musichub.business","c":"AudioBook","l":"AudioBook(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioBook","l":"AudioBook(String, String, int, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"AudioBook","l":"AudioBook(String, String, int, String, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"AudioElement","l":"AudioElement(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioElement","l":"AudioElement(String, String, int, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String)"},{"p":"musichub.business","c":"AudioElement","l":"AudioElement(String, String, int, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"Genre","l":"CLASSIC"},{"p":"musichub.business","c":"AudioElement","l":"content"},{"p":"musichub.util","c":"XMLHandler","l":"createXMLDocument()"},{"p":"musichub.business","c":"Album","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioBook","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioElement","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"PlayList","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"Song","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.util","c":"XMLHandler","l":"createXMLFile(Document, String)","u":"createXMLFile(org.w3c.dom.Document,java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"deletePlayList(String)","u":"deletePlayList(java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"DIR"},{"p":"musichub.business","c":"Category","l":"DOCUMENTARY"},{"p":"musichub.business","c":"MusicHub","l":"ELEMENTS_FILE_PATH"},{"p":"musichub.business","c":"MusicHub","l":"elements()"},{"p":"musichub.business","c":"Language","l":"ENGLISH"},{"p":"musichub.business","c":"Language","l":"FRENCH"},{"p":"musichub.business","c":"Language","l":"GERMAN"},{"p":"musichub.business","c":"MusicHub","l":"getAlbumSongs(String)","u":"getAlbumSongs(java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"getAlbumSongsSortedByGenre(String)","u":"getAlbumSongsSortedByGenre(java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"getAlbumsTitlesSortedByDate()"},{"p":"musichub.business","c":"AudioElement","l":"getArtist()"},{"p":"musichub.business","c":"MusicHub","l":"getAudiobooksTitlesSortedByAuthor()"},{"p":"musichub.business","c":"MusicHub","l":"getAudioElement(List<AudioElement>, String)","u":"getAudioElement(java.util.List,java.lang.String)"},{"p":"musichub.business","c":"AudioBook","l":"getCategory()"},{"p":"musichub.business","c":"Category","l":"getCategory()"},{"p":"musichub.business","c":"Album","l":"getDate()"},{"p":"musichub.business","c":"PlayList","l":"getElements()"},{"p":"musichub.business","c":"Genre","l":"getGenre()"},{"p":"musichub.business","c":"Song","l":"getGenre()"},{"p":"musichub.business","c":"AudioBook","l":"getLanguage()"},{"p":"musichub.business","c":"Language","l":"getLanguage()"},{"p":"musichub.business","c":"MusicHub","l":"getPlayListSongs(String)","u":"getPlayListSongs(java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"getPlayListsTitles()"},{"p":"musichub.business","c":"Album","l":"getSongs()"},{"p":"musichub.business","c":"Album","l":"getSongsRandomly()"},{"p":"musichub.business","c":"Album","l":"getTitle()"},{"p":"musichub.business","c":"AudioElement","l":"getTitle()"},{"p":"musichub.business","c":"PlayList","l":"getTitle()"},{"p":"musichub.business","c":"AudioElement","l":"getUUID()"},{"p":"musichub.business","c":"Genre","l":"HIPHOP"},{"p":"musichub.util","c":"PathValidation","l":"isPathValid(String)","u":"isPathValid(java.lang.String)"},{"p":"musichub.business","c":"Language","l":"ITALIAN"},{"p":"musichub.business","c":"Genre","l":"JAZZ"},{"p":"musichub.business","c":"AudioElement","l":"lengthInSeconds"},{"p":"musichub.util","c":"LogHandler","l":"LogHandler()","u":"%3Cinit%3E()"},{"p":"musichub.main","c":"Main","l":"Main()","u":"%3Cinit%3E()"},{"p":"musichub.main","c":"Main","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"musichub.business","c":"AudioElement","l":"manageAudioElement()"},{"p":"musichub.business","c":"MusicHub","l":"MusicHub()","u":"%3Cinit%3E()"},{"p":"musichub.business","c":"NoAlbumFoundException","l":"NoAlbumFoundException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"NoElementFoundException","l":"NoElementFoundException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"NoPlayListFoundException","l":"NoPlayListFoundException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"Category","l":"NOVEL"},{"p":"musichub.util","c":"XMLHandler","l":"parseXMLFile(String)","u":"parseXMLFile(java.lang.String)"},{"p":"musichub.util","c":"PathValidation","l":"PathValidation()","u":"%3Cinit%3E()"},{"p":"musichub.business","c":"PlayList","l":"PlayList(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"PlayList","l":"PlayList(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"PlayList","l":"PlayList(String, String, ArrayList<UUID>)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.util.ArrayList)"},{"p":"musichub.business","c":"MusicHub","l":"PLAYLISTS_FILE_PATH"},{"p":"musichub.business","c":"MusicHub","l":"playlists()"},{"p":"musichub.util","c":"Policy","l":"Policy()","u":"%3Cinit%3E()"},{"p":"musichub.business","c":"Genre","l":"POP"},{"p":"musichub.business","c":"Genre","l":"RAP"},{"p":"musichub.util","c":"LogHandler","l":"read()"},{"p":"musichub.business","c":"Genre","l":"ROCK"},{"p":"musichub.business","c":"MusicHub","l":"saveAlbums()"},{"p":"musichub.business","c":"MusicHub","l":"saveElements()"},{"p":"musichub.business","c":"MusicHub","l":"savePlayLists()"},{"p":"musichub.business","c":"MusicHub","l":"searchAudioElement()"},{"p":"musichub.business","c":"AudioBook","l":"setCategory(String)","u":"setCategory(java.lang.String)"},{"p":"musichub.business","c":"Song","l":"setGenre(String)","u":"setGenre(java.lang.String)"},{"p":"musichub.business","c":"AudioBook","l":"setLanguage(String)","u":"setLanguage(java.lang.String)"},{"p":"musichub.util","c":"Policy","l":"showTerm()"},{"p":"musichub.business","c":"Song","l":"Song(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"Song","l":"Song(String, String, int, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"Song","l":"Song(String, String, int, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"Language","l":"SPANISH"},{"p":"musichub.business","c":"Category","l":"SPEECH"},{"p":"musichub.business","c":"Category","l":"THEATER"},{"p":"musichub.business","c":"AudioElement","l":"title"},{"p":"musichub.business","c":"AudioBook","l":"toString()"},{"p":"musichub.business","c":"AudioElement","l":"toString()"},{"p":"musichub.business","c":"Song","l":"toString()"},{"p":"musichub.business","c":"AudioElement","l":"uuid"},{"p":"musichub.business","c":"Category","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"musichub.business","c":"Genre","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"musichub.business","c":"Language","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"musichub.business","c":"Category","l":"values()"},{"p":"musichub.business","c":"Genre","l":"values()"},{"p":"musichub.business","c":"Language","l":"values()"},{"p":"musichub.util","c":"LogHandler","l":"write(String, String)","u":"write(java.lang.String,java.lang.String)"},{"p":"musichub.util","c":"XMLHandler","l":"XMLHandler()","u":"%3Cinit%3E()"},{"p":"musichub.business","c":"Category","l":"YOUTH"}];updateSearchResults();
          \ No newline at end of file
          diff --git a/target/site/apidocs/musichub/business/Album.html b/target/site/apidocs/musichub/business/Album.html
          index 1218e4a..05e3672 100644
          --- a/target/site/apidocs/musichub/business/Album.html
          +++ b/target/site/apidocs/musichub/business/Album.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>Album (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="declaration: package: musichub.business, class: Album">
           <meta name="generator" content="javadoc/ClassWriterImpl">
           <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          diff --git a/target/site/apidocs/musichub/business/AudioBook.html b/target/site/apidocs/musichub/business/AudioBook.html
          index 2947784..90aca57 100644
          --- a/target/site/apidocs/musichub/business/AudioBook.html
          +++ b/target/site/apidocs/musichub/business/AudioBook.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>AudioBook (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="declaration: package: musichub.business, class: AudioBook">
           <meta name="generator" content="javadoc/ClassWriterImpl">
           <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          diff --git a/target/site/apidocs/musichub/business/AudioElement.html b/target/site/apidocs/musichub/business/AudioElement.html
          index 952130b..fc48e95 100644
          --- a/target/site/apidocs/musichub/business/AudioElement.html
          +++ b/target/site/apidocs/musichub/business/AudioElement.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>AudioElement (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="declaration: package: musichub.business, class: AudioElement">
           <meta name="generator" content="javadoc/ClassWriterImpl">
           <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          diff --git a/target/site/apidocs/musichub/business/Category.html b/target/site/apidocs/musichub/business/Category.html
          index efdb113..81893ae 100644
          --- a/target/site/apidocs/musichub/business/Category.html
          +++ b/target/site/apidocs/musichub/business/Category.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>Category (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="declaration: package: musichub.business, enum: Category">
           <meta name="generator" content="javadoc/ClassWriterImpl">
           <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          diff --git a/target/site/apidocs/musichub/business/Genre.html b/target/site/apidocs/musichub/business/Genre.html
          index fb61007..47e52f0 100644
          --- a/target/site/apidocs/musichub/business/Genre.html
          +++ b/target/site/apidocs/musichub/business/Genre.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>Genre (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="declaration: package: musichub.business, enum: Genre">
           <meta name="generator" content="javadoc/ClassWriterImpl">
           <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          diff --git a/target/site/apidocs/musichub/business/Language.html b/target/site/apidocs/musichub/business/Language.html
          index de6d02c..9bf8df2 100644
          --- a/target/site/apidocs/musichub/business/Language.html
          +++ b/target/site/apidocs/musichub/business/Language.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>Language (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="declaration: package: musichub.business, enum: Language">
           <meta name="generator" content="javadoc/ClassWriterImpl">
           <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          diff --git a/target/site/apidocs/musichub/business/MusicHub.html b/target/site/apidocs/musichub/business/MusicHub.html
          index c9aa14b..b8a7d99 100644
          --- a/target/site/apidocs/musichub/business/MusicHub.html
          +++ b/target/site/apidocs/musichub/business/MusicHub.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>MusicHub (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="declaration: package: musichub.business, class: MusicHub">
           <meta name="generator" content="javadoc/ClassWriterImpl">
           <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          @@ -175,6 +175,16 @@ loadScripts(document, 'script');</script>
           <div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getAudioElement(java.util.List,java.lang.String)">getAudioElement</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="AudioElement.html" title="class in musichub.business">AudioElement</a>&gt;&nbsp;audios,
            <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;elementTitle)</code></div>
           <div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="AudioElement.html" title="class in musichub.business">AudioElement</a>&gt;</code></div>
          +<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getPlayListSongs(java.lang.String)">getPlayListSongs</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;playListTitle)</code></div>
          +<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
          +<div class="block">Method checking the songs contained in a chosen playlist and returning them if found.</div>
          +</div>
          +<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
          +<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getPlayListsTitles()">getPlayListsTitles</a></span>()</code></div>
          +<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
          +<div class="block">Method getting a list of playlists</div>
          +</div>
           <div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link">Iterator</a>&lt;<a href="PlayList.html" title="class in musichub.business">PlayList</a>&gt;</code></div>
           <div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#playlists()">playlists</a></span>()</code></div>
           <div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          @@ -187,6 +197,9 @@ loadScripts(document, 'script');</script>
           <div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
           <div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#savePlayLists()">savePlayLists</a></span>()</code></div>
           <div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
          +<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
          +<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#searchAudioElement()">searchAudioElement</a></span>()</code></div>
          +<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
           </div>
           </div>
           </div>
          @@ -395,6 +408,52 @@ loadScripts(document, 'script');</script>
           </dl>
           </section>
           </li>
          +<li>
          +<section class="detail" id="searchAudioElement()">
          +<h3>searchAudioElement</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">searchAudioElement</span>()
          +                        throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/javax/sound/sampled/UnsupportedAudioFileException.html" title="class or interface in javax.sound.sampled" class="external-link">UnsupportedAudioFileException</a>,
          +<a href="NoAlbumFoundException.html" title="class in musichub.business">NoAlbumFoundException</a>,
          +<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/javax/sound/sampled/LineUnavailableException.html" title="class or interface in javax.sound.sampled" class="external-link">LineUnavailableException</a>,
          +<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a>,
          +<a href="NoElementFoundException.html" title="class in musichub.business">NoElementFoundException</a></span></div>
          +<dl class="notes">
          +<dt>Throws:</dt>
          +<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/javax/sound/sampled/UnsupportedAudioFileException.html" title="class or interface in javax.sound.sampled" class="external-link">UnsupportedAudioFileException</a></code></dd>
          +<dd><code><a href="NoAlbumFoundException.html" title="class in musichub.business">NoAlbumFoundException</a></code></dd>
          +<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/javax/sound/sampled/LineUnavailableException.html" title="class or interface in javax.sound.sampled" class="external-link">LineUnavailableException</a></code></dd>
          +<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
          +<dd><code><a href="NoElementFoundException.html" title="class in musichub.business">NoElementFoundException</a></code></dd>
          +</dl>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="getPlayListsTitles()">
          +<h3>getPlayListsTitles</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getPlayListsTitles</span>()</div>
          +<div class="block">Method getting a list of playlists</div>
          +<dl class="notes">
          +<dt>Returns:</dt>
          +<dd>a list of playlist titles</dd>
          +</dl>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="getPlayListSongs(java.lang.String)">
          +<h3>getPlayListSongs</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="AudioElement.html" title="class in musichub.business">AudioElement</a>&gt;</span>&nbsp;<span class="element-name">getPlayListSongs</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;playListTitle)</span>
          +                                    throws <span class="exceptions"><a href="NoPlayListFoundException.html" title="class in musichub.business">NoPlayListFoundException</a></span></div>
          +<div class="block">Method checking the songs contained in a chosen playlist and returning them if found.</div>
          +<dl class="notes">
          +<dt>Parameters:</dt>
          +<dd><code>playListTitle</code> - the title of a (chosen) playlist</dd>
          +<dt>Returns:</dt>
          +<dd>a list of songs from a playlist</dd>
          +<dt>Throws:</dt>
          +<dd><code><a href="NoPlayListFoundException.html" title="class in musichub.business">NoPlayListFoundException</a></code> - if the chosen playlist doesn't exist</dd>
          +</dl>
          +</section>
          +</li>
           </ul>
           </section>
           </li>
          diff --git a/target/site/apidocs/musichub/business/NoAlbumFoundException.html b/target/site/apidocs/musichub/business/NoAlbumFoundException.html
          index 8cd2100..074411d 100644
          --- a/target/site/apidocs/musichub/business/NoAlbumFoundException.html
          +++ b/target/site/apidocs/musichub/business/NoAlbumFoundException.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>NoAlbumFoundException (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="declaration: package: musichub.business, class: NoAlbumFoundException">
           <meta name="generator" content="javadoc/ClassWriterImpl">
           <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          diff --git a/target/site/apidocs/musichub/business/NoElementFoundException.html b/target/site/apidocs/musichub/business/NoElementFoundException.html
          index 41fa7a8..59f09c8 100644
          --- a/target/site/apidocs/musichub/business/NoElementFoundException.html
          +++ b/target/site/apidocs/musichub/business/NoElementFoundException.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>NoElementFoundException (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="declaration: package: musichub.business, class: NoElementFoundException">
           <meta name="generator" content="javadoc/ClassWriterImpl">
           <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          diff --git a/target/site/apidocs/musichub/business/NoPlayListFoundException.html b/target/site/apidocs/musichub/business/NoPlayListFoundException.html
          index 65ad902..c5cadd8 100644
          --- a/target/site/apidocs/musichub/business/NoPlayListFoundException.html
          +++ b/target/site/apidocs/musichub/business/NoPlayListFoundException.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>NoPlayListFoundException (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="declaration: package: musichub.business, class: NoPlayListFoundException">
           <meta name="generator" content="javadoc/ClassWriterImpl">
           <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          diff --git a/target/site/apidocs/musichub/business/PlayList.html b/target/site/apidocs/musichub/business/PlayList.html
          index a0bd02b..e61a1f5 100644
          --- a/target/site/apidocs/musichub/business/PlayList.html
          +++ b/target/site/apidocs/musichub/business/PlayList.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>PlayList (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="declaration: package: musichub.business, class: PlayList">
           <meta name="generator" content="javadoc/ClassWriterImpl">
           <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          diff --git a/target/site/apidocs/musichub/business/Song.html b/target/site/apidocs/musichub/business/Song.html
          index 2550898..25364f2 100644
          --- a/target/site/apidocs/musichub/business/Song.html
          +++ b/target/site/apidocs/musichub/business/Song.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>Song (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="declaration: package: musichub.business, class: Song">
           <meta name="generator" content="javadoc/ClassWriterImpl">
           <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          diff --git a/target/site/apidocs/musichub/business/class-use/Album.html b/target/site/apidocs/musichub/business/class-use/Album.html
          index 846ce1e..04fb824 100644
          --- a/target/site/apidocs/musichub/business/class-use/Album.html
          +++ b/target/site/apidocs/musichub/business/class-use/Album.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>Uses of Class musichub.business.Album (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="use: package: musichub.business, class: Album">
           <meta name="generator" content="javadoc/ClassUseWriter">
           <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          diff --git a/target/site/apidocs/musichub/business/class-use/AudioBook.html b/target/site/apidocs/musichub/business/class-use/AudioBook.html
          index ac2d207..4563de1 100644
          --- a/target/site/apidocs/musichub/business/class-use/AudioBook.html
          +++ b/target/site/apidocs/musichub/business/class-use/AudioBook.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>Uses of Class musichub.business.AudioBook (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="use: package: musichub.business, class: AudioBook">
           <meta name="generator" content="javadoc/ClassUseWriter">
           <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          diff --git a/target/site/apidocs/musichub/business/class-use/AudioElement.html b/target/site/apidocs/musichub/business/class-use/AudioElement.html
          index 6721959..a522d81 100644
          --- a/target/site/apidocs/musichub/business/class-use/AudioElement.html
          +++ b/target/site/apidocs/musichub/business/class-use/AudioElement.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>Uses of Class musichub.business.AudioElement (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="use: package: musichub.business, class: AudioElement">
           <meta name="generator" content="javadoc/ClassUseWriter">
           <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          @@ -89,6 +89,11 @@ loadScripts(document, 'script');</script>
           <div class="col-first odd-row-color"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../AudioElement.html" title="class in musichub.business">AudioElement</a>&gt;</code></div>
           <div class="col-second odd-row-color"><span class="type-name-label">MusicHub.</span><code><span class="member-name-link"><a href="../MusicHub.html#getAlbumSongs(java.lang.String)">getAlbumSongs</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;albumTitle)</code></div>
           <div class="col-last odd-row-color">&nbsp;</div>
          +<div class="col-first even-row-color"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../AudioElement.html" title="class in musichub.business">AudioElement</a>&gt;</code></div>
          +<div class="col-second even-row-color"><span class="type-name-label">MusicHub.</span><code><span class="member-name-link"><a href="../MusicHub.html#getPlayListSongs(java.lang.String)">getPlayListSongs</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;playListTitle)</code></div>
          +<div class="col-last even-row-color">
          +<div class="block">Method checking the songs contained in a chosen playlist and returning them if found.</div>
          +</div>
           </div>
           <div class="caption"><span>Methods in <a href="../package-summary.html">musichub.business</a> with parameters of type <a href="../AudioElement.html" title="class in musichub.business">AudioElement</a></span></div>
           <div class="summary-table three-column-summary">
          diff --git a/target/site/apidocs/musichub/business/class-use/Category.html b/target/site/apidocs/musichub/business/class-use/Category.html
          index bf72525..a505a01 100644
          --- a/target/site/apidocs/musichub/business/class-use/Category.html
          +++ b/target/site/apidocs/musichub/business/class-use/Category.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>Uses of Enum Class musichub.business.Category (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="use: package: musichub.business, enum: Category">
           <meta name="generator" content="javadoc/ClassUseWriter">
           <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          diff --git a/target/site/apidocs/musichub/business/class-use/Genre.html b/target/site/apidocs/musichub/business/class-use/Genre.html
          index 45e4285..3b28e4b 100644
          --- a/target/site/apidocs/musichub/business/class-use/Genre.html
          +++ b/target/site/apidocs/musichub/business/class-use/Genre.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>Uses of Enum Class musichub.business.Genre (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="use: package: musichub.business, enum: Genre">
           <meta name="generator" content="javadoc/ClassUseWriter">
           <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          diff --git a/target/site/apidocs/musichub/business/class-use/Language.html b/target/site/apidocs/musichub/business/class-use/Language.html
          index 2641403..8eef0cd 100644
          --- a/target/site/apidocs/musichub/business/class-use/Language.html
          +++ b/target/site/apidocs/musichub/business/class-use/Language.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>Uses of Enum Class musichub.business.Language (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="use: package: musichub.business, enum: Language">
           <meta name="generator" content="javadoc/ClassUseWriter">
           <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          diff --git a/target/site/apidocs/musichub/business/class-use/MusicHub.html b/target/site/apidocs/musichub/business/class-use/MusicHub.html
          index 6001814..66f825c 100644
          --- a/target/site/apidocs/musichub/business/class-use/MusicHub.html
          +++ b/target/site/apidocs/musichub/business/class-use/MusicHub.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>Uses of Class musichub.business.MusicHub (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="use: package: musichub.business, class: MusicHub">
           <meta name="generator" content="javadoc/ClassUseWriter">
           <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          diff --git a/target/site/apidocs/musichub/business/class-use/NoAlbumFoundException.html b/target/site/apidocs/musichub/business/class-use/NoAlbumFoundException.html
          index ec4794b..4afe620 100644
          --- a/target/site/apidocs/musichub/business/class-use/NoAlbumFoundException.html
          +++ b/target/site/apidocs/musichub/business/class-use/NoAlbumFoundException.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>Uses of Class musichub.business.NoAlbumFoundException (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="use: package: musichub.business, class: NoAlbumFoundException">
           <meta name="generator" content="javadoc/ClassUseWriter">
           <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          @@ -60,6 +60,8 @@ loadScripts(document, 'script');</script>
           <div class="table-header col-last">Description</div>
           <div class="col-first even-row-color"><a href="#musichub.business">musichub.business</a></div>
           <div class="col-last even-row-color">&nbsp;</div>
          +<div class="col-first odd-row-color"><a href="#musichub.main">musichub.main</a></div>
          +<div class="col-last odd-row-color">&nbsp;</div>
           </div>
           <section class="class-uses">
           <ul class="block-list">
          @@ -85,6 +87,23 @@ loadScripts(document, 'script');</script>
           <div class="col-second odd-row-color"><span class="type-name-label">MusicHub.</span><code><span class="member-name-link"><a href="../MusicHub.html#getAudioElement(java.util.List,java.lang.String)">getAudioElement</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../AudioElement.html" title="class in musichub.business">AudioElement</a>&gt;&nbsp;audios,
            <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;elementTitle)</code></div>
           <div class="col-last odd-row-color">&nbsp;</div>
          +<div class="col-first even-row-color"><code>void</code></div>
          +<div class="col-second even-row-color"><span class="type-name-label">MusicHub.</span><code><span class="member-name-link"><a href="../MusicHub.html#searchAudioElement()">searchAudioElement</a></span>()</code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +</div>
          +</section>
          +</li>
          +<li>
          +<section class="detail" id="musichub.main">
          +<h2>Uses of <a href="../NoAlbumFoundException.html" title="class in musichub.business">NoAlbumFoundException</a> in <a href="../../main/package-summary.html">musichub.main</a></h2>
          +<div class="caption"><span>Methods in <a href="../../main/package-summary.html">musichub.main</a> that throw <a href="../NoAlbumFoundException.html" title="class in musichub.business">NoAlbumFoundException</a></span></div>
          +<div class="summary-table three-column-summary">
          +<div class="table-header col-first">Modifier and Type</div>
          +<div class="table-header col-second">Method</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color"><code>static void</code></div>
          +<div class="col-second even-row-color"><span class="type-name-label">Main.</span><code><span class="member-name-link"><a href="../../main/Main.html#main(java.lang.String%5B%5D)">main</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]&nbsp;args)</code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
           </div>
           </section>
           </li>
          diff --git a/target/site/apidocs/musichub/business/class-use/NoElementFoundException.html b/target/site/apidocs/musichub/business/class-use/NoElementFoundException.html
          index 438ea7e..5a15a6e 100644
          --- a/target/site/apidocs/musichub/business/class-use/NoElementFoundException.html
          +++ b/target/site/apidocs/musichub/business/class-use/NoElementFoundException.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>Uses of Class musichub.business.NoElementFoundException (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="use: package: musichub.business, class: NoElementFoundException">
           <meta name="generator" content="javadoc/ClassUseWriter">
           <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          @@ -79,6 +79,9 @@ loadScripts(document, 'script');</script>
           <div class="col-second odd-row-color"><span class="type-name-label">MusicHub.</span><code><span class="member-name-link"><a href="../MusicHub.html#addElementToPlayList(java.lang.String,java.lang.String)">addElementToPlayList</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;elementTitle,
            <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;playListTitle)</code></div>
           <div class="col-last odd-row-color">&nbsp;</div>
          +<div class="col-first even-row-color"><code>void</code></div>
          +<div class="col-second even-row-color"><span class="type-name-label">MusicHub.</span><code><span class="member-name-link"><a href="../MusicHub.html#searchAudioElement()">searchAudioElement</a></span>()</code></div>
          +<div class="col-last even-row-color">&nbsp;</div>
           </div>
           </section>
           </li>
          diff --git a/target/site/apidocs/musichub/business/class-use/NoPlayListFoundException.html b/target/site/apidocs/musichub/business/class-use/NoPlayListFoundException.html
          index fc2e2e3..074b203 100644
          --- a/target/site/apidocs/musichub/business/class-use/NoPlayListFoundException.html
          +++ b/target/site/apidocs/musichub/business/class-use/NoPlayListFoundException.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>Uses of Class musichub.business.NoPlayListFoundException (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="use: package: musichub.business, class: NoPlayListFoundException">
           <meta name="generator" content="javadoc/ClassUseWriter">
           <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          @@ -78,6 +78,11 @@ loadScripts(document, 'script');</script>
           <div class="col-first odd-row-color"><code>void</code></div>
           <div class="col-second odd-row-color"><span class="type-name-label">MusicHub.</span><code><span class="member-name-link"><a href="../MusicHub.html#deletePlayList(java.lang.String)">deletePlayList</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;playListTitle)</code></div>
           <div class="col-last odd-row-color">&nbsp;</div>
          +<div class="col-first even-row-color"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../AudioElement.html" title="class in musichub.business">AudioElement</a>&gt;</code></div>
          +<div class="col-second even-row-color"><span class="type-name-label">MusicHub.</span><code><span class="member-name-link"><a href="../MusicHub.html#getPlayListSongs(java.lang.String)">getPlayListSongs</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;playListTitle)</code></div>
          +<div class="col-last even-row-color">
          +<div class="block">Method checking the songs contained in a chosen playlist and returning them if found.</div>
          +</div>
           </div>
           </section>
           </li>
          diff --git a/target/site/apidocs/musichub/business/class-use/PlayList.html b/target/site/apidocs/musichub/business/class-use/PlayList.html
          index bda55e0..d482eb3 100644
          --- a/target/site/apidocs/musichub/business/class-use/PlayList.html
          +++ b/target/site/apidocs/musichub/business/class-use/PlayList.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>Uses of Class musichub.business.PlayList (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="use: package: musichub.business, class: PlayList">
           <meta name="generator" content="javadoc/ClassUseWriter">
           <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          diff --git a/target/site/apidocs/musichub/business/class-use/Song.html b/target/site/apidocs/musichub/business/class-use/Song.html
          index 3325f6e..8989a96 100644
          --- a/target/site/apidocs/musichub/business/class-use/Song.html
          +++ b/target/site/apidocs/musichub/business/class-use/Song.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>Uses of Class musichub.business.Song (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="use: package: musichub.business, class: Song">
           <meta name="generator" content="javadoc/ClassUseWriter">
           <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          diff --git a/target/site/apidocs/musichub/business/package-summary.html b/target/site/apidocs/musichub/business/package-summary.html
          index 6091b4c..687fe85 100644
          --- a/target/site/apidocs/musichub/business/package-summary.html
          +++ b/target/site/apidocs/musichub/business/package-summary.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>musichub.business (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="declaration: package: musichub.business">
           <meta name="generator" content="javadoc/PackageWriterImpl">
           <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          diff --git a/target/site/apidocs/musichub/business/package-tree.html b/target/site/apidocs/musichub/business/package-tree.html
          index 043e924..0577411 100644
          --- a/target/site/apidocs/musichub/business/package-tree.html
          +++ b/target/site/apidocs/musichub/business/package-tree.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>musichub.business Class Hierarchy (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="tree: package: musichub.business">
           <meta name="generator" content="javadoc/PackageTreeWriter">
           <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          diff --git a/target/site/apidocs/musichub/business/package-use.html b/target/site/apidocs/musichub/business/package-use.html
          index 9e21dc4..fb82b92 100644
          --- a/target/site/apidocs/musichub/business/package-use.html
          +++ b/target/site/apidocs/musichub/business/package-use.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>Uses of Package musichub.business (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="use: package: musichub.business">
           <meta name="generator" content="javadoc/PackageUseWriter">
           <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          @@ -60,6 +60,8 @@ loadScripts(document, 'script');</script>
           <div class="table-header col-last">Description</div>
           <div class="col-first even-row-color"><a href="#musichub.business">musichub.business</a></div>
           <div class="col-last even-row-color">&nbsp;</div>
          +<div class="col-first odd-row-color"><a href="#musichub.main">musichub.main</a></div>
          +<div class="col-last odd-row-color">&nbsp;</div>
           </div>
           <section class="package-uses">
           <ul class="block-list">
          @@ -92,6 +94,17 @@ loadScripts(document, 'script');</script>
           </div>
           </section>
           </li>
          +<li>
          +<section class="detail" id="musichub.main">
          +<div class="caption"><span>Classes in <a href="package-summary.html">musichub.business</a> used by <a href="../main/package-summary.html">musichub.main</a></span></div>
          +<div class="summary-table two-column-summary">
          +<div class="table-header col-first">Class</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color"><a href="class-use/NoAlbumFoundException.html#musichub.main">NoAlbumFoundException</a></div>
          +<div class="col-last even-row-color">&nbsp;</div>
          +</div>
          +</section>
          +</li>
           </ul>
           </section>
           </main>
          diff --git a/target/site/apidocs/musichub/main/Main.html b/target/site/apidocs/musichub/main/Main.html
          index 689df96..8e747c6 100644
          --- a/target/site/apidocs/musichub/main/Main.html
          +++ b/target/site/apidocs/musichub/main/Main.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>Main (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="declaration: package: musichub.main, class: Main">
           <meta name="generator" content="javadoc/ClassWriterImpl">
           <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          @@ -149,12 +149,14 @@ loadScripts(document, 'script');</script>
           <div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">main</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]&nbsp;args)</span>
                            throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/javax/sound/sampled/UnsupportedAudioFileException.html" title="class or interface in javax.sound.sampled" class="external-link">UnsupportedAudioFileException</a>,
           <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a>,
          -<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/javax/sound/sampled/LineUnavailableException.html" title="class or interface in javax.sound.sampled" class="external-link">LineUnavailableException</a></span></div>
          +<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/javax/sound/sampled/LineUnavailableException.html" title="class or interface in javax.sound.sampled" class="external-link">LineUnavailableException</a>,
          +<a href="../business/NoAlbumFoundException.html" title="class in musichub.business">NoAlbumFoundException</a></span></div>
           <dl class="notes">
           <dt>Throws:</dt>
           <dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/javax/sound/sampled/UnsupportedAudioFileException.html" title="class or interface in javax.sound.sampled" class="external-link">UnsupportedAudioFileException</a></code></dd>
           <dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
           <dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/javax/sound/sampled/LineUnavailableException.html" title="class or interface in javax.sound.sampled" class="external-link">LineUnavailableException</a></code></dd>
          +<dd><code><a href="../business/NoAlbumFoundException.html" title="class in musichub.business">NoAlbumFoundException</a></code></dd>
           </dl>
           </section>
           </li>
          diff --git a/target/site/apidocs/musichub/main/class-use/Main.html b/target/site/apidocs/musichub/main/class-use/Main.html
          index 3510a5a..135db94 100644
          --- a/target/site/apidocs/musichub/main/class-use/Main.html
          +++ b/target/site/apidocs/musichub/main/class-use/Main.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>Uses of Class musichub.main.Main (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="use: package: musichub.main, class: Main">
           <meta name="generator" content="javadoc/ClassUseWriter">
           <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          diff --git a/target/site/apidocs/musichub/main/package-summary.html b/target/site/apidocs/musichub/main/package-summary.html
          index 3173f29..3e7843a 100644
          --- a/target/site/apidocs/musichub/main/package-summary.html
          +++ b/target/site/apidocs/musichub/main/package-summary.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>musichub.main (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="declaration: package: musichub.main">
           <meta name="generator" content="javadoc/PackageWriterImpl">
           <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          diff --git a/target/site/apidocs/musichub/main/package-tree.html b/target/site/apidocs/musichub/main/package-tree.html
          index 28af7d3..b315db7 100644
          --- a/target/site/apidocs/musichub/main/package-tree.html
          +++ b/target/site/apidocs/musichub/main/package-tree.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>musichub.main Class Hierarchy (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="tree: package: musichub.main">
           <meta name="generator" content="javadoc/PackageTreeWriter">
           <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          diff --git a/target/site/apidocs/musichub/main/package-use.html b/target/site/apidocs/musichub/main/package-use.html
          index 91940dd..e258c4a 100644
          --- a/target/site/apidocs/musichub/main/package-use.html
          +++ b/target/site/apidocs/musichub/main/package-use.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>Uses of Package musichub.main (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="use: package: musichub.main">
           <meta name="generator" content="javadoc/PackageUseWriter">
           <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          diff --git a/target/site/apidocs/musichub/util/LogHandler.html b/target/site/apidocs/musichub/util/LogHandler.html
          index ef83ebd..fce5e8d 100644
          --- a/target/site/apidocs/musichub/util/LogHandler.html
          +++ b/target/site/apidocs/musichub/util/LogHandler.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>LogHandler (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="declaration: package: musichub.util, class: LogHandler">
           <meta name="generator" content="javadoc/ClassWriterImpl">
           <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          diff --git a/target/site/apidocs/musichub/util/PathValidation.html b/target/site/apidocs/musichub/util/PathValidation.html
          index fefddad..06d60fe 100644
          --- a/target/site/apidocs/musichub/util/PathValidation.html
          +++ b/target/site/apidocs/musichub/util/PathValidation.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>PathValidation (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="declaration: package: musichub.util, class: PathValidation">
           <meta name="generator" content="javadoc/ClassWriterImpl">
           <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          diff --git a/target/site/apidocs/musichub/util/Policy.html b/target/site/apidocs/musichub/util/Policy.html
          new file mode 100644
          index 0000000..4cb02cb
          --- /dev/null
          +++ b/target/site/apidocs/musichub/util/Policy.html
          @@ -0,0 +1,183 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
          +<title>Policy (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-28">
          +<meta name="description" content="declaration: package: musichub.util, class: Policy">
          +<meta name="generator" content="javadoc/ClassWriterImpl">
          +<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="../../script.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="class-declaration-page">
          +<script type="text/javascript">var evenRowColor = "even-row-color";
          +var oddRowColor = "odd-row-color";
          +var tableTab = "table-tab";
          +var activeTableTab = "active-table-tab";
          +var pathtoroot = "../../";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="../../index.html">Overview</a></li>
          +<li><a href="package-summary.html">Package</a></li>
          +<li class="nav-bar-cell1-rev">Class</li>
          +<li><a href="class-use/Policy.html">Use</a></li>
          +<li><a href="package-tree.html">Tree</a></li>
          +<li><a href="../../index-all.html">Index</a></li>
          +<li><a href="../../help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div>
          +<ul class="sub-nav-list">
          +<li>Summary:&nbsp;</li>
          +<li>Nested&nbsp;|&nbsp;</li>
          +<li>Field&nbsp;|&nbsp;</li>
          +<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
          +<li><a href="#method.summary">Method</a></li>
          +</ul>
          +<ul class="sub-nav-list">
          +<li>Detail:&nbsp;</li>
          +<li>Field&nbsp;|&nbsp;</li>
          +<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
          +<li><a href="#method.detail">Method</a></li>
          +</ul>
          +</div>
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<!-- ======== START OF CLASS DATA ======== -->
          +<div class="header">
          +<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">musichub.util</a></div>
          +<h1 title="Class Policy" class="title">Class Policy</h1>
          +</div>
          +<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
          +<div class="inheritance">musichub.util.Policy</div>
          +</div>
          +<section class="description">
          +<hr>
          +<div class="type-signature"><span class="modifiers">public final class </span><span class="element-name type-name-label">Policy</span>
          +<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
          +<div class="block">Class offering methods to prompt a policy agreement form to the user.</div>
          +<dl class="notes">
          +<dt>Version:</dt>
          +<dd>1.0</dd>
          +<dt>Author:</dt>
          +<dd>Anthony BOULANT</dd>
          +</dl>
          +</section>
          +<section class="summary">
          +<ul class="summary-list">
          +<!-- ======== CONSTRUCTOR SUMMARY ======== -->
          +<li>
          +<section class="constructor-summary" id="constructor.summary">
          +<h2>Constructor Summary</h2>
          +<div class="caption"><span>Constructors</span></div>
          +<div class="summary-table two-column-summary">
          +<div class="table-header col-first">Constructor</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-constructor-name even-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E()">Policy</a></span>()</code></div>
          +<div class="col-last even-row-color">
          +<div class="block">Method that just throws an AssertionError if the class is called</div>
          +</div>
          +</div>
          +</section>
          +</li>
          +<!-- ========== METHOD SUMMARY =========== -->
          +<li>
          +<section class="method-summary" id="method.summary">
          +<h2>Method Summary</h2>
          +<div id="method-summary-table">
          +<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
          +<div id="method-summary-table.tabpanel" role="tabpanel">
          +<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
          +<div class="table-header col-first">Modifier and Type</div>
          +<div class="table-header col-second">Method</div>
          +<div class="table-header col-last">Description</div>
          +<div class="col-first even-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table"><code>static void</code></div>
          +<div class="col-second even-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#showTerm()">showTerm</a></span>()</code></div>
          +<div class="col-last even-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table">
          +<div class="block">Method prompting the whole policy agreement process</div>
          +</div>
          +</div>
          +</div>
          +</div>
          +<div class="inherited-list">
          +<h3 id="methods.inherited.from.class.java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
          +<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +<section class="details">
          +<ul class="details-list">
          +<!-- ========= CONSTRUCTOR DETAIL ======== -->
          +<li>
          +<section class="constructor-details" id="constructor.detail">
          +<h2>Constructor Details</h2>
          +<ul class="member-list">
          +<li>
          +<section class="detail" id="&lt;init&gt;()">
          +<h3>Policy</h3>
          +<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">Policy</span>()</div>
          +<div class="block">Method that just throws an AssertionError if the class is called</div>
          +<dl class="notes">
          +<dt>Throws:</dt>
          +<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/AssertionError.html" title="class or interface in java.lang" class="external-link">AssertionError</a></code> - you can't instantiate this class</dd>
          +</dl>
          +</section>
          +</li>
          +</ul>
          +</section>
          +</li>
          +<!-- ============ METHOD DETAIL ========== -->
          +<li>
          +<section class="method-details" id="method.detail">
          +<h2>Method Details</h2>
          +<ul class="member-list">
          +<li>
          +<section class="detail" id="showTerm()">
          +<h3>showTerm</h3>
          +<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">showTerm</span>()</div>
          +<div class="block">Method prompting the whole policy agreement process</div>
          +</section>
          +</li>
          +</ul>
          +</section>
          +</li>
          +</ul>
          +</section>
          +<!-- ========= END OF CLASS DATA ========= -->
          +</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/musichub/util/XMLHandler.html b/target/site/apidocs/musichub/util/XMLHandler.html
          index 7236da3..b2d5bac 100644
          --- a/target/site/apidocs/musichub/util/XMLHandler.html
          +++ b/target/site/apidocs/musichub/util/XMLHandler.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>XMLHandler (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="declaration: package: musichub.util, class: XMLHandler">
           <meta name="generator" content="javadoc/ClassWriterImpl">
           <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          diff --git a/target/site/apidocs/musichub/util/class-use/LogHandler.html b/target/site/apidocs/musichub/util/class-use/LogHandler.html
          index 990f0fd..506f390 100644
          --- a/target/site/apidocs/musichub/util/class-use/LogHandler.html
          +++ b/target/site/apidocs/musichub/util/class-use/LogHandler.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>Uses of Class musichub.util.LogHandler (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="use: package: musichub.util, class: LogHandler">
           <meta name="generator" content="javadoc/ClassUseWriter">
           <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          diff --git a/target/site/apidocs/musichub/util/class-use/PathValidation.html b/target/site/apidocs/musichub/util/class-use/PathValidation.html
          index 220526c..e41b131 100644
          --- a/target/site/apidocs/musichub/util/class-use/PathValidation.html
          +++ b/target/site/apidocs/musichub/util/class-use/PathValidation.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>Uses of Class musichub.util.PathValidation (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="use: package: musichub.util, class: PathValidation">
           <meta name="generator" content="javadoc/ClassUseWriter">
           <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          diff --git a/target/site/apidocs/musichub/util/class-use/Policy.html b/target/site/apidocs/musichub/util/class-use/Policy.html
          new file mode 100644
          index 0000000..ea71f0b
          --- /dev/null
          +++ b/target/site/apidocs/musichub/util/class-use/Policy.html
          @@ -0,0 +1,65 @@
          +<!DOCTYPE HTML>
          +<!-- NewPage -->
          +<html lang="fr">
          +<head>
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
          +<title>Uses of Class musichub.util.Policy (spoteezer 0.1.0 API)</title>
          +<meta name="viewport" content="width=device-width, initial-scale=1">
          +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +<meta name="dc.created" content="2021-06-28">
          +<meta name="description" content="use: package: musichub.util, class: Policy">
          +<meta name="generator" content="javadoc/ClassUseWriter">
          +<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.min.css" title="Style">
          +<link rel="stylesheet" type="text/css" href="../../../jquery-ui.overrides.css" title="Style">
          +<script type="text/javascript" src="../../../script.js"></script>
          +<script type="text/javascript" src="../../../script-dir/jquery-3.5.1.min.js"></script>
          +<script type="text/javascript" src="../../../script-dir/jquery-ui.min.js"></script>
          +</head>
          +<body class="class-use-page">
          +<script type="text/javascript">var pathtoroot = "../../../";
          +loadScripts(document, 'script');</script>
          +<noscript>
          +<div>JavaScript is disabled on your browser.</div>
          +</noscript>
          +<div class="flex-box">
          +<header role="banner" class="flex-header">
          +<nav role="navigation">
          +<!-- ========= START OF TOP NAVBAR ======= -->
          +<div class="top-nav" id="navbar.top">
          +<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
          +<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
          +<li><a href="../../../index.html">Overview</a></li>
          +<li><a href="../package-summary.html">Package</a></li>
          +<li><a href="../Policy.html" title="class in musichub.util">Class</a></li>
          +<li class="nav-bar-cell1-rev">Use</li>
          +<li><a href="../package-tree.html">Tree</a></li>
          +<li><a href="../../../index-all.html">Index</a></li>
          +<li><a href="../../../help-doc.html">Help</a></li>
          +</ul>
          +</div>
          +<div class="sub-nav">
          +<div class="nav-list-search"><label for="search">SEARCH:</label>
          +<input type="text" id="search" value="search" disabled="disabled">
          +<input type="reset" id="reset" value="reset" disabled="disabled">
          +</div>
          +</div>
          +<!-- ========= END OF TOP NAVBAR ========= -->
          +<span class="skip-nav" id="skip.navbar.top">
          +<!--   -->
          +</span></nav>
          +</header>
          +<div class="flex-content">
          +<main role="main">
          +<div class="header">
          +<h1 title="Uses of Class musichub.util.Policy" class="title">Uses of Class<br>musichub.util.Policy</h1>
          +</div>
          +No usage of musichub.util.Policy</main>
          +<footer role="contentinfo">
          +<hr>
          +<p class="legal-copy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
          +</footer>
          +</div>
          +</div>
          +</body>
          +</html>
          diff --git a/target/site/apidocs/musichub/util/class-use/XMLHandler.html b/target/site/apidocs/musichub/util/class-use/XMLHandler.html
          index 7a70382..c373d88 100644
          --- a/target/site/apidocs/musichub/util/class-use/XMLHandler.html
          +++ b/target/site/apidocs/musichub/util/class-use/XMLHandler.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>Uses of Class musichub.util.XMLHandler (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="use: package: musichub.util, class: XMLHandler">
           <meta name="generator" content="javadoc/ClassUseWriter">
           <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
          diff --git a/target/site/apidocs/musichub/util/package-summary.html b/target/site/apidocs/musichub/util/package-summary.html
          index f86937c..90a4118 100644
          --- a/target/site/apidocs/musichub/util/package-summary.html
          +++ b/target/site/apidocs/musichub/util/package-summary.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>musichub.util (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="declaration: package: musichub.util">
           <meta name="generator" content="javadoc/PackageWriterImpl">
           <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          @@ -71,8 +71,12 @@ loadScripts(document, 'script');</script>
           <div class="col-last odd-row-color">
           <div class="block">Class offering a path validation method.</div>
           </div>
          -<div class="col-first even-row-color"><a href="XMLHandler.html" title="class in musichub.util">XMLHandler</a></div>
          -<div class="col-last even-row-color">&nbsp;</div>
          +<div class="col-first even-row-color"><a href="Policy.html" title="class in musichub.util">Policy</a></div>
          +<div class="col-last even-row-color">
          +<div class="block">Class offering methods to prompt a policy agreement form to the user.</div>
          +</div>
          +<div class="col-first odd-row-color"><a href="XMLHandler.html" title="class in musichub.util">XMLHandler</a></div>
          +<div class="col-last odd-row-color">&nbsp;</div>
           </div>
           </li>
           </ul>
          diff --git a/target/site/apidocs/musichub/util/package-tree.html b/target/site/apidocs/musichub/util/package-tree.html
          index ffec452..3975c7d 100644
          --- a/target/site/apidocs/musichub/util/package-tree.html
          +++ b/target/site/apidocs/musichub/util/package-tree.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>musichub.util Class Hierarchy (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="tree: package: musichub.util">
           <meta name="generator" content="javadoc/PackageTreeWriter">
           <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          @@ -65,6 +65,7 @@ loadScripts(document, 'script');</script>
           <ul>
           <li class="circle">musichub.util.<a href="LogHandler.html" title="class in musichub.util"><span class="type-name-link">LogHandler</span></a></li>
           <li class="circle">musichub.util.<a href="PathValidation.html" title="class in musichub.util"><span class="type-name-link">PathValidation</span></a></li>
          +<li class="circle">musichub.util.<a href="Policy.html" title="class in musichub.util"><span class="type-name-link">Policy</span></a></li>
           <li class="circle">musichub.util.<a href="XMLHandler.html" title="class in musichub.util"><span class="type-name-link">XMLHandler</span></a></li>
           </ul>
           </li>
          diff --git a/target/site/apidocs/musichub/util/package-use.html b/target/site/apidocs/musichub/util/package-use.html
          index 5b04593..29e9afd 100644
          --- a/target/site/apidocs/musichub/util/package-use.html
          +++ b/target/site/apidocs/musichub/util/package-use.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>Uses of Package musichub.util (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="use: package: musichub.util">
           <meta name="generator" content="javadoc/PackageUseWriter">
           <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
          diff --git a/target/site/apidocs/overview-summary.html b/target/site/apidocs/overview-summary.html
          index 4cc33e6..e04109c 100644
          --- a/target/site/apidocs/overview-summary.html
          +++ b/target/site/apidocs/overview-summary.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>spoteezer 0.1.0 API</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="index redirect">
           <meta name="generator" content="javadoc/IndexRedirectWriter">
           <link rel="canonical" href="index.html">
          diff --git a/target/site/apidocs/overview-tree.html b/target/site/apidocs/overview-tree.html
          index cdf90ae..fa638f1 100644
          --- a/target/site/apidocs/overview-tree.html
          +++ b/target/site/apidocs/overview-tree.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>Class Hierarchy (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="class tree">
           <meta name="generator" content="javadoc/TreeWriter">
           <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
          @@ -77,6 +77,7 @@ loadScripts(document, 'script');</script>
           <li class="circle">musichub.business.<a href="musichub/business/MusicHub.html" title="class in musichub.business"><span class="type-name-link">MusicHub</span></a></li>
           <li class="circle">musichub.util.<a href="musichub/util/PathValidation.html" title="class in musichub.util"><span class="type-name-link">PathValidation</span></a></li>
           <li class="circle">musichub.business.<a href="musichub/business/PlayList.html" title="class in musichub.business"><span class="type-name-link">PlayList</span></a></li>
          +<li class="circle">musichub.util.<a href="musichub/util/Policy.html" title="class in musichub.util"><span class="type-name-link">Policy</span></a></li>
           <li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html" title="class or interface in java.lang" class="external-link"><span class="type-name-link">Throwable</span></a> (implements java.io.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a>)
           <ul>
           <li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link"><span class="type-name-link">Exception</span></a>
          diff --git a/target/site/apidocs/serialized-form.html b/target/site/apidocs/serialized-form.html
          index 4f1d9d0..6403fa7 100644
          --- a/target/site/apidocs/serialized-form.html
          +++ b/target/site/apidocs/serialized-form.html
          @@ -2,11 +2,11 @@
           <!-- NewPage -->
           <html lang="fr">
           <head>
          -<!-- Generated by javadoc (16) on Sun Jun 27 13:23:48 CEST 2021 -->
          +<!-- Generated by javadoc (16) on Mon Jun 28 23:36:13 CEST 2021 -->
           <title>Serialized Form (spoteezer 0.1.0 API)</title>
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          -<meta name="dc.created" content="2021-06-27">
          +<meta name="dc.created" content="2021-06-28">
           <meta name="description" content="serialized forms">
           <meta name="generator" content="javadoc/SerializedFormWriterImpl">
           <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
          diff --git a/target/site/apidocs/type-search-index.js b/target/site/apidocs/type-search-index.js
          index 26dac6f..65bf426 100644
          --- a/target/site/apidocs/type-search-index.js
          +++ b/target/site/apidocs/type-search-index.js
          @@ -1 +1 @@
          -typeSearchIndex = [{"p":"musichub.business","l":"Album"},{"l":"All Classes","u":"allclasses-index.html"},{"p":"musichub.business","l":"AudioBook"},{"p":"musichub.business","l":"AudioElement"},{"p":"musichub.business","l":"Category"},{"p":"musichub.business","l":"Genre"},{"p":"musichub.business","l":"Language"},{"p":"musichub.util","l":"LogHandler"},{"p":"musichub.main","l":"Main"},{"p":"musichub.business","l":"MusicHub"},{"p":"musichub.business","l":"NoAlbumFoundException"},{"p":"musichub.business","l":"NoElementFoundException"},{"p":"musichub.business","l":"NoPlayListFoundException"},{"p":"musichub.util","l":"PathValidation"},{"p":"musichub.business","l":"PlayList"},{"p":"musichub.business","l":"Song"},{"p":"musichub.util","l":"XMLHandler"}];updateSearchResults();
          \ No newline at end of file
          +typeSearchIndex = [{"p":"musichub.business","l":"Album"},{"l":"All Classes","u":"allclasses-index.html"},{"p":"musichub.business","l":"AudioBook"},{"p":"musichub.business","l":"AudioElement"},{"p":"musichub.business","l":"Category"},{"p":"musichub.business","l":"Genre"},{"p":"musichub.business","l":"Language"},{"p":"musichub.util","l":"LogHandler"},{"p":"musichub.main","l":"Main"},{"p":"musichub.business","l":"MusicHub"},{"p":"musichub.business","l":"NoAlbumFoundException"},{"p":"musichub.business","l":"NoElementFoundException"},{"p":"musichub.business","l":"NoPlayListFoundException"},{"p":"musichub.util","l":"PathValidation"},{"p":"musichub.business","l":"PlayList"},{"p":"musichub.util","l":"Policy"},{"p":"musichub.business","l":"Song"},{"p":"musichub.util","l":"XMLHandler"}];updateSearchResults();
          \ No newline at end of file
          diff --git a/target/site/jacoco/index.html b/target/site/jacoco/index.html
          index b7992f7..dc1c55c 100644
          --- a/target/site/jacoco/index.html
          +++ b/target/site/jacoco/index.html
          @@ -1 +1 @@
          -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>spoteezer</title><script type="text/javascript" src="jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="jacoco-sessions.html" class="el_session">Sessions</a></span><span class="el_report">spoteezer</span></div><h1>spoteezer</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">2 167 of 2 969</td><td class="ctr2">27 %</td><td class="bar">207 of 230</td><td class="ctr2">10 %</td><td class="ctr1">177</td><td class="ctr2">226</td><td class="ctr1">612</td><td class="ctr2">794</td><td class="ctr1">57</td><td class="ctr2">97</td><td class="ctr1">10</td><td class="ctr2">20</td></tr></tfoot><tbody><tr><td id="a0"><a href="musichub.business/index.html" class="el_package">musichub.business</a></td><td class="bar" id="b0"><img src="jacoco-resources/redbar.gif" width="83" height="10" title="1 483" alt="1 483"/><img src="jacoco-resources/greenbar.gif" width="36" height="10" title="651" alt="651"/></td><td class="ctr2" id="c1">30 %</td><td class="bar" id="d0"><img src="jacoco-resources/redbar.gif" width="107" height="10" title="160" alt="160"/><img src="jacoco-resources/greenbar.gif" width="12" height="10" title="19" alt="19"/></td><td class="ctr2" id="e1">10 %</td><td class="ctr1" id="f0">140</td><td class="ctr2" id="g0">178</td><td class="ctr1" id="h0">373</td><td class="ctr2" id="i0">513</td><td class="ctr1" id="j0">51</td><td class="ctr2" id="k0">82</td><td class="ctr1" id="l0">8</td><td class="ctr2" id="m0">15</td></tr><tr><td id="a1"><a href="musichub.main/index.html" class="el_package">musichub.main</a></td><td class="bar" id="b1"><img src="jacoco-resources/redbar.gif" width="35" height="10" title="625" alt="625"/></td><td class="ctr2" id="c2">0 %</td><td class="bar" id="d1"><img src="jacoco-resources/redbar.gif" width="28" height="10" title="42" alt="42"/></td><td class="ctr2" id="e2">0 %</td><td class="ctr1" id="f1">31</td><td class="ctr2" id="g1">31</td><td class="ctr1" id="h1">215</td><td class="ctr2" id="i1">215</td><td class="ctr1" id="j1">3</td><td class="ctr2" id="k2">3</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a2"><a href="musichub.util/index.html" class="el_package">musichub.util</a></td><td class="bar" id="b2"><img src="jacoco-resources/redbar.gif" width="3" height="10" title="59" alt="59"/><img src="jacoco-resources/greenbar.gif" width="8" height="10" title="151" alt="151"/></td><td class="ctr2" id="c0">71 %</td><td class="bar" id="d2"><img src="jacoco-resources/redbar.gif" width="3" height="10" title="5" alt="5"/><img src="jacoco-resources/greenbar.gif" width="2" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">44 %</td><td class="ctr1" id="f2">6</td><td class="ctr2" id="g2">17</td><td class="ctr1" id="h2">24</td><td class="ctr2" id="i2">66</td><td class="ctr1" id="j2">3</td><td class="ctr2" id="k1">12</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m1">4</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>spoteezer</title><script type="text/javascript" src="jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="jacoco-sessions.html" class="el_session">Sessions</a></span><span class="el_report">spoteezer</span></div><h1>spoteezer</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">2 376 of 3 178</td><td class="ctr2">25 %</td><td class="bar">223 of 246</td><td class="ctr2">9 %</td><td class="ctr1">187</td><td class="ctr2">236</td><td class="ctr1">672</td><td class="ctr2">854</td><td class="ctr1">59</td><td class="ctr2">99</td><td class="ctr1">10</td><td class="ctr2">20</td></tr></tfoot><tbody><tr><td id="a0"><a href="musichub.business/index.html" class="el_package">musichub.business</a></td><td class="bar" id="b0"><img src="jacoco-resources/redbar.gif" width="85" height="10" title="1 588" alt="1 588"/><img src="jacoco-resources/greenbar.gif" width="34" height="10" title="651" alt="651"/></td><td class="ctr2" id="c1">29 %</td><td class="bar" id="d0"><img src="jacoco-resources/redbar.gif" width="108" height="10" title="175" alt="175"/><img src="jacoco-resources/greenbar.gif" width="11" height="10" title="19" alt="19"/></td><td class="ctr2" id="e1">9 %</td><td class="ctr1" id="f0">149</td><td class="ctr2" id="g0">187</td><td class="ctr1" id="h0">393</td><td class="ctr2" id="i0">533</td><td class="ctr1" id="j0">53</td><td class="ctr2" id="k0">84</td><td class="ctr1" id="l0">8</td><td class="ctr2" id="m0">15</td></tr><tr><td id="a1"><a href="musichub.main/index.html" class="el_package">musichub.main</a></td><td class="bar" id="b1"><img src="jacoco-resources/redbar.gif" width="38" height="10" title="722" alt="722"/></td><td class="ctr2" id="c2">0 %</td><td class="bar" id="d1"><img src="jacoco-resources/redbar.gif" width="26" height="10" title="43" alt="43"/></td><td class="ctr2" id="e2">0 %</td><td class="ctr1" id="f1">32</td><td class="ctr2" id="g1">32</td><td class="ctr1" id="h1">251</td><td class="ctr2" id="i1">251</td><td class="ctr1" id="j1">3</td><td class="ctr2" id="k2">3</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a2"><a href="musichub.util/index.html" class="el_package">musichub.util</a></td><td class="bar" id="b2"><img src="jacoco-resources/redbar.gif" width="3" height="10" title="66" alt="66"/><img src="jacoco-resources/greenbar.gif" width="8" height="10" title="151" alt="151"/></td><td class="ctr2" id="c0">69 %</td><td class="bar" id="d2"><img src="jacoco-resources/redbar.gif" width="3" height="10" title="5" alt="5"/><img src="jacoco-resources/greenbar.gif" width="2" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">44 %</td><td class="ctr1" id="f2">6</td><td class="ctr2" id="g2">17</td><td class="ctr1" id="h2">28</td><td class="ctr2" id="i2">70</td><td class="ctr1" id="j2">3</td><td class="ctr2" id="k1">12</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m1">4</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/jacoco-sessions.html b/target/site/jacoco/jacoco-sessions.html
          index 59fcb45..2e5066f 100644
          --- a/target/site/jacoco/jacoco-sessions.html
          +++ b/target/site/jacoco/jacoco-sessions.html
          @@ -1 +1 @@
          -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>Sessions</title></head><body><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="jacoco-sessions.html" class="el_session">Sessions</a></span><a href="index.html" class="el_report">spoteezer</a> &gt; <span class="el_session">Sessions</span></div><h1>Sessions</h1><p>This coverage report is based on execution data from the following sessions:</p><table class="coverage" cellspacing="0"><thead><tr><td>Session</td><td>Start Time</td><td>Dump Time</td></tr></thead><tbody><tr><td><span class="el_session">DESKTOP-M4INQND-91a7872b</span></td><td>27 juin 2021, 13:23:39</td><td>27 juin 2021, 13:23:40</td></tr><tr><td><span class="el_session">DESKTOP-M4INQND-11e0a096</span></td><td>27 juin 2021, 18:57:02</td><td>27 juin 2021, 18:57:02</td></tr><tr><td><span class="el_session">DESKTOP-M4INQND-7357f010</span></td><td>27 juin 2021, 22:23:27</td><td>27 juin 2021, 22:23:27</td></tr></tbody></table><p>Execution data for the following classes is considered in this report:</p><table class="coverage" cellspacing="0"><thead><tr><td>Class</td><td>Id</td></tr></thead><tbody><tr><td><span class="el_class">java.sql.Date</span></td><td><code>d25610486aed3f31</code></td></tr><tr><td><span class="el_class">java.sql.Timestamp</span></td><td><code>b848522074600355</code></td></tr><tr><td><a href="musichub.business/AudioBook.html" class="el_class">musichub.business.AudioBook</a></td><td><code>aaa13ef213e0885f</code></td></tr><tr><td><a href="musichub.business/AudioElement.html" class="el_class">musichub.business.AudioElement</a></td><td><code>776d9bc5621fe50f</code></td></tr><tr><td><a href="musichub.business/Category.html" class="el_class">musichub.business.Category</a></td><td><code>f9388aaddff9a152</code></td></tr><tr><td><span class="el_class">musichub.business.CategoryTest</span></td><td><code>8046f4a9dc44152c</code></td></tr><tr><td><a href="musichub.business/Genre.html" class="el_class">musichub.business.Genre</a></td><td><code>b2fbdfedce493822</code></td></tr><tr><td><a href="musichub.business/Language.html" class="el_class">musichub.business.Language</a></td><td><code>d39e77f1c1a0f641</code></td></tr><tr><td><span class="el_class">musichub.business.LanguageTest</span></td><td><code>f53b266ad5abf5d4</code></td></tr><tr><td><a href="musichub.business/PlayList.html" class="el_class">musichub.business.PlayList</a></td><td><code>5513ec76de07c419</code></td></tr><tr><td><span class="el_class">musichub.business.PlayListTest</span></td><td><code>7e7a002919fb95e1</code></td></tr><tr><td><a href="musichub.business/Song.html" class="el_class">musichub.business.Song</a></td><td><code>44a87f7f8335b156</code></td></tr><tr><td><span class="el_class">musichub.business.SongTest</span></td><td><code>88f03b022c5c7270</code></td></tr><tr><td><a href="musichub.util/LogHandler.html" class="el_class">musichub.util.LogHandler</a></td><td><code>09990b742e8d897c</code></td></tr><tr><td><span class="el_class">musichub.util.LogHandlerTest</span></td><td><code>49f271871a8ef7bf</code></td></tr><tr><td><a href="musichub.util/PathValidation.html" class="el_class">musichub.util.PathValidation</a></td><td><code>170ad3c706c07f6b</code></td></tr><tr><td><span class="el_class">musichub.util.PathValidationTest</span></td><td><code>9eabcd97683d6e01</code></td></tr><tr><td><a href="musichub.util/XMLHandler.html" class="el_class">musichub.util.XMLHandler</a></td><td><code>ab2fa919a374fd87</code></td></tr><tr><td><span class="el_class">musichub.util.XMLHandlerTest</span></td><td><code>4852491d32ffd349</code></td></tr><tr><td><span class="el_class">org.apache.maven.plugin.surefire.log.api.NullConsoleLogger</span></td><td><code>80d79e52a7499259</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.AbstractPathConfiguration</span></td><td><code>8182fa1396653f01</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.BaseProviderFactory</span></td><td><code>82593383b8ea92d6</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.BiProperty</span></td><td><code>4945e268841ae2cb</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.BooterDeserializer</span></td><td><code>5e68b147d2c4b22f</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ClassLoaderConfiguration</span></td><td><code>dc8fd5c18ebb0e44</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.Classpath</span></td><td><code>6f6b6469b9fdf4dd</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ClasspathConfiguration</span></td><td><code>4c7a5282c74ba3e2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.Command</span></td><td><code>eb1b53eb8cbe7b47</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.CommandReader</span></td><td><code>0c8d3ca700ec7199</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.CommandReader.1</span></td><td><code>fbfebde20e2b504c</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.CommandReader.CommandRunnable</span></td><td><code>ee59ae4d74408619</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.DumpErrorSingleton</span></td><td><code>a3fa02cb87e0e12b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter</span></td><td><code>a5c33895f0d22838</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.1</span></td><td><code>c87487d278c3ea96</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.2</span></td><td><code>31c66931520df8eb</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.3</span></td><td><code>95d48141fa4dd03d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.4</span></td><td><code>24dcd1c5bcf0d850</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.5</span></td><td><code>862846325c16cf76</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.6</span></td><td><code>b3ab24d3791d84dd</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.7</span></td><td><code>401437f62a3b16ff</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.PingScheduler</span></td><td><code>04bf02021dfc5e9c</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkingReporterFactory</span></td><td><code>076a6c0176f6238b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkingRunListener</span></td><td><code>92d4b034b32ca2c0</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.MasterProcessCommand</span></td><td><code>da65de332c2de19d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.PpidChecker</span></td><td><code>71b8c658da2ea8d3</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.PpidChecker.2</span></td><td><code>68d262a2c2ad8f14</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.PpidChecker.ProcessInfoConsumer</span></td><td><code>73f319c21fab7e7f</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ProcessInfo</span></td><td><code>b5b56cd86f3f0b31</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.PropertiesWrapper</span></td><td><code>ae4bf137cc5290c1</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ProviderConfiguration</span></td><td><code>d19986536a351b50</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.Shutdown</span></td><td><code>ee9c65017e107986</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.StartupConfiguration</span></td><td><code>a8cc10b01ed27439</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.SystemPropertyManager</span></td><td><code>f47497b1dde50d64</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.TypeEncodedValue</span></td><td><code>5ea9766678ac06a2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.cli.CommandLineOption</span></td><td><code>467fc7f51b73863b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.junitplatform.JUnitPlatformProvider</span></td><td><code>89b934b90ec6eb01</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.junitplatform.RunListenerAdapter</span></td><td><code>02cb8e87a6db2057</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.junitplatform.TestPlanScannerFilter</span></td><td><code>622558f718a42827</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.providerapi.AbstractProvider</span></td><td><code>90f3b08fe8a1c87c</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ConsoleOutputCapture</span></td><td><code>b8ae904ed8536017</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ConsoleOutputCapture.ForwardingPrintStream</span></td><td><code>f912ea5d2dac308e</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ConsoleOutputCapture.NullOutputStream</span></td><td><code>8d05eb67510fd586</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ReporterConfiguration</span></td><td><code>4281487891f02f69</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.SimpleReportEntry</span></td><td><code>ced572f24a462295</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.io.IOUtils</span></td><td><code>31aed2fcfab3e082</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.io.output.StringBuilderWriter</span></td><td><code>6d33fec8cb3374c0</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.lang3.JavaVersion</span></td><td><code>a8452005cb20bb7d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.lang3.StringUtils</span></td><td><code>4f785afa8bb3a23f</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.lang3.SystemUtils</span></td><td><code>aba69a973b7ba06a</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.lang3.math.NumberUtils</span></td><td><code>d0156407bff7b695</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.maven.shared.utils.StringUtils</span></td><td><code>483d14212b21a3ea</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.suite.RunResult</span></td><td><code>f5c7c53a954bcafa</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.DirectoryScannerParameters</span></td><td><code>2b5eeacae469cd1d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.IncludedExcludedPatterns</span></td><td><code>f39908e3b64d7090</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.ResolvedTest</span></td><td><code>a598483e424232d4</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.ResolvedTest.ClassMatcher</span></td><td><code>79be7f2fa77ad8d7</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.ResolvedTest.MethodMatcher</span></td><td><code>7c71374a51e8e61b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.ResolvedTest.Type</span></td><td><code>90e4214668937845</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.RunOrderParameters</span></td><td><code>b4c06223c3099700</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.TestArtifactInfo</span></td><td><code>f703953620e80b33</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.TestListResolver</span></td><td><code>7d372c99b98a147d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.TestRequest</span></td><td><code>0fa2c0cc34345df2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.CloseableIterator</span></td><td><code>cc15bdebae86d5d2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.DefaultRunOrderCalculator</span></td><td><code>1aeecbcd3bf6e89b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.DefaultScanResult</span></td><td><code>7fefafdf8c793c36</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.ReflectionUtils</span></td><td><code>8d5f4b05d6d77207</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.RunOrder</span></td><td><code>d2292a6beb4b6337</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.TestsToRun</span></td><td><code>a95363e4b4ba2069</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.TestsToRun.ClassesIterator</span></td><td><code>84a139c598502c0b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.DaemonThreadFactory</span></td><td><code>21a589f6dedb169c</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.DaemonThreadFactory.NamedThreadFactory</span></td><td><code>682458ca85b067a3</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.DumpFileUtils</span></td><td><code>fff19f49be3d8149</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.ImmutableMap</span></td><td><code>72bcae5e55b4fabb</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.ObjectUtils</span></td><td><code>69a2a92649b44645</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.StringUtils</span></td><td><code>3a7e4daf0a993e1e</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.StringUtils.EncodedArray</span></td><td><code>477f1d94d78cb50b</code></td></tr><tr><td><span class="el_class">org.apiguardian.api.API.Status</span></td><td><code>0341e8d99fc36573</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertEquals</span></td><td><code>12bfbbf2e4327e63</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertFalse</span></td><td><code>32fea5a28fb6a114</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertNotEquals</span></td><td><code>c7953c8abfcb95d0</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertNull</span></td><td><code>85f4114f65559fbd</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertTrue</span></td><td><code>612f68f7274dd69c</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertionUtils</span></td><td><code>da37ffd9f98016fd</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.Assertions</span></td><td><code>041279bcf2826fff</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.TestInstance.Lifecycle</span></td><td><code>0e93858cc703e9fc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ConditionEvaluationResult</span></td><td><code>2f9dc9ea54b57975</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ExtensionContext</span></td><td><code>222e1fc44c4844aa</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.DiscoveryFilterApplier</span></td><td><code>ae96a3ff3c2e2bc4</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.JupiterTestEngine</span></td><td><code>c74f725c8cb223be</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.AbstractExtensionContext</span></td><td><code>1f7ed0b87a9f2cca</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ClassExtensionContext</span></td><td><code>b85422abe06bbadd</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ClassTestDescriptor</span></td><td><code>61a635a4acc3ee31</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterEngineDescriptor</span></td><td><code>d025635c09450d0d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterEngineExtensionContext</span></td><td><code>7ae853fe3a80d83c</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterTestDescriptor</span></td><td><code>606e5ec97816bda5</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.LifecycleMethodUtils</span></td><td><code>19c9fba5accef0fa</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.MethodBasedTestDescriptor</span></td><td><code>65654838f58d8b44</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.MethodExtensionContext</span></td><td><code>c098f6d0bb344d56</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.TestInstanceLifecycleUtils</span></td><td><code>c42bb138e6a06252</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor</span></td><td><code>54eb6a19bd953962</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.AbstractMethodResolver</span></td><td><code>3934f16bf877b9f5</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.DiscoverySelectorResolver</span></td><td><code>a858789f976fefbc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.JavaElementsResolver</span></td><td><code>32e9ea682e77049d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodFinder</span></td><td><code>5ea468d2eb528361</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.NestedTestsResolver</span></td><td><code>9d92451ae793af41</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.TestContainerResolver</span></td><td><code>7db010f5e9c7301d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.TestFactoryMethodResolver</span></td><td><code>59fd27320e375440</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.TestMethodResolver</span></td><td><code>1417c6356fa4b27f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.TestTemplateMethodResolver</span></td><td><code>47563eb55cd35171</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsInnerClass</span></td><td><code>f7d9846d00228720</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsNestedTestClass</span></td><td><code>e47ff7cd33073803</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsPotentialTestContainer</span></td><td><code>0f8df015b2d5841a</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsScannableTestClass</span></td><td><code>839db992754219f6</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestClassWithTests</span></td><td><code>5ab134cc6ef3a81f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestFactoryMethod</span></td><td><code>a2c68978bd6bfbc6</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestMethod</span></td><td><code>8b244977e441886e</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestTemplateMethod</span></td><td><code>0baf1066bf0cbad7</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestableMethod</span></td><td><code>59a0b58a40803fe2</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ConditionEvaluator</span></td><td><code>fba35d945644501d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ExecutableInvoker</span></td><td><code>d64b9ef7a154ea95</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ExtensionValuesStore</span></td><td><code>2517eb7835ca6234</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext</span></td><td><code>65be276e3a954a94</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.Builder</span></td><td><code>dd69537274ccbffc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.State</span></td><td><code>38616672a2502408</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ThrowableCollector</span></td><td><code>92102b13561afdcf</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.DisabledCondition</span></td><td><code>a967493a244329fa</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.ExtensionRegistry</span></td><td><code>20b847fc63fd255b</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.RepeatedTestExtension</span></td><td><code>1b7914cc8cf83732</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TestInfoParameterResolver</span></td><td><code>1b5b370a56807cae</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TestReporterParameterResolver</span></td><td><code>839c7c31b3ec6390</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.logging.LoggerFactory</span></td><td><code>ca4e1a8773fb9bed</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.logging.LoggerFactory.DelegatingLogger</span></td><td><code>fd74fe2bb4edddd0</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.AnnotationUtils</span></td><td><code>32499b01efc144e8</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.AnnotationUtils.AnnotationCacheKey</span></td><td><code>f04082259bc4a6ab</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClassLoaderUtils</span></td><td><code>ebded5f4ecebd9d8</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClassUtils</span></td><td><code>4982a89773933a90</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClasspathScanner</span></td><td><code>8425ab535628f6b9</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.CollectionUtils</span></td><td><code>59532d0e14166bc8</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.Preconditions</span></td><td><code>f9207dc44e9d043d</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ReflectionUtils</span></td><td><code>4d39f1033ae8eb12</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ReflectionUtils.HierarchyTraversalMode</span></td><td><code>b267f8ac562d551e</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.StringUtils</span></td><td><code>3441f99393e2406b</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.CompositeFilter</span></td><td><code>d9d6482243cc9fa3</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.CompositeFilter.1</span></td><td><code>75dffc26c0811b9d</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.ExecutionRequest</span></td><td><code>ed3835cc21e5a048</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.Filter</span></td><td><code>f932423ccd3b54bf</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.FilterResult</span></td><td><code>bf731bc7f64ce694</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestDescriptor</span></td><td><code>e9574ca206cded64</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestDescriptor.Type</span></td><td><code>eb97fc5a29f3ee3a</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestExecutionResult</span></td><td><code>abbab174d32db912</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestExecutionResult.Status</span></td><td><code>da0473a55d05e891</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueId</span></td><td><code>d23a178963e86ca7</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueId.Segment</span></td><td><code>54a2765f04c8cab7</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueIdFormat</span></td><td><code>c860ade4b928ce32</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.ClassSelector</span></td><td><code>228aa96d72021db2</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.DiscoverySelectors</span></td><td><code>8fefc6f1651cc3bd</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.AbstractTestDescriptor</span></td><td><code>2bfbf25c43491443</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.ClassSource</span></td><td><code>9727c5551a632c40</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.EngineDescriptor</span></td><td><code>b7dbf6dfb794516c</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.MethodSource</span></td><td><code>0a1b0f0f95f17b77</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.filter.ClasspathScanningSupport</span></td><td><code>8223a02c2b9d8c89</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.ExecutionTracker</span></td><td><code>cbd37bfd76595d62</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine</span></td><td><code>410766a2a07e44b1</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor</span></td><td><code>7b43a475463d740e</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.1</span></td><td><code>197b854565198af0</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.Node</span></td><td><code>8a5379bd364a5bf6</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.Node.SkipResult</span></td><td><code>d4551dfb7a813206</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.SingleTestExecutor</span></td><td><code>d75bd01628eef7be</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.TestIdentifier</span></td><td><code>225bb434f8f223e2</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.TestPlan</span></td><td><code>9a2b71b572924cbc</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultDiscoveryRequest</span></td><td><code>7dda3ad9a0e6a666</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncher</span></td><td><code>1a1f88af87dc6ec1</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ExecutionListenerAdapter</span></td><td><code>52cf3c3c69d4dfba</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters</span></td><td><code>ef55cacb5e47a902</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherDiscoveryRequestBuilder</span></td><td><code>e78a71b91c159e69</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherFactory</span></td><td><code>e2bd67b8a72737b5</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.Root</span></td><td><code>32394ca895f9fb9a</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ServiceLoaderTestEngineRegistry</span></td><td><code>7c054c4cf76cb0f6</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ServiceLoaderTestExecutionListenerRegistry</span></td><td><code>2299bac1075a6bf3</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.TestExecutionListenerRegistry</span></td><td><code>190f4fb2b0ab865d</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.TestExecutionListenerRegistry.CompositeTestExecutionListener</span></td><td><code>7538d2d860e1f9cb</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.LegacyReportingUtils</span></td><td><code>f3c021e100a54063</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.AbstractCharsetProvider</span></td><td><code>9a72c9e39fdac365</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.Big5</span></td><td><code>7f7799a4239d3d01</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.EUC_CN</span></td><td><code>daed57327edf3023</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.EUC_JP</span></td><td><code>f0c718c92ac0cabc</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.EUC_KR</span></td><td><code>3d50c0e84dcd54e6</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.EUC_TW</span></td><td><code>4fbeba8ab3b0661e</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.ExtendedCharsets</span></td><td><code>7715d4380ab405a8</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM037</span></td><td><code>b9b8c9ec2e056149</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM1047</span></td><td><code>e368b4c70681ed2e</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM277</span></td><td><code>7b5b55809ca60de9</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM278</span></td><td><code>326393dad6851723</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM280</span></td><td><code>9d9334ffd18e4e40</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM284</span></td><td><code>01c4a83f23f1b53d</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM285</span></td><td><code>be059d13431c468f</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM297</span></td><td><code>09fd5ed2f7ce33cb</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM420</span></td><td><code>dfa9e617bd0f689b</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM424</span></td><td><code>edd26be1d2ed5a00</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM500</span></td><td><code>58b3c90789d546a5</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM860</span></td><td><code>4bc938afb837212f</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM870</span></td><td><code>ad9dcff6cd8f8661</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM871</span></td><td><code>ef144f207fc359f5</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM918</span></td><td><code>a83d0db73f26c654</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.ISO2022</span></td><td><code>92bf931cea04ba69</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.ISO2022_JP</span></td><td><code>4839eaacbb85c150</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.ISO2022_KR</span></td><td><code>e2e5b9cbb3d44823</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.ISO_8859_11</span></td><td><code>cb3ce4182f6717e0</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.ISO_8859_3</span></td><td><code>550e89cba9076937</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.ISO_8859_6</span></td><td><code>7e467e744bd3ad13</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.ISO_8859_8</span></td><td><code>bb93af1e031c8697</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.MacRoman</span></td><td><code>7007321b9dd9c10d</code></td></tr><tr><td><span class="el_class">sun.text.resources.cldr.ext.FormatData_fr</span></td><td><code>cfe4ef8ff7428512</code></td></tr><tr><td><span class="el_class">sun.util.resources.cldr.provider.CLDRLocaleDataMetaInfo</span></td><td><code>888d0e6a76acb845</code></td></tr><tr><td><span class="el_class">sun.util.resources.provider.LocaleDataProvider</span></td><td><code>36ca29d59ab35e5c</code></td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>Sessions</title></head><body><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="jacoco-sessions.html" class="el_session">Sessions</a></span><a href="index.html" class="el_report">spoteezer</a> &gt; <span class="el_session">Sessions</span></div><h1>Sessions</h1><p>This coverage report is based on execution data from the following sessions:</p><table class="coverage" cellspacing="0"><thead><tr><td>Session</td><td>Start Time</td><td>Dump Time</td></tr></thead><tbody><tr><td><span class="el_session">DESKTOP-M4INQND-91a7872b</span></td><td>27 juin 2021, 13:23:39</td><td>27 juin 2021, 13:23:40</td></tr><tr><td><span class="el_session">DESKTOP-M4INQND-11e0a096</span></td><td>27 juin 2021, 18:57:02</td><td>27 juin 2021, 18:57:02</td></tr><tr><td><span class="el_session">DESKTOP-M4INQND-7357f010</span></td><td>27 juin 2021, 22:23:27</td><td>27 juin 2021, 22:23:27</td></tr><tr><td><span class="el_session">DESKTOP-M4INQND-811f3cc5</span></td><td>28 juin 2021, 23:30:47</td><td>28 juin 2021, 23:30:48</td></tr><tr><td><span class="el_session">DESKTOP-M4INQND-b70e9563</span></td><td>28 juin 2021, 23:31:58</td><td>28 juin 2021, 23:31:59</td></tr><tr><td><span class="el_session">DESKTOP-M4INQND-a94600a7</span></td><td>28 juin 2021, 23:36:26</td><td>28 juin 2021, 23:36:27</td></tr><tr><td><span class="el_session">DESKTOP-M4INQND-cbfb49a8</span></td><td>28 juin 2021, 23:36:31</td><td>28 juin 2021, 23:36:32</td></tr></tbody></table><p>Execution data for the following classes is considered in this report:</p><table class="coverage" cellspacing="0"><thead><tr><td>Class</td><td>Id</td></tr></thead><tbody><tr><td><span class="el_class">java.sql.Date</span></td><td><code>d25610486aed3f31</code></td></tr><tr><td><span class="el_class">java.sql.Timestamp</span></td><td><code>b848522074600355</code></td></tr><tr><td><a href="musichub.business/AudioBook.html" class="el_class">musichub.business.AudioBook</a></td><td><code>aaa13ef213e0885f</code></td></tr><tr><td><a href="musichub.business/AudioElement.html" class="el_class">musichub.business.AudioElement</a></td><td><code>f7fee30268ca924b</code></td></tr><tr><td><span class="el_class">musichub.business.AudioElement</span></td><td><code>776d9bc5621fe50f</code></td></tr><tr><td><a href="musichub.business/Category.html" class="el_class">musichub.business.Category</a></td><td><code>f9388aaddff9a152</code></td></tr><tr><td><span class="el_class">musichub.business.CategoryTest</span></td><td><code>8046f4a9dc44152c</code></td></tr><tr><td><a href="musichub.business/Genre.html" class="el_class">musichub.business.Genre</a></td><td><code>b2fbdfedce493822</code></td></tr><tr><td><a href="musichub.business/Language.html" class="el_class">musichub.business.Language</a></td><td><code>d39e77f1c1a0f641</code></td></tr><tr><td><span class="el_class">musichub.business.LanguageTest</span></td><td><code>f53b266ad5abf5d4</code></td></tr><tr><td><a href="musichub.business/PlayList.html" class="el_class">musichub.business.PlayList</a></td><td><code>5513ec76de07c419</code></td></tr><tr><td><span class="el_class">musichub.business.PlayListTest</span></td><td><code>7e7a002919fb95e1</code></td></tr><tr><td><a href="musichub.business/Song.html" class="el_class">musichub.business.Song</a></td><td><code>44a87f7f8335b156</code></td></tr><tr><td><span class="el_class">musichub.business.SongTest</span></td><td><code>88f03b022c5c7270</code></td></tr><tr><td><a href="musichub.util/LogHandler.html" class="el_class">musichub.util.LogHandler</a></td><td><code>09990b742e8d897c</code></td></tr><tr><td><span class="el_class">musichub.util.LogHandlerTest</span></td><td><code>49f271871a8ef7bf</code></td></tr><tr><td><a href="musichub.util/PathValidation.html" class="el_class">musichub.util.PathValidation</a></td><td><code>170ad3c706c07f6b</code></td></tr><tr><td><span class="el_class">musichub.util.PathValidationTest</span></td><td><code>9eabcd97683d6e01</code></td></tr><tr><td><a href="musichub.util/XMLHandler.html" class="el_class">musichub.util.XMLHandler</a></td><td><code>ab2fa919a374fd87</code></td></tr><tr><td><span class="el_class">musichub.util.XMLHandlerTest</span></td><td><code>4852491d32ffd349</code></td></tr><tr><td><span class="el_class">org.apache.maven.plugin.surefire.log.api.NullConsoleLogger</span></td><td><code>80d79e52a7499259</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.AbstractPathConfiguration</span></td><td><code>8182fa1396653f01</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.BaseProviderFactory</span></td><td><code>82593383b8ea92d6</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.BiProperty</span></td><td><code>4945e268841ae2cb</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.BooterDeserializer</span></td><td><code>5e68b147d2c4b22f</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ClassLoaderConfiguration</span></td><td><code>dc8fd5c18ebb0e44</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.Classpath</span></td><td><code>6f6b6469b9fdf4dd</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ClasspathConfiguration</span></td><td><code>4c7a5282c74ba3e2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.Command</span></td><td><code>eb1b53eb8cbe7b47</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.CommandReader</span></td><td><code>0c8d3ca700ec7199</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.CommandReader.1</span></td><td><code>fbfebde20e2b504c</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.CommandReader.CommandRunnable</span></td><td><code>ee59ae4d74408619</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.DumpErrorSingleton</span></td><td><code>a3fa02cb87e0e12b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter</span></td><td><code>a5c33895f0d22838</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.1</span></td><td><code>c87487d278c3ea96</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.2</span></td><td><code>31c66931520df8eb</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.3</span></td><td><code>95d48141fa4dd03d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.4</span></td><td><code>24dcd1c5bcf0d850</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.5</span></td><td><code>862846325c16cf76</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.6</span></td><td><code>b3ab24d3791d84dd</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.7</span></td><td><code>401437f62a3b16ff</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.PingScheduler</span></td><td><code>04bf02021dfc5e9c</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkingReporterFactory</span></td><td><code>076a6c0176f6238b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkingRunListener</span></td><td><code>92d4b034b32ca2c0</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.MasterProcessCommand</span></td><td><code>da65de332c2de19d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.PpidChecker</span></td><td><code>71b8c658da2ea8d3</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.PpidChecker.2</span></td><td><code>68d262a2c2ad8f14</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.PpidChecker.ProcessInfoConsumer</span></td><td><code>73f319c21fab7e7f</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ProcessInfo</span></td><td><code>b5b56cd86f3f0b31</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.PropertiesWrapper</span></td><td><code>ae4bf137cc5290c1</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ProviderConfiguration</span></td><td><code>d19986536a351b50</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.Shutdown</span></td><td><code>ee9c65017e107986</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.StartupConfiguration</span></td><td><code>a8cc10b01ed27439</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.SystemPropertyManager</span></td><td><code>f47497b1dde50d64</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.TypeEncodedValue</span></td><td><code>5ea9766678ac06a2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.cli.CommandLineOption</span></td><td><code>467fc7f51b73863b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.junitplatform.JUnitPlatformProvider</span></td><td><code>89b934b90ec6eb01</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.junitplatform.RunListenerAdapter</span></td><td><code>02cb8e87a6db2057</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.junitplatform.TestPlanScannerFilter</span></td><td><code>622558f718a42827</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.providerapi.AbstractProvider</span></td><td><code>90f3b08fe8a1c87c</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ConsoleOutputCapture</span></td><td><code>b8ae904ed8536017</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ConsoleOutputCapture.ForwardingPrintStream</span></td><td><code>f912ea5d2dac308e</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ConsoleOutputCapture.NullOutputStream</span></td><td><code>8d05eb67510fd586</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ReporterConfiguration</span></td><td><code>4281487891f02f69</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.SimpleReportEntry</span></td><td><code>ced572f24a462295</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.io.IOUtils</span></td><td><code>31aed2fcfab3e082</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.io.output.StringBuilderWriter</span></td><td><code>6d33fec8cb3374c0</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.lang3.JavaVersion</span></td><td><code>a8452005cb20bb7d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.lang3.StringUtils</span></td><td><code>4f785afa8bb3a23f</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.lang3.SystemUtils</span></td><td><code>aba69a973b7ba06a</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.lang3.math.NumberUtils</span></td><td><code>d0156407bff7b695</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.maven.shared.utils.StringUtils</span></td><td><code>483d14212b21a3ea</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.suite.RunResult</span></td><td><code>f5c7c53a954bcafa</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.DirectoryScannerParameters</span></td><td><code>2b5eeacae469cd1d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.IncludedExcludedPatterns</span></td><td><code>f39908e3b64d7090</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.ResolvedTest</span></td><td><code>a598483e424232d4</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.ResolvedTest.ClassMatcher</span></td><td><code>79be7f2fa77ad8d7</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.ResolvedTest.MethodMatcher</span></td><td><code>7c71374a51e8e61b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.ResolvedTest.Type</span></td><td><code>90e4214668937845</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.RunOrderParameters</span></td><td><code>b4c06223c3099700</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.TestArtifactInfo</span></td><td><code>f703953620e80b33</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.TestListResolver</span></td><td><code>7d372c99b98a147d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.TestRequest</span></td><td><code>0fa2c0cc34345df2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.CloseableIterator</span></td><td><code>cc15bdebae86d5d2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.DefaultRunOrderCalculator</span></td><td><code>1aeecbcd3bf6e89b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.DefaultScanResult</span></td><td><code>7fefafdf8c793c36</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.ReflectionUtils</span></td><td><code>8d5f4b05d6d77207</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.RunOrder</span></td><td><code>d2292a6beb4b6337</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.TestsToRun</span></td><td><code>a95363e4b4ba2069</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.TestsToRun.ClassesIterator</span></td><td><code>84a139c598502c0b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.DaemonThreadFactory</span></td><td><code>21a589f6dedb169c</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.DaemonThreadFactory.NamedThreadFactory</span></td><td><code>682458ca85b067a3</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.DumpFileUtils</span></td><td><code>fff19f49be3d8149</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.ImmutableMap</span></td><td><code>72bcae5e55b4fabb</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.ObjectUtils</span></td><td><code>69a2a92649b44645</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.StringUtils</span></td><td><code>3a7e4daf0a993e1e</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.StringUtils.EncodedArray</span></td><td><code>477f1d94d78cb50b</code></td></tr><tr><td><span class="el_class">org.apiguardian.api.API.Status</span></td><td><code>0341e8d99fc36573</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertEquals</span></td><td><code>12bfbbf2e4327e63</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertFalse</span></td><td><code>32fea5a28fb6a114</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertNotEquals</span></td><td><code>c7953c8abfcb95d0</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertNull</span></td><td><code>85f4114f65559fbd</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertTrue</span></td><td><code>612f68f7274dd69c</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertionUtils</span></td><td><code>da37ffd9f98016fd</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.Assertions</span></td><td><code>041279bcf2826fff</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.TestInstance.Lifecycle</span></td><td><code>0e93858cc703e9fc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ConditionEvaluationResult</span></td><td><code>2f9dc9ea54b57975</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ExtensionContext</span></td><td><code>222e1fc44c4844aa</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.DiscoveryFilterApplier</span></td><td><code>ae96a3ff3c2e2bc4</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.JupiterTestEngine</span></td><td><code>c74f725c8cb223be</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.AbstractExtensionContext</span></td><td><code>1f7ed0b87a9f2cca</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ClassExtensionContext</span></td><td><code>b85422abe06bbadd</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ClassTestDescriptor</span></td><td><code>61a635a4acc3ee31</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterEngineDescriptor</span></td><td><code>d025635c09450d0d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterEngineExtensionContext</span></td><td><code>7ae853fe3a80d83c</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterTestDescriptor</span></td><td><code>606e5ec97816bda5</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.LifecycleMethodUtils</span></td><td><code>19c9fba5accef0fa</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.MethodBasedTestDescriptor</span></td><td><code>65654838f58d8b44</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.MethodExtensionContext</span></td><td><code>c098f6d0bb344d56</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.TestInstanceLifecycleUtils</span></td><td><code>c42bb138e6a06252</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor</span></td><td><code>54eb6a19bd953962</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.AbstractMethodResolver</span></td><td><code>3934f16bf877b9f5</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.DiscoverySelectorResolver</span></td><td><code>a858789f976fefbc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.JavaElementsResolver</span></td><td><code>32e9ea682e77049d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodFinder</span></td><td><code>5ea468d2eb528361</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.NestedTestsResolver</span></td><td><code>9d92451ae793af41</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.TestContainerResolver</span></td><td><code>7db010f5e9c7301d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.TestFactoryMethodResolver</span></td><td><code>59fd27320e375440</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.TestMethodResolver</span></td><td><code>1417c6356fa4b27f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.TestTemplateMethodResolver</span></td><td><code>47563eb55cd35171</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsInnerClass</span></td><td><code>f7d9846d00228720</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsNestedTestClass</span></td><td><code>e47ff7cd33073803</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsPotentialTestContainer</span></td><td><code>0f8df015b2d5841a</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsScannableTestClass</span></td><td><code>839db992754219f6</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestClassWithTests</span></td><td><code>5ab134cc6ef3a81f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestFactoryMethod</span></td><td><code>a2c68978bd6bfbc6</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestMethod</span></td><td><code>8b244977e441886e</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestTemplateMethod</span></td><td><code>0baf1066bf0cbad7</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestableMethod</span></td><td><code>59a0b58a40803fe2</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ConditionEvaluator</span></td><td><code>fba35d945644501d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ExecutableInvoker</span></td><td><code>d64b9ef7a154ea95</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ExtensionValuesStore</span></td><td><code>2517eb7835ca6234</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext</span></td><td><code>65be276e3a954a94</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.Builder</span></td><td><code>dd69537274ccbffc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.State</span></td><td><code>38616672a2502408</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ThrowableCollector</span></td><td><code>92102b13561afdcf</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.DisabledCondition</span></td><td><code>a967493a244329fa</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.ExtensionRegistry</span></td><td><code>20b847fc63fd255b</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.RepeatedTestExtension</span></td><td><code>1b7914cc8cf83732</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TestInfoParameterResolver</span></td><td><code>1b5b370a56807cae</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TestReporterParameterResolver</span></td><td><code>839c7c31b3ec6390</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.logging.LoggerFactory</span></td><td><code>ca4e1a8773fb9bed</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.logging.LoggerFactory.DelegatingLogger</span></td><td><code>fd74fe2bb4edddd0</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.AnnotationUtils</span></td><td><code>32499b01efc144e8</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.AnnotationUtils.AnnotationCacheKey</span></td><td><code>f04082259bc4a6ab</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClassLoaderUtils</span></td><td><code>ebded5f4ecebd9d8</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClassUtils</span></td><td><code>4982a89773933a90</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClasspathScanner</span></td><td><code>8425ab535628f6b9</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.CollectionUtils</span></td><td><code>59532d0e14166bc8</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.Preconditions</span></td><td><code>f9207dc44e9d043d</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ReflectionUtils</span></td><td><code>4d39f1033ae8eb12</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ReflectionUtils.HierarchyTraversalMode</span></td><td><code>b267f8ac562d551e</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.StringUtils</span></td><td><code>3441f99393e2406b</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.CompositeFilter</span></td><td><code>d9d6482243cc9fa3</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.CompositeFilter.1</span></td><td><code>75dffc26c0811b9d</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.ExecutionRequest</span></td><td><code>ed3835cc21e5a048</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.Filter</span></td><td><code>f932423ccd3b54bf</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.FilterResult</span></td><td><code>bf731bc7f64ce694</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestDescriptor</span></td><td><code>e9574ca206cded64</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestDescriptor.Type</span></td><td><code>eb97fc5a29f3ee3a</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestExecutionResult</span></td><td><code>abbab174d32db912</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestExecutionResult.Status</span></td><td><code>da0473a55d05e891</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueId</span></td><td><code>d23a178963e86ca7</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueId.Segment</span></td><td><code>54a2765f04c8cab7</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueIdFormat</span></td><td><code>c860ade4b928ce32</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.ClassSelector</span></td><td><code>228aa96d72021db2</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.DiscoverySelectors</span></td><td><code>8fefc6f1651cc3bd</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.AbstractTestDescriptor</span></td><td><code>2bfbf25c43491443</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.ClassSource</span></td><td><code>9727c5551a632c40</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.EngineDescriptor</span></td><td><code>b7dbf6dfb794516c</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.MethodSource</span></td><td><code>0a1b0f0f95f17b77</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.filter.ClasspathScanningSupport</span></td><td><code>8223a02c2b9d8c89</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.ExecutionTracker</span></td><td><code>cbd37bfd76595d62</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine</span></td><td><code>410766a2a07e44b1</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor</span></td><td><code>7b43a475463d740e</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.1</span></td><td><code>197b854565198af0</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.Node</span></td><td><code>8a5379bd364a5bf6</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.Node.SkipResult</span></td><td><code>d4551dfb7a813206</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.SingleTestExecutor</span></td><td><code>d75bd01628eef7be</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.TestIdentifier</span></td><td><code>225bb434f8f223e2</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.TestPlan</span></td><td><code>9a2b71b572924cbc</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultDiscoveryRequest</span></td><td><code>7dda3ad9a0e6a666</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncher</span></td><td><code>1a1f88af87dc6ec1</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ExecutionListenerAdapter</span></td><td><code>52cf3c3c69d4dfba</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters</span></td><td><code>ef55cacb5e47a902</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherDiscoveryRequestBuilder</span></td><td><code>e78a71b91c159e69</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherFactory</span></td><td><code>e2bd67b8a72737b5</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.Root</span></td><td><code>32394ca895f9fb9a</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ServiceLoaderTestEngineRegistry</span></td><td><code>7c054c4cf76cb0f6</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ServiceLoaderTestExecutionListenerRegistry</span></td><td><code>2299bac1075a6bf3</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.TestExecutionListenerRegistry</span></td><td><code>190f4fb2b0ab865d</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.TestExecutionListenerRegistry.CompositeTestExecutionListener</span></td><td><code>7538d2d860e1f9cb</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.LegacyReportingUtils</span></td><td><code>f3c021e100a54063</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.AbstractCharsetProvider</span></td><td><code>9a72c9e39fdac365</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.Big5</span></td><td><code>7f7799a4239d3d01</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.EUC_CN</span></td><td><code>daed57327edf3023</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.EUC_JP</span></td><td><code>f0c718c92ac0cabc</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.EUC_KR</span></td><td><code>3d50c0e84dcd54e6</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.EUC_TW</span></td><td><code>4fbeba8ab3b0661e</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.ExtendedCharsets</span></td><td><code>7715d4380ab405a8</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM037</span></td><td><code>b9b8c9ec2e056149</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM1047</span></td><td><code>e368b4c70681ed2e</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM277</span></td><td><code>7b5b55809ca60de9</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM278</span></td><td><code>326393dad6851723</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM280</span></td><td><code>9d9334ffd18e4e40</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM284</span></td><td><code>01c4a83f23f1b53d</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM285</span></td><td><code>be059d13431c468f</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM297</span></td><td><code>09fd5ed2f7ce33cb</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM420</span></td><td><code>dfa9e617bd0f689b</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM424</span></td><td><code>edd26be1d2ed5a00</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM500</span></td><td><code>58b3c90789d546a5</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM860</span></td><td><code>4bc938afb837212f</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM870</span></td><td><code>ad9dcff6cd8f8661</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM871</span></td><td><code>ef144f207fc359f5</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.IBM918</span></td><td><code>a83d0db73f26c654</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.ISO2022</span></td><td><code>92bf931cea04ba69</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.ISO2022_JP</span></td><td><code>4839eaacbb85c150</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.ISO2022_KR</span></td><td><code>e2e5b9cbb3d44823</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.ISO_8859_11</span></td><td><code>cb3ce4182f6717e0</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.ISO_8859_3</span></td><td><code>550e89cba9076937</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.ISO_8859_6</span></td><td><code>7e467e744bd3ad13</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.ISO_8859_8</span></td><td><code>bb93af1e031c8697</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.MacRoman</span></td><td><code>7007321b9dd9c10d</code></td></tr><tr><td><span class="el_class">sun.text.resources.cldr.ext.FormatData_fr</span></td><td><code>cfe4ef8ff7428512</code></td></tr><tr><td><span class="el_class">sun.util.resources.cldr.provider.CLDRLocaleDataMetaInfo</span></td><td><code>888d0e6a76acb845</code></td></tr><tr><td><span class="el_class">sun.util.resources.provider.LocaleDataProvider</span></td><td><code>36ca29d59ab35e5c</code></td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/jacoco.csv b/target/site/jacoco/jacoco.csv
          index 555d233..7b39bb6 100644
          --- a/target/site/jacoco/jacoco.csv
          +++ b/target/site/jacoco/jacoco.csv
          @@ -2,13 +2,13 @@ GROUP,PACKAGE,CLASS,INSTRUCTION_MISSED,INSTRUCTION_COVERED,BRANCH_MISSED,BRANCH_
           spoteezer,musichub.util,PathValidation,0,39,0,4,0,10,0,4,0,2
           spoteezer,musichub.util,LogHandler,0,46,0,0,0,11,0,3,0,3
           spoteezer,musichub.util,XMLHandler,6,66,0,0,4,21,0,4,0,4
          -spoteezer,musichub.util,Policy,53,0,5,0,20,0,6,0,3,0
          +spoteezer,musichub.util,Policy,60,0,5,0,24,0,6,0,3,0
           spoteezer,musichub.business,Album,330,0,14,0,84,0,16,0,9,0
           spoteezer,musichub.business,SortByAuthor,9,0,0,0,2,0,2,0,2,0
           spoteezer,musichub.business,NoAlbumFoundException,4,0,0,0,2,0,1,0,1,0
           spoteezer,musichub.business,Language,3,46,0,0,1,5,1,2,1,2
           spoteezer,musichub.business,SortByDate,9,0,0,0,2,0,2,0,2,0
          -spoteezer,musichub.business,MusicHub,874,0,124,0,209,0,85,0,23,0
          +spoteezer,musichub.business,MusicHub,973,0,140,0,228,0,95,0,25,0
           spoteezer,musichub.business,Category,3,46,0,0,1,5,1,2,1,2
           spoteezer,musichub.business,Song,0,105,0,6,0,26,0,12,0,7
           spoteezer,musichub.business,NoPlayListFoundException,4,0,0,0,2,0,1,0,1,0
          @@ -17,5 +17,5 @@ spoteezer,musichub.business,AudioBook,117,47,8,2,27,12,12,5,4,5
           spoteezer,musichub.business,SortByGenre,9,0,0,0,2,0,2,0,2,0
           spoteezer,musichub.business,NoElementFoundException,4,0,0,0,2,0,1,0,1,0
           spoteezer,musichub.business,Genre,0,56,0,0,0,6,0,3,0,3
          -spoteezer,musichub.business,AudioElement,85,181,9,2,30,42,11,5,4,5
          -spoteezer,musichub.main,Main,625,0,42,0,215,0,31,0,3,0
          +spoteezer,musichub.business,AudioElement,91,181,8,2,31,42,10,5,4,5
          +spoteezer,musichub.main,Main,722,0,43,0,251,0,32,0,3,0
          diff --git a/target/site/jacoco/jacoco.xml b/target/site/jacoco/jacoco.xml
          index e10770f..30a884a 100644
          --- a/target/site/jacoco/jacoco.xml
          +++ b/target/site/jacoco/jacoco.xml
          @@ -1 +1 @@
          -<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!DOCTYPE report PUBLIC "-//JACOCO//DTD Report 1.1//EN" "report.dtd"><report name="spoteezer"><sessioninfo id="DESKTOP-M4INQND-91a7872b" start="1624793019797" dump="1624793020432"/><sessioninfo id="DESKTOP-M4INQND-11e0a096" start="1624813022092" dump="1624813022803"/><sessioninfo id="DESKTOP-M4INQND-7357f010" start="1624825407091" dump="1624825407773"/><package name="musichub/util"><class name="musichub/util/PathValidation" sourcefilename="PathValidation.java"><method name="&lt;init&gt;" desc="()V" line="23"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isPathValid" desc="(Ljava/lang/String;)Z" line="35"><counter type="INSTRUCTION" missed="0" covered="32"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="39"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="musichub/util/LogHandler" sourcefilename="LogHandler.java"><method name="&lt;init&gt;" desc="()V" line="25"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="write" desc="(Ljava/lang/String;Ljava/lang/String;)V" line="38"><counter type="INSTRUCTION" missed="0" covered="26"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="read" desc="()V" line="58"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="46"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="musichub/util/XMLHandler" sourcefilename="XMLHandler.java"><method name="&lt;init&gt;" desc="()V" line="26"><counter type="INSTRUCTION" missed="3" covered="20"/><counter type="LINE" missed="2" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createXMLFile" desc="(Lorg/w3c/dom/Document;Ljava/lang/String;)V" line="41"><counter type="INSTRUCTION" missed="3" covered="20"/><counter type="LINE" missed="2" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createXMLDocument" desc="()Lorg/w3c/dom/Document;" line="57"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="parseXMLFile" desc="(Ljava/lang/String;)Lorg/w3c/dom/NodeList;" line="61"><counter type="INSTRUCTION" missed="0" covered="22"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="6" covered="66"/><counter type="LINE" missed="4" covered="21"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="musichub/util/Policy" sourcefilename="Policy.java"><method name="&lt;init&gt;" desc="()V" line="21"><counter type="INSTRUCTION" missed="7" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="showTerm" desc="()V" line="27"><counter type="INSTRUCTION" missed="39" covered="0"/><counter type="BRANCH" missed="5" covered="0"/><counter type="LINE" missed="15" covered="0"/><counter type="COMPLEXITY" missed="4" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="printAgreement" desc="()V" line="128"><counter type="INSTRUCTION" missed="7" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="53" covered="0"/><counter type="BRANCH" missed="5" covered="0"/><counter type="LINE" missed="20" covered="0"/><counter type="COMPLEXITY" missed="6" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><sourcefile name="PathValidation.java"><line nr="23" mi="0" ci="2" mb="0" cb="0"/><line nr="24" mi="0" ci="5" mb="0" cb="0"/><line nr="35" mi="0" ci="2" mb="0" cb="0"/><line nr="37" mi="0" ci="4" mb="0" cb="0"/><line nr="38" mi="0" ci="2" mb="0" cb="2"/><line nr="39" mi="0" ci="6" mb="0" cb="0"/><line nr="40" mi="0" ci="4" mb="0" cb="2"/><line nr="41" mi="0" ci="2" mb="0" cb="0"/><line nr="45" mi="0" ci="5" mb="0" cb="0"/><line nr="46" mi="0" ci="7" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="39"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="LogHandler.java"><line nr="25" mi="0" ci="2" mb="0" cb="0"/><line nr="26" mi="0" ci="5" mb="0" cb="0"/><line nr="38" mi="0" ci="5" mb="0" cb="0"/><line nr="41" mi="0" ci="5" mb="0" cb="0"/><line nr="44" mi="0" ci="5" mb="0" cb="0"/><line nr="47" mi="0" ci="10" mb="0" cb="0"/><line nr="50" mi="0" ci="1" mb="0" cb="0"/><line nr="58" mi="0" ci="5" mb="0" cb="0"/><line nr="61" mi="0" ci="3" mb="0" cb="0"/><line nr="64" mi="0" ci="4" mb="0" cb="0"/><line nr="66" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="46"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="XMLHandler.java"><line nr="26" mi="0" ci="2" mb="0" cb="0"/><line nr="28" mi="0" ci="3" mb="0" cb="0"/><line nr="29" mi="0" ci="5" mb="0" cb="0"/><line nr="30" mi="0" ci="3" mb="0" cb="0"/><line nr="31" mi="0" ci="5" mb="0" cb="0"/><line nr="32" mi="1" ci="0" mb="0" cb="0"/><line nr="33" mi="2" ci="0" mb="0" cb="0"/><line nr="34" mi="0" ci="1" mb="0" cb="0"/><line nr="35" mi="0" ci="1" mb="0" cb="0"/><line nr="41" mi="0" ci="5" mb="0" cb="0"/><line nr="42" mi="0" ci="8" mb="0" cb="0"/><line nr="49" mi="0" ci="5" mb="0" cb="0"/><line nr="51" mi="1" ci="0" mb="0" cb="0"/><line nr="52" mi="2" ci="0" mb="0" cb="0"/><line nr="53" mi="0" ci="1" mb="0" cb="0"/><line nr="54" mi="0" ci="1" mb="0" cb="0"/><line nr="57" mi="0" ci="4" mb="0" cb="0"/><line nr="61" mi="0" ci="2" mb="0" cb="0"/><line nr="63" mi="0" ci="8" mb="0" cb="0"/><line nr="64" mi="0" ci="3" mb="0" cb="0"/><line nr="66" mi="0" ci="3" mb="0" cb="0"/><line nr="67" mi="0" ci="1" mb="0" cb="0"/><line nr="68" mi="0" ci="2" mb="0" cb="0"/><line nr="69" mi="0" ci="1" mb="0" cb="0"/><line nr="70" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="6" covered="66"/><counter type="LINE" missed="4" covered="21"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="Policy.java"><line nr="21" mi="2" ci="0" mb="0" cb="0"/><line nr="22" mi="5" ci="0" mb="0" cb="0"/><line nr="27" mi="2" ci="0" mb="0" cb="0"/><line nr="107" mi="1" ci="0" mb="0" cb="0"/><line nr="108" mi="5" ci="0" mb="0" cb="0"/><line nr="109" mi="4" ci="0" mb="0" cb="0"/><line nr="111" mi="4" ci="0" mb="2" cb="0"/><line nr="112" mi="4" ci="0" mb="3" cb="0"/><line nr="113" mi="3" ci="0" mb="0" cb="0"/><line nr="114" mi="1" ci="0" mb="0" cb="0"/><line nr="115" mi="3" ci="0" mb="0" cb="0"/><line nr="116" mi="1" ci="0" mb="0" cb="0"/><line nr="117" mi="4" ci="0" mb="0" cb="0"/><line nr="119" mi="1" ci="0" mb="0" cb="0"/><line nr="120" mi="1" ci="0" mb="0" cb="0"/><line nr="121" mi="4" ci="0" mb="0" cb="0"/><line nr="125" mi="1" ci="0" mb="0" cb="0"/><line nr="128" mi="3" ci="0" mb="0" cb="0"/><line nr="129" mi="3" ci="0" mb="0" cb="0"/><line nr="130" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="53" covered="0"/><counter type="BRANCH" missed="5" covered="0"/><counter type="LINE" missed="20" covered="0"/><counter type="COMPLEXITY" missed="6" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><counter type="INSTRUCTION" missed="59" covered="151"/><counter type="BRANCH" missed="5" covered="4"/><counter type="LINE" missed="24" covered="42"/><counter type="COMPLEXITY" missed="6" covered="11"/><counter type="METHOD" missed="3" covered="9"/><counter type="CLASS" missed="1" covered="3"/></package><package name="musichub/business"><class name="musichub/business/Album" sourcefilename="Album.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/util/ArrayList;)V" line="21"><counter type="INSTRUCTION" missed="33" covered="0"/><counter type="LINE" missed="12" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V" line="35"><counter type="INSTRUCTION" missed="34" covered="0"/><counter type="LINE" missed="12" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Lorg/w3c/dom/Element;)V" line="49"><counter type="INSTRUCTION" missed="112" covered="0"/><counter type="BRANCH" missed="12" covered="0"/><counter type="LINE" missed="26" covered="0"/><counter type="COMPLEXITY" missed="7" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addSong" desc="(Ljava/util/UUID;)V" line="89"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getSongs" desc="()Ljava/util/List;" line="94"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getSongsRandomly" desc="()Ljava/util/ArrayList;" line="98"><counter type="INSTRUCTION" missed="7" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getTitle" desc="()Ljava/lang/String;" line="104"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getDate" desc="()Ljava/util/Date;" line="108"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createXMLElement" desc="(Lorg/w3c/dom/Document;Lorg/w3c/dom/Element;)V" line="112"><counter type="INSTRUCTION" missed="129" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="26" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="330" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="84" covered="0"/><counter type="COMPLEXITY" missed="16" covered="0"/><counter type="METHOD" missed="9" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/SortByAuthor" sourcefilename="MusicHub.java"><method name="&lt;init&gt;" desc="()V" line="27"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="compare" desc="(Lmusichub/business/AudioElement;Lmusichub/business/AudioElement;)I" line="29"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="9" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/NoAlbumFoundException" sourcefilename="NoAlbumFoundException.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="6"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/Language" sourcefilename="Language.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;ILjava/lang/String;)V" line="7"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getLanguage" desc="()Ljava/lang/String;" line="12"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="3"><counter type="INSTRUCTION" missed="0" covered="38"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="3" covered="46"/><counter type="LINE" missed="1" covered="5"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="1" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="musichub/business/SortByDate" sourcefilename="MusicHub.java"><method name="&lt;init&gt;" desc="()V" line="15"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="compare" desc="(Lmusichub/business/Album;Lmusichub/business/Album;)I" line="17"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="9" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/MusicHub" sourcefilename="MusicHub.java"><method name="&lt;init&gt;" desc="()V" line="41"><counter type="INSTRUCTION" missed="29" covered="0"/><counter type="LINE" missed="9" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addElement" desc="(Lmusichub/business/AudioElement;)V" line="53"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addAlbum" desc="(Lmusichub/business/Album;)V" line="57"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addPlaylist" desc="(Lmusichub/business/PlayList;)V" line="61"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="deletePlayList" desc="(Ljava/lang/String;)V" line="66"><counter type="INSTRUCTION" missed="40" covered="0"/><counter type="BRANCH" missed="8" covered="0"/><counter type="LINE" missed="11" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="albums" desc="()Ljava/util/Iterator;" line="81"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="playlists" desc="()Ljava/util/Iterator;" line="85"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="elements" desc="()Ljava/util/Iterator;" line="89"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAlbumsTitlesSortedByDate" desc="()Ljava/lang/String;" line="93"><counter type="INSTRUCTION" missed="32" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAudiobooksTitlesSortedByAuthor" desc="()Ljava/lang/String;" line="101"><counter type="INSTRUCTION" missed="53" covered="0"/><counter type="BRANCH" missed="6" covered="0"/><counter type="LINE" missed="9" covered="0"/><counter type="COMPLEXITY" missed="4" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAlbumSongs" desc="(Ljava/lang/String;)Ljava/util/List;" line="113"><counter type="INSTRUCTION" missed="73" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="15" covered="0"/><counter type="COMPLEXITY" missed="8" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAlbumSongsSortedByGenre" desc="(Ljava/lang/String;)Ljava/util/List;" line="135"><counter type="INSTRUCTION" missed="79" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="16" covered="0"/><counter type="COMPLEXITY" missed="8" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addElementToAlbum" desc="(Ljava/lang/String;Ljava/lang/String;)V" line="158"><counter type="INSTRUCTION" missed="82" covered="0"/><counter type="BRANCH" missed="12" covered="0"/><counter type="LINE" missed="20" covered="0"/><counter type="COMPLEXITY" missed="7" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addElementToPlayList" desc="(Ljava/lang/String;Ljava/lang/String;)V" line="187"><counter type="INSTRUCTION" missed="82" covered="0"/><counter type="BRANCH" missed="12" covered="0"/><counter type="LINE" missed="20" covered="0"/><counter type="COMPLEXITY" missed="7" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="loadAlbums" desc="()V" line="218"><counter type="INSTRUCTION" missed="44" covered="0"/><counter type="BRANCH" missed="8" covered="0"/><counter type="LINE" missed="11" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="loadPlaylists" desc="()V" line="236"><counter type="INSTRUCTION" missed="44" covered="0"/><counter type="BRANCH" missed="8" covered="0"/><counter type="LINE" missed="11" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="loadElements" desc="()V" line="254"><counter type="INSTRUCTION" missed="64" covered="0"/><counter type="BRANCH" missed="10" covered="0"/><counter type="LINE" missed="18" covered="0"/><counter type="COMPLEXITY" missed="6" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="saveAlbums" desc="()V" line="282"><counter type="INSTRUCTION" missed="36" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="10" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="savePlayLists" desc="()V" line="298"><counter type="INSTRUCTION" missed="36" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="10" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="saveElements" desc="()V" line="314"><counter type="INSTRUCTION" missed="47" covered="0"/><counter type="BRANCH" missed="8" covered="0"/><counter type="LINE" missed="12" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAudioElement" desc="(Ljava/util/List;Ljava/lang/String;)V" line="335"><counter type="INSTRUCTION" missed="19" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="searchAudioElement" desc="()V" line="344"><counter type="INSTRUCTION" missed="71" covered="0"/><counter type="BRANCH" missed="10" covered="0"/><counter type="LINE" missed="14" covered="0"/><counter type="COMPLEXITY" missed="6" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="34"><counter type="INSTRUCTION" missed="13" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="874" covered="0"/><counter type="BRANCH" missed="124" covered="0"/><counter type="LINE" missed="209" covered="0"/><counter type="COMPLEXITY" missed="85" covered="0"/><counter type="METHOD" missed="23" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/Category" sourcefilename="Category.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;ILjava/lang/String;)V" line="7"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getCategory" desc="()Ljava/lang/String;" line="12"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="3"><counter type="INSTRUCTION" missed="0" covered="38"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="3" covered="46"/><counter type="LINE" missed="1" covered="5"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="1" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="musichub/business/Song" sourcefilename="Song.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" line="11"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V" line="16"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lorg/w3c/dom/Element;)V" line="21"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getGenre" desc="()Ljava/lang/String;" line="26"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setGenre" desc="(Ljava/lang/String;)V" line="30"><counter type="INSTRUCTION" missed="0" covered="33"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="1"/></method><method name="toString" desc="()Ljava/lang/String;" line="41"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createXMLElement" desc="(Lorg/w3c/dom/Document;Lorg/w3c/dom/Element;)V" line="46"><counter type="INSTRUCTION" missed="0" covered="29"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="105"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="26"/><counter type="COMPLEXITY" missed="0" covered="12"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></class><class name="musichub/business/NoPlayListFoundException" sourcefilename="NoPlayListFoundException.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="6"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/PlayList" sourcefilename="PlayList.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/util/ArrayList;)V" line="16"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="22"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lorg/w3c/dom/Element;)V" line="28"><counter type="INSTRUCTION" missed="12" covered="76"/><counter type="BRANCH" missed="4" covered="8"/><counter type="LINE" missed="5" covered="18"/><counter type="COMPLEXITY" missed="4" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="addElement" desc="(Ljava/util/UUID;)V" line="66"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getElements" desc="()Ljava/util/ArrayList;" line="70"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getTitle" desc="()Ljava/lang/String;" line="74"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createXMLElement" desc="(Lorg/w3c/dom/Document;Lorg/w3c/dom/Element;)V" line="78"><counter type="INSTRUCTION" missed="20" covered="55"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="4" covered="12"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="32" covered="170"/><counter type="BRANCH" missed="5" covered="9"/><counter type="LINE" missed="9" covered="44"/><counter type="COMPLEXITY" missed="5" covered="9"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></class><class name="musichub/business/AudioBook" sourcefilename="AudioBook.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" line="11"><counter type="INSTRUCTION" missed="14" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" line="17"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lorg/w3c/dom/Element;)V" line="23"><counter type="INSTRUCTION" missed="20" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getLanguage" desc="()Lmusichub/business/Language;" line="29"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setLanguage" desc="(Ljava/lang/String;)V" line="33"><counter type="INSTRUCTION" missed="15" covered="14"/><counter type="BRANCH" missed="4" covered="1"/><counter type="LINE" missed="4" covered="3"/><counter type="COMPLEXITY" missed="4" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getCategory" desc="()Lmusichub/business/Category;" line="43"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setCategory" desc="(Ljava/lang/String;)V" line="47"><counter type="INSTRUCTION" missed="15" covered="14"/><counter type="BRANCH" missed="4" covered="1"/><counter type="LINE" missed="4" covered="3"/><counter type="COMPLEXITY" missed="4" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="toString" desc="()Ljava/lang/String;" line="58"><counter type="INSTRUCTION" missed="8" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createXMLElement" desc="(Lorg/w3c/dom/Document;Lorg/w3c/dom/Element;)V" line="64"><counter type="INSTRUCTION" missed="45" covered="0"/><counter type="LINE" missed="10" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="117" covered="47"/><counter type="BRANCH" missed="8" covered="2"/><counter type="LINE" missed="27" covered="12"/><counter type="COMPLEXITY" missed="12" covered="5"/><counter type="METHOD" missed="4" covered="5"/><counter type="CLASS" missed="0" covered="1"/></class><class name="musichub/business/SortByGenre" sourcefilename="MusicHub.java"><method name="&lt;init&gt;" desc="()V" line="21"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="compare" desc="(Lmusichub/business/Song;Lmusichub/business/Song;)I" line="23"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="9" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/NoElementFoundException" sourcefilename="NoElementFoundException.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="6"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/Genre" sourcefilename="Genre.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;ILjava/lang/String;)V" line="7"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getGenre" desc="()Ljava/lang/String;" line="12"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="3"><counter type="INSTRUCTION" missed="0" covered="45"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="56"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="musichub/business/AudioElement" sourcefilename="AudioElement.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V" line="24"><counter type="INSTRUCTION" missed="0" covered="19"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V" line="32"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lorg/w3c/dom/Element;)V" line="40"><counter type="INSTRUCTION" missed="8" covered="55"/><counter type="BRANCH" missed="2" covered="2"/><counter type="LINE" missed="3" covered="11"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getUUID" desc="()Ljava/util/UUID;" line="59"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getArtist" desc="()Ljava/lang/String;" line="63"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getTitle" desc="()Ljava/lang/String;" line="67"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="toString" desc="()Ljava/lang/String;" line="71"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createXMLElement" desc="(Lorg/w3c/dom/Document;Lorg/w3c/dom/Element;)V" line="75"><counter type="INSTRUCTION" missed="0" covered="79"/><counter type="LINE" missed="0" covered="16"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="manageAudioElement" desc="()V" line="99"><counter type="INSTRUCTION" missed="68" covered="0"/><counter type="BRANCH" missed="7" covered="0"/><counter type="LINE" missed="24" covered="0"/><counter type="COMPLEXITY" missed="6" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="85" covered="181"/><counter type="BRANCH" missed="9" covered="2"/><counter type="LINE" missed="30" covered="42"/><counter type="COMPLEXITY" missed="11" covered="5"/><counter type="METHOD" missed="4" covered="5"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="MusicHub.java"><line nr="15" mi="3" ci="0" mb="0" cb="0"/><line nr="17" mi="6" ci="0" mb="0" cb="0"/><line nr="21" mi="3" ci="0" mb="0" cb="0"/><line nr="23" mi="6" ci="0" mb="0" cb="0"/><line nr="27" mi="3" ci="0" mb="0" cb="0"/><line nr="29" mi="6" ci="0" mb="0" cb="0"/><line nr="34" mi="3" ci="0" mb="0" cb="0"/><line nr="35" mi="3" ci="0" mb="0" cb="0"/><line nr="36" mi="3" ci="0" mb="0" cb="0"/><line nr="37" mi="4" ci="0" mb="0" cb="0"/><line nr="41" mi="5" ci="0" mb="0" cb="0"/><line nr="43" mi="2" ci="0" mb="0" cb="0"/><line nr="44" mi="5" ci="0" mb="0" cb="0"/><line nr="45" mi="5" ci="0" mb="0" cb="0"/><line nr="46" mi="5" ci="0" mb="0" cb="0"/><line nr="47" mi="2" ci="0" mb="0" cb="0"/><line nr="48" mi="2" ci="0" mb="0" cb="0"/><line nr="49" mi="2" ci="0" mb="0" cb="0"/><line nr="50" mi="1" ci="0" mb="0" cb="0"/><line nr="53" mi="5" ci="0" mb="0" cb="0"/><line nr="54" mi="1" ci="0" mb="0" cb="0"/><line nr="57" mi="5" ci="0" mb="0" cb="0"/><line nr="58" mi="1" ci="0" mb="0" cb="0"/><line nr="61" mi="5" ci="0" mb="0" cb="0"/><line nr="62" mi="1" ci="0" mb="0" cb="0"/><line nr="66" mi="2" ci="0" mb="0" cb="0"/><line nr="67" mi="2" ci="0" mb="0" cb="0"/><line nr="68" mi="11" ci="0" mb="2" cb="0"/><line nr="69" mi="5" ci="0" mb="2" cb="0"/><line nr="70" mi="2" ci="0" mb="0" cb="0"/><line nr="71" mi="1" ci="0" mb="0" cb="0"/><line nr="73" mi="1" ci="0" mb="0" cb="0"/><line nr="75" mi="2" ci="0" mb="2" cb="0"/><line nr="76" mi="5" ci="0" mb="0" cb="0"/><line nr="77" mi="8" ci="0" mb="2" cb="0"/><line nr="78" mi="1" ci="0" mb="0" cb="0"/><line nr="81" mi="4" ci="0" mb="0" cb="0"/><line nr="85" mi="4" ci="0" mb="0" cb="0"/><line nr="89" mi="4" ci="0" mb="0" cb="0"/><line nr="93" mi="4" ci="0" mb="0" cb="0"/><line nr="94" mi="6" ci="0" mb="0" cb="0"/><line nr="95" mi="11" ci="0" mb="2" cb="0"/><line nr="96" mi="8" ci="0" mb="0" cb="0"/><line nr="97" mi="3" ci="0" mb="0" cb="0"/><line nr="101" mi="4" ci="0" mb="0" cb="0"/><line nr="102" mi="4" ci="0" mb="0" cb="0"/><line nr="103" mi="11" ci="0" mb="2" cb="0"/><line nr="104" mi="4" ci="0" mb="2" cb="0"/><line nr="105" mi="4" ci="0" mb="0" cb="0"/><line nr="106" mi="5" ci="0" mb="0" cb="0"/><line nr="107" mi="10" ci="0" mb="2" cb="0"/><line nr="108" mi="8" ci="0" mb="0" cb="0"/><line nr="109" mi="3" ci="0" mb="0" cb="0"/><line nr="113" mi="2" ci="0" mb="0" cb="0"/><line nr="114" mi="4" ci="0" mb="0" cb="0"/><line nr="115" mi="11" ci="0" mb="2" cb="0"/><line nr="116" mi="5" ci="0" mb="2" cb="0"/><line nr="117" mi="2" ci="0" mb="0" cb="0"/><line nr="118" mi="1" ci="0" mb="0" cb="0"/><line nr="120" mi="1" ci="0" mb="0" cb="0"/><line nr="121" mi="7" ci="0" mb="2" cb="0"/><line nr="123" mi="3" ci="0" mb="0" cb="0"/><line nr="124" mi="10" ci="0" mb="2" cb="0"/><line nr="125" mi="12" ci="0" mb="2" cb="0"/><line nr="126" mi="3" ci="0" mb="2" cb="0"/><line nr="127" mi="9" ci="0" mb="2" cb="0"/><line nr="129" mi="1" ci="0" mb="0" cb="0"/><line nr="130" mi="2" ci="0" mb="0" cb="0"/><line nr="135" mi="2" ci="0" mb="0" cb="0"/><line nr="136" mi="4" ci="0" mb="0" cb="0"/><line nr="137" mi="11" ci="0" mb="2" cb="0"/><line nr="138" mi="5" ci="0" mb="2" cb="0"/><line nr="139" mi="2" ci="0" mb="0" cb="0"/><line nr="140" mi="1" ci="0" mb="0" cb="0"/><line nr="142" mi="1" ci="0" mb="0" cb="0"/><line nr="143" mi="7" ci="0" mb="2" cb="0"/><line nr="145" mi="3" ci="0" mb="0" cb="0"/><line nr="146" mi="10" ci="0" mb="2" cb="0"/><line nr="147" mi="12" ci="0" mb="2" cb="0"/><line nr="148" mi="3" ci="0" mb="2" cb="0"/><line nr="149" mi="10" ci="0" mb="2" cb="0"/><line nr="151" mi="1" ci="0" mb="0" cb="0"/><line nr="152" mi="5" ci="0" mb="0" cb="0"/><line nr="153" mi="2" ci="0" mb="0" cb="0"/><line nr="158" mi="2" ci="0" mb="0" cb="0"/><line nr="160" mi="2" ci="0" mb="0" cb="0"/><line nr="161" mi="9" ci="0" mb="2" cb="0"/><line nr="162" mi="9" ci="0" mb="2" cb="0"/><line nr="163" mi="6" ci="0" mb="0" cb="0"/><line nr="164" mi="2" ci="0" mb="0" cb="0"/><line nr="165" mi="1" ci="0" mb="0" cb="0"/><line nr="169" mi="2" ci="0" mb="2" cb="0"/><line nr="170" mi="2" ci="0" mb="0" cb="0"/><line nr="171" mi="11" ci="0" mb="2" cb="0"/><line nr="172" mi="5" ci="0" mb="2" cb="0"/><line nr="173" mi="2" ci="0" mb="0" cb="0"/><line nr="174" mi="1" ci="0" mb="0" cb="0"/><line nr="176" mi="1" ci="0" mb="0" cb="0"/><line nr="177" mi="2" ci="0" mb="2" cb="0"/><line nr="178" mi="4" ci="0" mb="0" cb="0"/><line nr="180" mi="7" ci="0" mb="0" cb="0"/><line nr="181" mi="6" ci="0" mb="0" cb="0"/><line nr="182" mi="7" ci="0" mb="0" cb="0"/><line nr="184" mi="1" ci="0" mb="0" cb="0"/><line nr="187" mi="2" ci="0" mb="0" cb="0"/><line nr="189" mi="2" ci="0" mb="0" cb="0"/><line nr="191" mi="9" ci="0" mb="2" cb="0"/><line nr="192" mi="9" ci="0" mb="2" cb="0"/><line nr="193" mi="6" ci="0" mb="0" cb="0"/><line nr="194" mi="2" ci="0" mb="0" cb="0"/><line nr="195" mi="1" ci="0" mb="0" cb="0"/><line nr="199" mi="2" ci="0" mb="2" cb="0"/><line nr="200" mi="2" ci="0" mb="0" cb="0"/><line nr="201" mi="11" ci="0" mb="2" cb="0"/><line nr="202" mi="5" ci="0" mb="2" cb="0"/><line nr="203" mi="2" ci="0" mb="0" cb="0"/><line nr="204" mi="1" ci="0" mb="0" cb="0"/><line nr="206" mi="1" ci="0" mb="0" cb="0"/><line nr="207" mi="2" ci="0" mb="2" cb="0"/><line nr="208" mi="4" ci="0" mb="0" cb="0"/><line nr="210" mi="7" ci="0" mb="0" cb="0"/><line nr="211" mi="6" ci="0" mb="0" cb="0"/><line nr="213" mi="7" ci="0" mb="0" cb="0"/><line nr="215" mi="1" ci="0" mb="0" cb="0"/><line nr="218" mi="5" ci="0" mb="0" cb="0"/><line nr="219" mi="3" ci="0" mb="2" cb="0"/><line nr="221" mi="8" ci="0" mb="2" cb="0"/><line nr="222" mi="6" ci="0" mb="2" cb="0"/><line nr="223" mi="5" ci="0" mb="0" cb="0"/><line nr="224" mi="5" ci="0" mb="2" cb="0"/><line nr="226" mi="6" ci="0" mb="0" cb="0"/><line nr="227" mi="1" ci="0" mb="0" cb="0"/><line nr="228" mi="3" ci="0" mb="0" cb="0"/><line nr="229" mi="1" ci="0" mb="0" cb="0"/><line nr="233" mi="1" ci="0" mb="0" cb="0"/><line nr="236" mi="5" ci="0" mb="0" cb="0"/><line nr="237" mi="3" ci="0" mb="2" cb="0"/><line nr="239" mi="8" ci="0" mb="2" cb="0"/><line nr="240" mi="6" ci="0" mb="2" cb="0"/><line nr="241" mi="5" ci="0" mb="0" cb="0"/><line nr="242" mi="5" ci="0" mb="2" cb="0"/><line nr="244" mi="6" ci="0" mb="0" cb="0"/><line nr="245" mi="1" ci="0" mb="0" cb="0"/><line nr="246" mi="3" ci="0" mb="0" cb="0"/><line nr="247" mi="1" ci="0" mb="0" cb="0"/><line nr="251" mi="1" ci="0" mb="0" cb="0"/><line nr="254" mi="5" ci="0" mb="0" cb="0"/><line nr="255" mi="3" ci="0" mb="2" cb="0"/><line nr="257" mi="8" ci="0" mb="2" cb="0"/><line nr="258" mi="6" ci="0" mb="2" cb="0"/><line nr="259" mi="5" ci="0" mb="0" cb="0"/><line nr="260" mi="5" ci="0" mb="2" cb="0"/><line nr="262" mi="5" ci="0" mb="0" cb="0"/><line nr="263" mi="3" ci="0" mb="0" cb="0"/><line nr="264" mi="1" ci="0" mb="0" cb="0"/><line nr="265" mi="3" ci="0" mb="0" cb="0"/><line nr="266" mi="1" ci="0" mb="0" cb="0"/><line nr="268" mi="5" ci="0" mb="2" cb="0"/><line nr="270" mi="5" ci="0" mb="0" cb="0"/><line nr="271" mi="3" ci="0" mb="0" cb="0"/><line nr="272" mi="1" ci="0" mb="0" cb="0"/><line nr="273" mi="3" ci="0" mb="0" cb="0"/><line nr="274" mi="1" ci="0" mb="0" cb="0"/><line nr="278" mi="1" ci="0" mb="0" cb="0"/><line nr="282" mi="4" ci="0" mb="0" cb="0"/><line nr="283" mi="3" ci="0" mb="2" cb="0"/><line nr="286" mi="4" ci="0" mb="0" cb="0"/><line nr="287" mi="4" ci="0" mb="0" cb="0"/><line nr="290" mi="6" ci="0" mb="2" cb="0"/><line nr="291" mi="4" ci="0" mb="0" cb="0"/><line nr="292" mi="4" ci="0" mb="0" cb="0"/><line nr="293" mi="1" ci="0" mb="0" cb="0"/><line nr="294" mi="5" ci="0" mb="0" cb="0"/><line nr="295" mi="1" ci="0" mb="0" cb="0"/><line nr="298" mi="4" ci="0" mb="0" cb="0"/><line nr="299" mi="3" ci="0" mb="2" cb="0"/><line nr="302" mi="4" ci="0" mb="0" cb="0"/><line nr="303" mi="4" ci="0" mb="0" cb="0"/><line nr="306" mi="6" ci="0" mb="2" cb="0"/><line nr="307" mi="4" ci="0" mb="0" cb="0"/><line nr="308" mi="4" ci="0" mb="0" cb="0"/><line nr="309" mi="1" ci="0" mb="0" cb="0"/><line nr="310" mi="5" ci="0" mb="0" cb="0"/><line nr="311" mi="1" ci="0" mb="0" cb="0"/><line nr="314" mi="4" ci="0" mb="0" cb="0"/><line nr="315" mi="3" ci="0" mb="2" cb="0"/><line nr="318" mi="4" ci="0" mb="0" cb="0"/><line nr="319" mi="4" ci="0" mb="0" cb="0"/><line nr="322" mi="11" ci="0" mb="2" cb="0"/><line nr="324" mi="3" ci="0" mb="2" cb="0"/><line nr="325" mi="4" ci="0" mb="0" cb="0"/><line nr="327" mi="3" ci="0" mb="2" cb="0"/><line nr="328" mi="4" ci="0" mb="0" cb="0"/><line nr="330" mi="1" ci="0" mb="0" cb="0"/><line nr="331" mi="5" ci="0" mb="0" cb="0"/><line nr="332" mi="1" ci="0" mb="0" cb="0"/><line nr="335" mi="10" ci="0" mb="2" cb="0"/><line nr="336" mi="5" ci="0" mb="2" cb="0"/><line nr="337" mi="2" ci="0" mb="0" cb="0"/><line nr="339" mi="1" ci="0" mb="0" cb="0"/><line nr="341" mi="1" ci="0" mb="0" cb="0"/><line nr="344" mi="5" ci="0" mb="0" cb="0"/><line nr="345" mi="3" ci="0" mb="0" cb="0"/><line nr="346" mi="5" ci="0" mb="0" cb="0"/><line nr="347" mi="4" ci="0" mb="0" cb="0"/><line nr="348" mi="11" ci="0" mb="2" cb="0"/><line nr="349" mi="14" ci="0" mb="4" cb="0"/><line nr="350" mi="4" ci="0" mb="0" cb="0"/><line nr="351" mi="3" ci="0" mb="0" cb="0"/><line nr="353" mi="1" ci="0" mb="0" cb="0"/><line nr="355" mi="3" ci="0" mb="2" cb="0"/><line nr="356" mi="5" ci="0" mb="0" cb="0"/><line nr="358" mi="4" ci="0" mb="2" cb="0"/><line nr="359" mi="8" ci="0" mb="0" cb="0"/><line nr="361" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="901" covered="0"/><counter type="BRANCH" missed="124" covered="0"/><counter type="LINE" missed="215" covered="0"/><counter type="COMPLEXITY" missed="91" covered="0"/><counter type="METHOD" missed="29" covered="0"/><counter type="CLASS" missed="4" covered="0"/></sourcefile><sourcefile name="PlayList.java"><line nr="16" mi="0" ci="2" mb="0" cb="0"/><line nr="17" mi="0" ci="3" mb="0" cb="0"/><line nr="18" mi="0" ci="4" mb="0" cb="0"/><line nr="19" mi="0" ci="3" mb="0" cb="0"/><line nr="20" mi="0" ci="1" mb="0" cb="0"/><line nr="22" mi="0" ci="2" mb="0" cb="0"/><line nr="23" mi="0" ci="3" mb="0" cb="0"/><line nr="24" mi="0" ci="3" mb="0" cb="0"/><line nr="25" mi="0" ci="5" mb="0" cb="0"/><line nr="26" mi="0" ci="1" mb="0" cb="0"/><line nr="28" mi="0" ci="2" mb="0" cb="0"/><line nr="30" mi="0" ci="8" mb="0" cb="0"/><line nr="32" mi="0" ci="2" mb="0" cb="0"/><line nr="34" mi="0" ci="7" mb="0" cb="0"/><line nr="35" mi="1" ci="0" mb="0" cb="0"/><line nr="36" mi="3" ci="0" mb="0" cb="0"/><line nr="37" mi="0" ci="1" mb="0" cb="0"/><line nr="38" mi="0" ci="5" mb="2" cb="2"/><line nr="39" mi="4" ci="0" mb="0" cb="0"/><line nr="40" mi="0" ci="4" mb="0" cb="0"/><line nr="43" mi="0" ci="6" mb="0" cb="0"/><line nr="44" mi="0" ci="3" mb="0" cb="0"/><line nr="45" mi="1" ci="2" mb="1" cb="1"/><line nr="47" mi="0" ci="5" mb="0" cb="0"/><line nr="50" mi="0" ci="8" mb="0" cb="2"/><line nr="51" mi="0" ci="6" mb="0" cb="2"/><line nr="52" mi="0" ci="5" mb="0" cb="0"/><line nr="53" mi="0" ci="5" mb="1" cb="1"/><line nr="55" mi="0" ci="5" mb="0" cb="0"/><line nr="56" mi="1" ci="0" mb="0" cb="0"/><line nr="57" mi="2" ci="0" mb="0" cb="0"/><line nr="58" mi="0" ci="1" mb="0" cb="0"/><line nr="63" mi="0" ci="1" mb="0" cb="0"/><line nr="66" mi="0" ci="5" mb="0" cb="0"/><line nr="67" mi="0" ci="1" mb="0" cb="0"/><line nr="70" mi="0" ci="3" mb="0" cb="0"/><line nr="74" mi="0" ci="3" mb="0" cb="0"/><line nr="78" mi="0" ci="4" mb="0" cb="0"/><line nr="79" mi="0" ci="4" mb="0" cb="0"/><line nr="81" mi="0" ci="4" mb="0" cb="0"/><line nr="82" mi="0" ci="7" mb="0" cb="0"/><line nr="83" mi="0" ci="4" mb="0" cb="0"/><line nr="85" mi="0" ci="4" mb="0" cb="0"/><line nr="86" mi="0" ci="8" mb="0" cb="0"/><line nr="87" mi="0" ci="4" mb="0" cb="0"/><line nr="90" mi="0" ci="4" mb="0" cb="0"/><line nr="91" mi="4" ci="7" mb="1" cb="1"/><line nr="93" mi="4" ci="0" mb="0" cb="0"/><line nr="94" mi="7" ci="0" mb="0" cb="0"/><line nr="95" mi="4" ci="0" mb="0" cb="0"/><line nr="96" mi="1" ci="0" mb="0" cb="0"/><line nr="97" mi="0" ci="4" mb="0" cb="0"/><line nr="98" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="32" covered="170"/><counter type="BRANCH" missed="5" covered="9"/><counter type="LINE" missed="9" covered="44"/><counter type="COMPLEXITY" missed="5" covered="9"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="NoAlbumFoundException.java"><line nr="6" mi="3" ci="0" mb="0" cb="0"/><line nr="7" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="Album.java"><line nr="21" mi="2" ci="0" mb="0" cb="0"/><line nr="22" mi="3" ci="0" mb="0" cb="0"/><line nr="23" mi="3" ci="0" mb="0" cb="0"/><line nr="24" mi="3" ci="0" mb="0" cb="0"/><line nr="25" mi="4" ci="0" mb="0" cb="0"/><line nr="27" mi="5" ci="0" mb="0" cb="0"/><line nr="28" mi="5" ci="0" mb="0" cb="0"/><line nr="29" mi="1" ci="0" mb="0" cb="0"/><line nr="30" mi="2" ci="0" mb="0" cb="0"/><line nr="31" mi="1" ci="0" mb="0" cb="0"/><line nr="32" mi="3" ci="0" mb="0" cb="0"/><line nr="33" mi="1" ci="0" mb="0" cb="0"/><line nr="35" mi="2" ci="0" mb="0" cb="0"/><line nr="36" mi="3" ci="0" mb="0" cb="0"/><line nr="37" mi="3" ci="0" mb="0" cb="0"/><line nr="38" mi="3" ci="0" mb="0" cb="0"/><line nr="39" mi="3" ci="0" mb="0" cb="0"/><line nr="41" mi="5" ci="0" mb="0" cb="0"/><line nr="42" mi="5" ci="0" mb="0" cb="0"/><line nr="43" mi="1" ci="0" mb="0" cb="0"/><line nr="44" mi="2" ci="0" mb="0" cb="0"/><line nr="45" mi="1" ci="0" mb="0" cb="0"/><line nr="46" mi="5" ci="0" mb="0" cb="0"/><line nr="47" mi="1" ci="0" mb="0" cb="0"/><line nr="49" mi="2" ci="0" mb="0" cb="0"/><line nr="51" mi="8" ci="0" mb="0" cb="0"/><line nr="52" mi="9" ci="0" mb="0" cb="0"/><line nr="53" mi="2" ci="0" mb="0" cb="0"/><line nr="55" mi="7" ci="0" mb="0" cb="0"/><line nr="56" mi="1" ci="0" mb="0" cb="0"/><line nr="57" mi="3" ci="0" mb="0" cb="0"/><line nr="58" mi="1" ci="0" mb="0" cb="0"/><line nr="59" mi="5" ci="0" mb="4" cb="0"/><line nr="60" mi="4" ci="0" mb="0" cb="0"/><line nr="61" mi="4" ci="0" mb="0" cb="0"/><line nr="63" mi="5" ci="0" mb="0" cb="0"/><line nr="64" mi="10" ci="0" mb="0" cb="0"/><line nr="66" mi="6" ci="0" mb="0" cb="0"/><line nr="67" mi="3" ci="0" mb="0" cb="0"/><line nr="68" mi="3" ci="0" mb="2" cb="0"/><line nr="70" mi="5" ci="0" mb="0" cb="0"/><line nr="72" mi="8" ci="0" mb="2" cb="0"/><line nr="73" mi="6" ci="0" mb="2" cb="0"/><line nr="74" mi="5" ci="0" mb="0" cb="0"/><line nr="75" mi="5" ci="0" mb="2" cb="0"/><line nr="77" mi="5" ci="0" mb="0" cb="0"/><line nr="78" mi="1" ci="0" mb="0" cb="0"/><line nr="79" mi="2" ci="0" mb="0" cb="0"/><line nr="80" mi="1" ci="0" mb="0" cb="0"/><line nr="85" mi="1" ci="0" mb="0" cb="0"/><line nr="89" mi="5" ci="0" mb="0" cb="0"/><line nr="90" mi="1" ci="0" mb="0" cb="0"/><line nr="94" mi="3" ci="0" mb="0" cb="0"/><line nr="98" mi="3" ci="0" mb="0" cb="0"/><line nr="99" mi="2" ci="0" mb="0" cb="0"/><line nr="100" mi="2" ci="0" mb="0" cb="0"/><line nr="104" mi="3" ci="0" mb="0" cb="0"/><line nr="108" mi="3" ci="0" mb="0" cb="0"/><line nr="112" mi="4" ci="0" mb="0" cb="0"/><line nr="113" mi="4" ci="0" mb="0" cb="0"/><line nr="115" mi="4" ci="0" mb="0" cb="0"/><line nr="116" mi="7" ci="0" mb="0" cb="0"/><line nr="117" mi="4" ci="0" mb="0" cb="0"/><line nr="119" mi="4" ci="0" mb="0" cb="0"/><line nr="120" mi="7" ci="0" mb="0" cb="0"/><line nr="121" mi="4" ci="0" mb="0" cb="0"/><line nr="123" mi="4" ci="0" mb="0" cb="0"/><line nr="124" mi="9" ci="0" mb="0" cb="0"/><line nr="125" mi="4" ci="0" mb="0" cb="0"/><line nr="127" mi="4" ci="0" mb="0" cb="0"/><line nr="128" mi="8" ci="0" mb="0" cb="0"/><line nr="129" mi="4" ci="0" mb="0" cb="0"/><line nr="131" mi="4" ci="0" mb="0" cb="0"/><line nr="132" mi="5" ci="0" mb="0" cb="0"/><line nr="133" mi="9" ci="0" mb="0" cb="0"/><line nr="134" mi="4" ci="0" mb="0" cb="0"/><line nr="136" mi="4" ci="0" mb="0" cb="0"/><line nr="137" mi="11" ci="0" mb="2" cb="0"/><line nr="138" mi="4" ci="0" mb="0" cb="0"/><line nr="139" mi="7" ci="0" mb="0" cb="0"/><line nr="140" mi="4" ci="0" mb="0" cb="0"/><line nr="141" mi="1" ci="0" mb="0" cb="0"/><line nr="142" mi="4" ci="0" mb="0" cb="0"/><line nr="144" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="330" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="84" covered="0"/><counter type="COMPLEXITY" missed="16" covered="0"/><counter type="METHOD" missed="9" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="Language.java"><line nr="3" mi="0" ci="3" mb="0" cb="0"/><line nr="4" mi="0" ci="35" mb="0" cb="0"/><line nr="7" mi="0" ci="4" mb="0" cb="0"/><line nr="8" mi="0" ci="3" mb="0" cb="0"/><line nr="9" mi="0" ci="1" mb="0" cb="0"/><line nr="12" mi="3" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="3" covered="46"/><counter type="LINE" missed="1" covered="5"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="1" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="Genre.java"><line nr="3" mi="0" ci="3" mb="0" cb="0"/><line nr="4" mi="0" ci="42" mb="0" cb="0"/><line nr="7" mi="0" ci="4" mb="0" cb="0"/><line nr="8" mi="0" ci="3" mb="0" cb="0"/><line nr="9" mi="0" ci="1" mb="0" cb="0"/><line nr="12" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="56"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="NoPlayListFoundException.java"><line nr="6" mi="3" ci="0" mb="0" cb="0"/><line nr="7" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="AudioElement.java"><line nr="24" mi="0" ci="2" mb="0" cb="0"/><line nr="25" mi="0" ci="3" mb="0" cb="0"/><line nr="26" mi="0" ci="3" mb="0" cb="0"/><line nr="27" mi="0" ci="3" mb="0" cb="0"/><line nr="28" mi="0" ci="4" mb="0" cb="0"/><line nr="29" mi="0" ci="3" mb="0" cb="0"/><line nr="30" mi="0" ci="1" mb="0" cb="0"/><line nr="32" mi="0" ci="2" mb="0" cb="0"/><line nr="33" mi="0" ci="3" mb="0" cb="0"/><line nr="34" mi="0" ci="3" mb="0" cb="0"/><line nr="35" mi="0" ci="3" mb="0" cb="0"/><line nr="36" mi="0" ci="3" mb="0" cb="0"/><line nr="37" mi="0" ci="3" mb="0" cb="0"/><line nr="38" mi="0" ci="1" mb="0" cb="0"/><line nr="40" mi="0" ci="2" mb="0" cb="0"/><line nr="42" mi="0" ci="8" mb="0" cb="0"/><line nr="43" mi="0" ci="8" mb="0" cb="0"/><line nr="44" mi="0" ci="9" mb="0" cb="0"/><line nr="45" mi="0" ci="8" mb="0" cb="0"/><line nr="46" mi="0" ci="2" mb="0" cb="0"/><line nr="48" mi="0" ci="7" mb="0" cb="0"/><line nr="49" mi="1" ci="0" mb="0" cb="0"/><line nr="50" mi="3" ci="0" mb="0" cb="0"/><line nr="51" mi="0" ci="1" mb="0" cb="0"/><line nr="52" mi="0" ci="5" mb="2" cb="2"/><line nr="53" mi="4" ci="0" mb="0" cb="0"/><line nr="54" mi="0" ci="4" mb="0" cb="0"/><line nr="56" mi="0" ci="1" mb="0" cb="0"/><line nr="59" mi="3" ci="0" mb="0" cb="0"/><line nr="63" mi="3" ci="0" mb="0" cb="0"/><line nr="67" mi="3" ci="0" mb="0" cb="0"/><line nr="71" mi="0" ci="10" mb="0" cb="0"/><line nr="75" mi="0" ci="4" mb="0" cb="0"/><line nr="76" mi="0" ci="7" mb="0" cb="0"/><line nr="77" mi="0" ci="4" mb="0" cb="0"/><line nr="79" mi="0" ci="4" mb="0" cb="0"/><line nr="80" mi="0" ci="7" mb="0" cb="0"/><line nr="81" mi="0" ci="4" mb="0" cb="0"/><line nr="83" mi="0" ci="4" mb="0" cb="0"/><line nr="84" mi="0" ci="9" mb="0" cb="0"/><line nr="85" mi="0" ci="4" mb="0" cb="0"/><line nr="87" mi="0" ci="4" mb="0" cb="0"/><line nr="88" mi="0" ci="8" mb="0" cb="0"/><line nr="89" mi="0" ci="4" mb="0" cb="0"/><line nr="91" mi="0" ci="4" mb="0" cb="0"/><line nr="92" mi="0" ci="7" mb="0" cb="0"/><line nr="93" mi="0" ci="4" mb="0" cb="0"/><line nr="95" mi="0" ci="1" mb="0" cb="0"/><line nr="99" mi="5" ci="0" mb="0" cb="0"/><line nr="101" mi="6" ci="0" mb="0" cb="0"/><line nr="102" mi="3" ci="0" mb="0" cb="0"/><line nr="103" mi="2" ci="0" mb="0" cb="0"/><line nr="104" mi="3" ci="0" mb="0" cb="0"/><line nr="106" mi="2" ci="0" mb="0" cb="0"/><line nr="108" mi="4" ci="0" mb="2" cb="0"/><line nr="109" mi="3" ci="0" mb="0" cb="0"/><line nr="110" mi="3" ci="0" mb="0" cb="0"/><line nr="111" mi="3" ci="0" mb="0" cb="0"/><line nr="112" mi="3" ci="0" mb="0" cb="0"/><line nr="114" mi="8" ci="0" mb="5" cb="0"/><line nr="115" mi="2" ci="0" mb="0" cb="0"/><line nr="116" mi="1" ci="0" mb="0" cb="0"/><line nr="117" mi="2" ci="0" mb="0" cb="0"/><line nr="118" mi="1" ci="0" mb="0" cb="0"/><line nr="119" mi="3" ci="0" mb="0" cb="0"/><line nr="120" mi="1" ci="0" mb="0" cb="0"/><line nr="121" mi="2" ci="0" mb="0" cb="0"/><line nr="122" mi="1" ci="0" mb="0" cb="0"/><line nr="123" mi="3" ci="0" mb="0" cb="0"/><line nr="125" mi="4" ci="0" mb="0" cb="0"/><line nr="128" mi="2" ci="0" mb="0" cb="0"/><line nr="130" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="85" covered="181"/><counter type="BRANCH" missed="9" covered="2"/><counter type="LINE" missed="30" covered="42"/><counter type="COMPLEXITY" missed="11" covered="5"/><counter type="METHOD" missed="4" covered="5"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="NoElementFoundException.java"><line nr="6" mi="3" ci="0" mb="0" cb="0"/><line nr="7" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="Category.java"><line nr="3" mi="0" ci="3" mb="0" cb="0"/><line nr="4" mi="0" ci="35" mb="0" cb="0"/><line nr="7" mi="0" ci="4" mb="0" cb="0"/><line nr="8" mi="0" ci="3" mb="0" cb="0"/><line nr="9" mi="0" ci="1" mb="0" cb="0"/><line nr="12" mi="3" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="3" covered="46"/><counter type="LINE" missed="1" covered="5"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="1" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="AudioBook.java"><line nr="11" mi="7" ci="0" mb="0" cb="0"/><line nr="12" mi="3" ci="0" mb="0" cb="0"/><line nr="13" mi="3" ci="0" mb="0" cb="0"/><line nr="14" mi="1" ci="0" mb="0" cb="0"/><line nr="17" mi="0" ci="6" mb="0" cb="0"/><line nr="18" mi="0" ci="3" mb="0" cb="0"/><line nr="19" mi="0" ci="3" mb="0" cb="0"/><line nr="20" mi="0" ci="1" mb="0" cb="0"/><line nr="23" mi="3" ci="0" mb="0" cb="0"/><line nr="24" mi="8" ci="0" mb="0" cb="0"/><line nr="25" mi="8" ci="0" mb="0" cb="0"/><line nr="26" mi="1" ci="0" mb="0" cb="0"/><line nr="29" mi="0" ci="3" mb="0" cb="0"/><line nr="33" mi="0" ci="9" mb="4" cb="1"/><line nr="34" mi="4" ci="0" mb="0" cb="0"/><line nr="35" mi="0" ci="4" mb="0" cb="0"/><line nr="36" mi="4" ci="0" mb="0" cb="0"/><line nr="37" mi="4" ci="0" mb="0" cb="0"/><line nr="38" mi="3" ci="0" mb="0" cb="0"/><line nr="40" mi="0" ci="1" mb="0" cb="0"/><line nr="43" mi="0" ci="3" mb="0" cb="0"/><line nr="47" mi="0" ci="9" mb="4" cb="1"/><line nr="48" mi="4" ci="0" mb="0" cb="0"/><line nr="49" mi="0" ci="4" mb="0" cb="0"/><line nr="50" mi="4" ci="0" mb="0" cb="0"/><line nr="51" mi="4" ci="0" mb="0" cb="0"/><line nr="52" mi="3" ci="0" mb="0" cb="0"/><line nr="54" mi="0" ci="1" mb="0" cb="0"/><line nr="58" mi="8" ci="0" mb="0" cb="0"/><line nr="64" mi="4" ci="0" mb="0" cb="0"/><line nr="66" mi="4" ci="0" mb="0" cb="0"/><line nr="68" mi="4" ci="0" mb="0" cb="0"/><line nr="69" mi="8" ci="0" mb="0" cb="0"/><line nr="70" mi="4" ci="0" mb="0" cb="0"/><line nr="72" mi="4" ci="0" mb="0" cb="0"/><line nr="73" mi="8" ci="0" mb="0" cb="0"/><line nr="74" mi="4" ci="0" mb="0" cb="0"/><line nr="76" mi="4" ci="0" mb="0" cb="0"/><line nr="77" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="117" covered="47"/><counter type="BRANCH" missed="8" covered="2"/><counter type="LINE" missed="27" covered="12"/><counter type="COMPLEXITY" missed="12" covered="5"/><counter type="METHOD" missed="4" covered="5"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="Song.java"><line nr="11" mi="0" ci="7" mb="0" cb="0"/><line nr="12" mi="0" ci="3" mb="0" cb="0"/><line nr="13" mi="0" ci="1" mb="0" cb="0"/><line nr="16" mi="0" ci="6" mb="0" cb="0"/><line nr="17" mi="0" ci="3" mb="0" cb="0"/><line nr="18" mi="0" ci="1" mb="0" cb="0"/><line nr="21" mi="0" ci="3" mb="0" cb="0"/><line nr="22" mi="0" ci="8" mb="0" cb="0"/><line nr="23" mi="0" ci="1" mb="0" cb="0"/><line nr="26" mi="0" ci="4" mb="0" cb="0"/><line nr="30" mi="0" ci="9" mb="0" cb="6"/><line nr="31" mi="0" ci="4" mb="0" cb="0"/><line nr="32" mi="0" ci="4" mb="0" cb="0"/><line nr="33" mi="0" ci="4" mb="0" cb="0"/><line nr="34" mi="0" ci="4" mb="0" cb="0"/><line nr="35" mi="0" ci="4" mb="0" cb="0"/><line nr="36" mi="0" ci="3" mb="0" cb="0"/><line nr="38" mi="0" ci="1" mb="0" cb="0"/><line nr="41" mi="0" ci="6" mb="0" cb="0"/><line nr="46" mi="0" ci="4" mb="0" cb="0"/><line nr="48" mi="0" ci="4" mb="0" cb="0"/><line nr="50" mi="0" ci="4" mb="0" cb="0"/><line nr="51" mi="0" ci="8" mb="0" cb="0"/><line nr="52" mi="0" ci="4" mb="0" cb="0"/><line nr="54" mi="0" ci="4" mb="0" cb="0"/><line nr="55" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="105"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="26"/><counter type="COMPLEXITY" missed="0" covered="12"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="1483" covered="651"/><counter type="BRANCH" missed="160" covered="19"/><counter type="LINE" missed="373" covered="140"/><counter type="COMPLEXITY" missed="140" covered="38"/><counter type="METHOD" missed="51" covered="31"/><counter type="CLASS" missed="8" covered="7"/></package><package name="musichub/main"><class name="musichub/main/Main" sourcefilename="Main.java"><method name="&lt;init&gt;" desc="()V" line="16"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="main" desc="([Ljava/lang/String;)V" line="19"><counter type="INSTRUCTION" missed="579" covered="0"/><counter type="BRANCH" missed="42" covered="0"/><counter type="LINE" missed="199" covered="0"/><counter type="COMPLEXITY" missed="29" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="printAvailableCommands" desc="()V" line="276"><counter type="INSTRUCTION" missed="43" covered="0"/><counter type="LINE" missed="15" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="625" covered="0"/><counter type="BRANCH" missed="42" covered="0"/><counter type="LINE" missed="215" covered="0"/><counter type="COMPLEXITY" missed="31" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><sourcefile name="Main.java"><line nr="16" mi="3" ci="0" mb="0" cb="0"/><line nr="19" mi="1" ci="0" mb="0" cb="0"/><line nr="21" mi="4" ci="0" mb="0" cb="0"/><line nr="23" mi="3" ci="0" mb="0" cb="0"/><line nr="26" mi="5" ci="0" mb="0" cb="0"/><line nr="27" mi="3" ci="0" mb="0" cb="0"/><line nr="31" mi="5" ci="0" mb="2" cb="0"/><line nr="33" mi="4" ci="0" mb="2" cb="0"/><line nr="34" mi="4" ci="0" mb="16" cb="0"/><line nr="36" mi="2" ci="0" mb="0" cb="0"/><line nr="38" mi="1" ci="0" mb="0" cb="0"/><line nr="39" mi="3" ci="0" mb="0" cb="0"/><line nr="40" mi="1" ci="0" mb="0" cb="0"/><line nr="43" mi="4" ci="0" mb="0" cb="0"/><line nr="44" mi="1" ci="0" mb="0" cb="0"/><line nr="45" mi="3" ci="0" mb="0" cb="0"/><line nr="46" mi="1" ci="0" mb="0" cb="0"/><line nr="49" mi="3" ci="0" mb="0" cb="0"/><line nr="50" mi="4" ci="0" mb="0" cb="0"/><line nr="52" mi="3" ci="0" mb="0" cb="0"/><line nr="54" mi="4" ci="0" mb="0" cb="0"/><line nr="55" mi="3" ci="0" mb="0" cb="0"/><line nr="56" mi="1" ci="0" mb="0" cb="0"/><line nr="57" mi="5" ci="0" mb="0" cb="0"/><line nr="58" mi="1" ci="0" mb="0" cb="0"/><line nr="59" mi="1" ci="0" mb="0" cb="0"/><line nr="60" mi="3" ci="0" mb="0" cb="0"/><line nr="61" mi="1" ci="0" mb="0" cb="0"/><line nr="64" mi="3" ci="0" mb="0" cb="0"/><line nr="65" mi="4" ci="0" mb="0" cb="0"/><line nr="67" mi="3" ci="0" mb="0" cb="0"/><line nr="69" mi="4" ci="0" mb="0" cb="0"/><line nr="70" mi="5" ci="0" mb="0" cb="0"/><line nr="71" mi="3" ci="0" mb="0" cb="0"/><line nr="72" mi="4" ci="0" mb="0" cb="0"/><line nr="73" mi="1" ci="0" mb="0" cb="0"/><line nr="74" mi="5" ci="0" mb="0" cb="0"/><line nr="75" mi="1" ci="0" mb="0" cb="0"/><line nr="76" mi="1" ci="0" mb="0" cb="0"/><line nr="77" mi="3" ci="0" mb="0" cb="0"/><line nr="78" mi="1" ci="0" mb="0" cb="0"/><line nr="81" mi="4" ci="0" mb="0" cb="0"/><line nr="82" mi="1" ci="0" mb="0" cb="0"/><line nr="83" mi="3" ci="0" mb="0" cb="0"/><line nr="84" mi="1" ci="0" mb="0" cb="0"/><line nr="87" mi="3" ci="0" mb="0" cb="0"/><line nr="88" mi="3" ci="0" mb="0" cb="0"/><line nr="89" mi="3" ci="0" mb="0" cb="0"/><line nr="90" mi="3" ci="0" mb="0" cb="0"/><line nr="91" mi="3" ci="0" mb="0" cb="0"/><line nr="92" mi="3" ci="0" mb="0" cb="0"/><line nr="93" mi="3" ci="0" mb="0" cb="0"/><line nr="94" mi="3" ci="0" mb="0" cb="0"/><line nr="95" mi="4" ci="0" mb="0" cb="0"/><line nr="97" mi="3" ci="0" mb="0" cb="0"/><line nr="98" mi="3" ci="0" mb="0" cb="0"/><line nr="99" mi="3" ci="0" mb="2" cb="0"/><line nr="100" mi="2" ci="0" mb="0" cb="0"/><line nr="101" mi="3" ci="0" mb="0" cb="0"/><line nr="102" mi="4" ci="0" mb="0" cb="0"/><line nr="103" mi="3" ci="0" mb="0" cb="0"/><line nr="104" mi="1" ci="0" mb="0" cb="0"/><line nr="107" mi="9" ci="0" mb="0" cb="0"/><line nr="108" mi="3" ci="0" mb="0" cb="0"/><line nr="109" mi="3" ci="0" mb="0" cb="0"/><line nr="110" mi="3" ci="0" mb="0" cb="0"/><line nr="111" mi="10" ci="0" mb="2" cb="0"/><line nr="112" mi="3" ci="0" mb="0" cb="0"/><line nr="113" mi="1" ci="0" mb="0" cb="0"/><line nr="114" mi="3" ci="0" mb="0" cb="0"/><line nr="115" mi="1" ci="0" mb="0" cb="0"/><line nr="118" mi="3" ci="0" mb="0" cb="0"/><line nr="119" mi="3" ci="0" mb="0" cb="0"/><line nr="120" mi="3" ci="0" mb="0" cb="0"/><line nr="121" mi="3" ci="0" mb="0" cb="0"/><line nr="122" mi="3" ci="0" mb="0" cb="0"/><line nr="123" mi="3" ci="0" mb="0" cb="0"/><line nr="124" mi="4" ci="0" mb="0" cb="0"/><line nr="125" mi="3" ci="0" mb="0" cb="0"/><line nr="126" mi="3" ci="0" mb="0" cb="0"/><line nr="127" mi="8" ci="0" mb="0" cb="0"/><line nr="128" mi="3" ci="0" mb="0" cb="0"/><line nr="129" mi="3" ci="0" mb="0" cb="0"/><line nr="130" mi="3" ci="0" mb="0" cb="0"/><line nr="131" mi="10" ci="0" mb="2" cb="0"/><line nr="132" mi="3" ci="0" mb="0" cb="0"/><line nr="133" mi="1" ci="0" mb="0" cb="0"/><line nr="134" mi="3" ci="0" mb="0" cb="0"/><line nr="135" mi="1" ci="0" mb="0" cb="0"/><line nr="138" mi="3" ci="0" mb="0" cb="0"/><line nr="139" mi="3" ci="0" mb="0" cb="0"/><line nr="140" mi="3" ci="0" mb="0" cb="0"/><line nr="141" mi="3" ci="0" mb="2" cb="0"/><line nr="142" mi="4" ci="0" mb="0" cb="0"/><line nr="143" mi="7" ci="0" mb="2" cb="0"/><line nr="144" mi="1" ci="0" mb="0" cb="0"/><line nr="145" mi="3" ci="0" mb="0" cb="0"/><line nr="147" mi="3" ci="0" mb="0" cb="0"/><line nr="148" mi="3" ci="0" mb="0" cb="0"/><line nr="149" mi="3" ci="0" mb="2" cb="0"/><line nr="150" mi="4" ci="0" mb="0" cb="0"/><line nr="151" mi="4" ci="0" mb="0" cb="0"/><line nr="152" mi="1" ci="0" mb="0" cb="0"/><line nr="153" mi="3" ci="0" mb="0" cb="0"/><line nr="155" mi="4" ci="0" mb="0" cb="0"/><line nr="156" mi="1" ci="0" mb="0" cb="0"/><line nr="157" mi="4" ci="0" mb="0" cb="0"/><line nr="158" mi="1" ci="0" mb="0" cb="0"/><line nr="159" mi="3" ci="0" mb="0" cb="0"/><line nr="160" mi="1" ci="0" mb="0" cb="0"/><line nr="161" mi="3" ci="0" mb="0" cb="0"/><line nr="162" mi="1" ci="0" mb="0" cb="0"/><line nr="165" mi="3" ci="0" mb="0" cb="0"/><line nr="166" mi="3" ci="0" mb="0" cb="0"/><line nr="167" mi="3" ci="0" mb="0" cb="0"/><line nr="168" mi="3" ci="0" mb="0" cb="0"/><line nr="169" mi="3" ci="0" mb="0" cb="0"/><line nr="170" mi="3" ci="0" mb="0" cb="0"/><line nr="171" mi="3" ci="0" mb="0" cb="0"/><line nr="172" mi="3" ci="0" mb="0" cb="0"/><line nr="173" mi="4" ci="0" mb="0" cb="0"/><line nr="174" mi="3" ci="0" mb="0" cb="0"/><line nr="175" mi="3" ci="0" mb="0" cb="0"/><line nr="176" mi="3" ci="0" mb="0" cb="0"/><line nr="177" mi="3" ci="0" mb="0" cb="0"/><line nr="178" mi="10" ci="0" mb="0" cb="0"/><line nr="179" mi="3" ci="0" mb="0" cb="0"/><line nr="180" mi="3" ci="0" mb="0" cb="0"/><line nr="181" mi="3" ci="0" mb="0" cb="0"/><line nr="182" mi="10" ci="0" mb="2" cb="0"/><line nr="183" mi="1" ci="0" mb="0" cb="0"/><line nr="184" mi="3" ci="0" mb="0" cb="0"/><line nr="185" mi="1" ci="0" mb="0" cb="0"/><line nr="188" mi="3" ci="0" mb="0" cb="0"/><line nr="189" mi="3" ci="0" mb="0" cb="0"/><line nr="190" mi="3" ci="0" mb="0" cb="0"/><line nr="191" mi="3" ci="0" mb="2" cb="0"/><line nr="192" mi="4" ci="0" mb="0" cb="0"/><line nr="193" mi="4" ci="0" mb="0" cb="0"/><line nr="194" mi="1" ci="0" mb="0" cb="0"/><line nr="195" mi="3" ci="0" mb="0" cb="0"/><line nr="196" mi="3" ci="0" mb="0" cb="0"/><line nr="197" mi="5" ci="0" mb="0" cb="0"/><line nr="198" mi="3" ci="0" mb="0" cb="0"/><line nr="199" mi="3" ci="0" mb="0" cb="0"/><line nr="201" mi="3" ci="0" mb="0" cb="0"/><line nr="202" mi="3" ci="0" mb="2" cb="0"/><line nr="203" mi="4" ci="0" mb="0" cb="0"/><line nr="204" mi="4" ci="0" mb="0" cb="0"/><line nr="205" mi="1" ci="0" mb="0" cb="0"/><line nr="206" mi="5" ci="0" mb="2" cb="0"/><line nr="207" mi="3" ci="0" mb="0" cb="0"/><line nr="208" mi="3" ci="0" mb="0" cb="0"/><line nr="210" mi="4" ci="0" mb="0" cb="0"/><line nr="211" mi="1" ci="0" mb="0" cb="0"/><line nr="212" mi="4" ci="0" mb="0" cb="0"/><line nr="213" mi="1" ci="0" mb="0" cb="0"/><line nr="215" mi="3" ci="0" mb="0" cb="0"/><line nr="216" mi="3" ci="0" mb="0" cb="0"/><line nr="217" mi="1" ci="0" mb="0" cb="0"/><line nr="218" mi="3" ci="0" mb="0" cb="0"/><line nr="219" mi="1" ci="0" mb="0" cb="0"/><line nr="220" mi="3" ci="0" mb="0" cb="0"/><line nr="221" mi="1" ci="0" mb="0" cb="0"/><line nr="224" mi="3" ci="0" mb="0" cb="0"/><line nr="225" mi="3" ci="0" mb="0" cb="0"/><line nr="226" mi="3" ci="0" mb="2" cb="0"/><line nr="227" mi="4" ci="0" mb="0" cb="0"/><line nr="228" mi="4" ci="0" mb="0" cb="0"/><line nr="229" mi="1" ci="0" mb="0" cb="0"/><line nr="230" mi="3" ci="0" mb="0" cb="0"/><line nr="232" mi="3" ci="0" mb="0" cb="0"/><line nr="233" mi="1" ci="0" mb="0" cb="0"/><line nr="234" mi="4" ci="0" mb="0" cb="0"/><line nr="235" mi="1" ci="0" mb="0" cb="0"/><line nr="236" mi="3" ci="0" mb="0" cb="0"/><line nr="237" mi="1" ci="0" mb="0" cb="0"/><line nr="238" mi="3" ci="0" mb="0" cb="0"/><line nr="239" mi="1" ci="0" mb="0" cb="0"/><line nr="242" mi="2" ci="0" mb="0" cb="0"/><line nr="243" mi="2" ci="0" mb="0" cb="0"/><line nr="244" mi="2" ci="0" mb="0" cb="0"/><line nr="245" mi="3" ci="0" mb="0" cb="0"/><line nr="246" mi="1" ci="0" mb="0" cb="0"/><line nr="247" mi="3" ci="0" mb="0" cb="0"/><line nr="248" mi="1" ci="0" mb="0" cb="0"/><line nr="252" mi="2" ci="0" mb="0" cb="0"/><line nr="254" mi="1" ci="0" mb="0" cb="0"/><line nr="255" mi="4" ci="0" mb="0" cb="0"/><line nr="257" mi="1" ci="0" mb="0" cb="0"/><line nr="258" mi="5" ci="0" mb="0" cb="0"/><line nr="259" mi="2" ci="0" mb="0" cb="0"/><line nr="260" mi="1" ci="0" mb="0" cb="0"/><line nr="263" mi="1" ci="0" mb="0" cb="0"/><line nr="264" mi="3" ci="0" mb="0" cb="0"/><line nr="265" mi="3" ci="0" mb="0" cb="0"/><line nr="266" mi="1" ci="0" mb="0" cb="0"/><line nr="269" mi="1" ci="0" mb="0" cb="0"/><line nr="272" mi="2" ci="0" mb="0" cb="0"/><line nr="273" mi="1" ci="0" mb="0" cb="0"/><line nr="276" mi="3" ci="0" mb="0" cb="0"/><line nr="277" mi="3" ci="0" mb="0" cb="0"/><line nr="278" mi="3" ci="0" mb="0" cb="0"/><line nr="279" mi="3" ci="0" mb="0" cb="0"/><line nr="280" mi="3" ci="0" mb="0" cb="0"/><line nr="281" mi="3" ci="0" mb="0" cb="0"/><line nr="282" mi="3" ci="0" mb="0" cb="0"/><line nr="283" mi="3" ci="0" mb="0" cb="0"/><line nr="284" mi="3" ci="0" mb="0" cb="0"/><line nr="285" mi="3" ci="0" mb="0" cb="0"/><line nr="286" mi="3" ci="0" mb="0" cb="0"/><line nr="287" mi="3" ci="0" mb="0" cb="0"/><line nr="288" mi="3" ci="0" mb="0" cb="0"/><line nr="289" mi="3" ci="0" mb="0" cb="0"/><line nr="290" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="625" covered="0"/><counter type="BRANCH" missed="42" covered="0"/><counter type="LINE" missed="215" covered="0"/><counter type="COMPLEXITY" missed="31" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><counter type="INSTRUCTION" missed="625" covered="0"/><counter type="BRANCH" missed="42" covered="0"/><counter type="LINE" missed="215" covered="0"/><counter type="COMPLEXITY" missed="31" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></package><counter type="INSTRUCTION" missed="2167" covered="802"/><counter type="BRANCH" missed="207" covered="23"/><counter type="LINE" missed="612" covered="182"/><counter type="COMPLEXITY" missed="177" covered="49"/><counter type="METHOD" missed="57" covered="40"/><counter type="CLASS" missed="10" covered="10"/></report>
          \ No newline at end of file
          +<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!DOCTYPE report PUBLIC "-//JACOCO//DTD Report 1.1//EN" "report.dtd"><report name="spoteezer"><sessioninfo id="DESKTOP-M4INQND-91a7872b" start="1624793019797" dump="1624793020432"/><sessioninfo id="DESKTOP-M4INQND-11e0a096" start="1624813022092" dump="1624813022803"/><sessioninfo id="DESKTOP-M4INQND-7357f010" start="1624825407091" dump="1624825407773"/><sessioninfo id="DESKTOP-M4INQND-811f3cc5" start="1624915847905" dump="1624915848700"/><sessioninfo id="DESKTOP-M4INQND-b70e9563" start="1624915918971" dump="1624915919702"/><sessioninfo id="DESKTOP-M4INQND-a94600a7" start="1624916186303" dump="1624916187008"/><sessioninfo id="DESKTOP-M4INQND-cbfb49a8" start="1624916191408" dump="1624916192082"/><package name="musichub/util"><class name="musichub/util/PathValidation" sourcefilename="PathValidation.java"><method name="&lt;init&gt;" desc="()V" line="23"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isPathValid" desc="(Ljava/lang/String;)Z" line="35"><counter type="INSTRUCTION" missed="0" covered="32"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="39"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="musichub/util/LogHandler" sourcefilename="LogHandler.java"><method name="&lt;init&gt;" desc="()V" line="25"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="write" desc="(Ljava/lang/String;Ljava/lang/String;)V" line="38"><counter type="INSTRUCTION" missed="0" covered="26"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="read" desc="()V" line="58"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="46"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="musichub/util/XMLHandler" sourcefilename="XMLHandler.java"><method name="&lt;init&gt;" desc="()V" line="26"><counter type="INSTRUCTION" missed="3" covered="20"/><counter type="LINE" missed="2" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createXMLFile" desc="(Lorg/w3c/dom/Document;Ljava/lang/String;)V" line="41"><counter type="INSTRUCTION" missed="3" covered="20"/><counter type="LINE" missed="2" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createXMLDocument" desc="()Lorg/w3c/dom/Document;" line="57"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="parseXMLFile" desc="(Ljava/lang/String;)Lorg/w3c/dom/NodeList;" line="61"><counter type="INSTRUCTION" missed="0" covered="22"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="6" covered="66"/><counter type="LINE" missed="4" covered="21"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="musichub/util/Policy" sourcefilename="Policy.java"><method name="&lt;init&gt;" desc="()V" line="22"><counter type="INSTRUCTION" missed="7" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="showTerm" desc="()V" line="33"><counter type="INSTRUCTION" missed="46" covered="0"/><counter type="BRANCH" missed="5" covered="0"/><counter type="LINE" missed="19" covered="0"/><counter type="COMPLEXITY" missed="4" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="printAgreement" desc="()V" line="73"><counter type="INSTRUCTION" missed="7" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="60" covered="0"/><counter type="BRANCH" missed="5" covered="0"/><counter type="LINE" missed="24" covered="0"/><counter type="COMPLEXITY" missed="6" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><sourcefile name="PathValidation.java"><line nr="23" mi="0" ci="2" mb="0" cb="0"/><line nr="24" mi="0" ci="5" mb="0" cb="0"/><line nr="35" mi="0" ci="2" mb="0" cb="0"/><line nr="37" mi="0" ci="4" mb="0" cb="0"/><line nr="38" mi="0" ci="2" mb="0" cb="2"/><line nr="39" mi="0" ci="6" mb="0" cb="0"/><line nr="40" mi="0" ci="4" mb="0" cb="2"/><line nr="41" mi="0" ci="2" mb="0" cb="0"/><line nr="45" mi="0" ci="5" mb="0" cb="0"/><line nr="46" mi="0" ci="7" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="39"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="LogHandler.java"><line nr="25" mi="0" ci="2" mb="0" cb="0"/><line nr="26" mi="0" ci="5" mb="0" cb="0"/><line nr="38" mi="0" ci="5" mb="0" cb="0"/><line nr="41" mi="0" ci="5" mb="0" cb="0"/><line nr="44" mi="0" ci="5" mb="0" cb="0"/><line nr="47" mi="0" ci="10" mb="0" cb="0"/><line nr="50" mi="0" ci="1" mb="0" cb="0"/><line nr="58" mi="0" ci="5" mb="0" cb="0"/><line nr="61" mi="0" ci="3" mb="0" cb="0"/><line nr="64" mi="0" ci="4" mb="0" cb="0"/><line nr="66" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="46"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="XMLHandler.java"><line nr="26" mi="0" ci="2" mb="0" cb="0"/><line nr="28" mi="0" ci="3" mb="0" cb="0"/><line nr="29" mi="0" ci="5" mb="0" cb="0"/><line nr="30" mi="0" ci="3" mb="0" cb="0"/><line nr="31" mi="0" ci="5" mb="0" cb="0"/><line nr="32" mi="1" ci="0" mb="0" cb="0"/><line nr="33" mi="2" ci="0" mb="0" cb="0"/><line nr="34" mi="0" ci="1" mb="0" cb="0"/><line nr="35" mi="0" ci="1" mb="0" cb="0"/><line nr="41" mi="0" ci="5" mb="0" cb="0"/><line nr="42" mi="0" ci="8" mb="0" cb="0"/><line nr="49" mi="0" ci="5" mb="0" cb="0"/><line nr="51" mi="1" ci="0" mb="0" cb="0"/><line nr="52" mi="2" ci="0" mb="0" cb="0"/><line nr="53" mi="0" ci="1" mb="0" cb="0"/><line nr="54" mi="0" ci="1" mb="0" cb="0"/><line nr="57" mi="0" ci="4" mb="0" cb="0"/><line nr="61" mi="0" ci="2" mb="0" cb="0"/><line nr="63" mi="0" ci="8" mb="0" cb="0"/><line nr="64" mi="0" ci="3" mb="0" cb="0"/><line nr="66" mi="0" ci="3" mb="0" cb="0"/><line nr="67" mi="0" ci="1" mb="0" cb="0"/><line nr="68" mi="0" ci="2" mb="0" cb="0"/><line nr="69" mi="0" ci="1" mb="0" cb="0"/><line nr="70" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="6" covered="66"/><counter type="LINE" missed="4" covered="21"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="Policy.java"><line nr="22" mi="2" ci="0" mb="0" cb="0"/><line nr="23" mi="5" ci="0" mb="0" cb="0"/><line nr="33" mi="2" ci="0" mb="0" cb="0"/><line nr="42" mi="1" ci="0" mb="0" cb="0"/><line nr="43" mi="5" ci="0" mb="0" cb="0"/><line nr="44" mi="4" ci="0" mb="0" cb="0"/><line nr="46" mi="4" ci="0" mb="2" cb="0"/><line nr="47" mi="4" ci="0" mb="3" cb="0"/><line nr="48" mi="3" ci="0" mb="0" cb="0"/><line nr="49" mi="1" ci="0" mb="0" cb="0"/><line nr="50" mi="3" ci="0" mb="0" cb="0"/><line nr="51" mi="1" ci="0" mb="0" cb="0"/><line nr="52" mi="4" ci="0" mb="0" cb="0"/><line nr="54" mi="1" ci="0" mb="0" cb="0"/><line nr="55" mi="1" ci="0" mb="0" cb="0"/><line nr="56" mi="4" ci="0" mb="0" cb="0"/><line nr="61" mi="3" ci="0" mb="0" cb="0"/><line nr="62" mi="1" ci="0" mb="0" cb="0"/><line nr="63" mi="2" ci="0" mb="0" cb="0"/><line nr="64" mi="1" ci="0" mb="0" cb="0"/><line nr="65" mi="1" ci="0" mb="0" cb="0"/><line nr="73" mi="3" ci="0" mb="0" cb="0"/><line nr="74" mi="3" ci="0" mb="0" cb="0"/><line nr="75" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="60" covered="0"/><counter type="BRANCH" missed="5" covered="0"/><counter type="LINE" missed="24" covered="0"/><counter type="COMPLEXITY" missed="6" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><counter type="INSTRUCTION" missed="66" covered="151"/><counter type="BRANCH" missed="5" covered="4"/><counter type="LINE" missed="28" covered="42"/><counter type="COMPLEXITY" missed="6" covered="11"/><counter type="METHOD" missed="3" covered="9"/><counter type="CLASS" missed="1" covered="3"/></package><package name="musichub/business"><class name="musichub/business/Album" sourcefilename="Album.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/util/ArrayList;)V" line="21"><counter type="INSTRUCTION" missed="33" covered="0"/><counter type="LINE" missed="12" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V" line="35"><counter type="INSTRUCTION" missed="34" covered="0"/><counter type="LINE" missed="12" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Lorg/w3c/dom/Element;)V" line="49"><counter type="INSTRUCTION" missed="112" covered="0"/><counter type="BRANCH" missed="12" covered="0"/><counter type="LINE" missed="26" covered="0"/><counter type="COMPLEXITY" missed="7" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addSong" desc="(Ljava/util/UUID;)V" line="89"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getSongs" desc="()Ljava/util/List;" line="94"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getSongsRandomly" desc="()Ljava/util/ArrayList;" line="98"><counter type="INSTRUCTION" missed="7" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getTitle" desc="()Ljava/lang/String;" line="104"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getDate" desc="()Ljava/util/Date;" line="108"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createXMLElement" desc="(Lorg/w3c/dom/Document;Lorg/w3c/dom/Element;)V" line="112"><counter type="INSTRUCTION" missed="129" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="26" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="330" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="84" covered="0"/><counter type="COMPLEXITY" missed="16" covered="0"/><counter type="METHOD" missed="9" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/SortByAuthor" sourcefilename="MusicHub.java"><method name="&lt;init&gt;" desc="()V" line="26"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="compare" desc="(Lmusichub/business/AudioElement;Lmusichub/business/AudioElement;)I" line="28"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="9" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/NoAlbumFoundException" sourcefilename="NoAlbumFoundException.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="6"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/Language" sourcefilename="Language.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;ILjava/lang/String;)V" line="7"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getLanguage" desc="()Ljava/lang/String;" line="12"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="3"><counter type="INSTRUCTION" missed="0" covered="38"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="3" covered="46"/><counter type="LINE" missed="1" covered="5"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="1" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="musichub/business/SortByDate" sourcefilename="MusicHub.java"><method name="&lt;init&gt;" desc="()V" line="14"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="compare" desc="(Lmusichub/business/Album;Lmusichub/business/Album;)I" line="16"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="9" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/MusicHub" sourcefilename="MusicHub.java"><method name="&lt;init&gt;" desc="()V" line="40"><counter type="INSTRUCTION" missed="29" covered="0"/><counter type="LINE" missed="9" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addElement" desc="(Lmusichub/business/AudioElement;)V" line="52"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addAlbum" desc="(Lmusichub/business/Album;)V" line="56"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addPlaylist" desc="(Lmusichub/business/PlayList;)V" line="60"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="deletePlayList" desc="(Ljava/lang/String;)V" line="65"><counter type="INSTRUCTION" missed="40" covered="0"/><counter type="BRANCH" missed="8" covered="0"/><counter type="LINE" missed="11" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="albums" desc="()Ljava/util/Iterator;" line="80"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="playlists" desc="()Ljava/util/Iterator;" line="84"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="elements" desc="()Ljava/util/Iterator;" line="88"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAlbumsTitlesSortedByDate" desc="()Ljava/lang/String;" line="92"><counter type="INSTRUCTION" missed="32" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAudiobooksTitlesSortedByAuthor" desc="()Ljava/lang/String;" line="100"><counter type="INSTRUCTION" missed="53" covered="0"/><counter type="BRANCH" missed="6" covered="0"/><counter type="LINE" missed="9" covered="0"/><counter type="COMPLEXITY" missed="4" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAlbumSongs" desc="(Ljava/lang/String;)Ljava/util/List;" line="112"><counter type="INSTRUCTION" missed="73" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="15" covered="0"/><counter type="COMPLEXITY" missed="8" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAlbumSongsSortedByGenre" desc="(Ljava/lang/String;)Ljava/util/List;" line="134"><counter type="INSTRUCTION" missed="79" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="16" covered="0"/><counter type="COMPLEXITY" missed="8" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addElementToAlbum" desc="(Ljava/lang/String;Ljava/lang/String;)V" line="157"><counter type="INSTRUCTION" missed="82" covered="0"/><counter type="BRANCH" missed="12" covered="0"/><counter type="LINE" missed="20" covered="0"/><counter type="COMPLEXITY" missed="7" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addElementToPlayList" desc="(Ljava/lang/String;Ljava/lang/String;)V" line="186"><counter type="INSTRUCTION" missed="82" covered="0"/><counter type="BRANCH" missed="12" covered="0"/><counter type="LINE" missed="20" covered="0"/><counter type="COMPLEXITY" missed="7" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="loadAlbums" desc="()V" line="217"><counter type="INSTRUCTION" missed="44" covered="0"/><counter type="BRANCH" missed="8" covered="0"/><counter type="LINE" missed="11" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="loadPlaylists" desc="()V" line="235"><counter type="INSTRUCTION" missed="44" covered="0"/><counter type="BRANCH" missed="8" covered="0"/><counter type="LINE" missed="11" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="loadElements" desc="()V" line="253"><counter type="INSTRUCTION" missed="64" covered="0"/><counter type="BRANCH" missed="10" covered="0"/><counter type="LINE" missed="18" covered="0"/><counter type="COMPLEXITY" missed="6" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="saveAlbums" desc="()V" line="281"><counter type="INSTRUCTION" missed="36" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="10" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="savePlayLists" desc="()V" line="297"><counter type="INSTRUCTION" missed="36" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="10" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="saveElements" desc="()V" line="313"><counter type="INSTRUCTION" missed="47" covered="0"/><counter type="BRANCH" missed="8" covered="0"/><counter type="LINE" missed="12" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAudioElement" desc="(Ljava/util/List;Ljava/lang/String;)V" line="334"><counter type="INSTRUCTION" missed="19" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="searchAudioElement" desc="()V" line="343"><counter type="INSTRUCTION" missed="71" covered="0"/><counter type="BRANCH" missed="10" covered="0"/><counter type="LINE" missed="14" covered="0"/><counter type="COMPLEXITY" missed="6" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getPlayListsTitles" desc="()Ljava/lang/String;" line="369"><counter type="INSTRUCTION" missed="26" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getPlayListSongs" desc="(Ljava/lang/String;)Ljava/util/List;" line="385"><counter type="INSTRUCTION" missed="73" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="15" covered="0"/><counter type="COMPLEXITY" missed="8" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="33"><counter type="INSTRUCTION" missed="13" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="973" covered="0"/><counter type="BRANCH" missed="140" covered="0"/><counter type="LINE" missed="228" covered="0"/><counter type="COMPLEXITY" missed="95" covered="0"/><counter type="METHOD" missed="25" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/Category" sourcefilename="Category.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;ILjava/lang/String;)V" line="7"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getCategory" desc="()Ljava/lang/String;" line="12"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="3"><counter type="INSTRUCTION" missed="0" covered="38"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="3" covered="46"/><counter type="LINE" missed="1" covered="5"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="1" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="musichub/business/Song" sourcefilename="Song.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" line="11"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V" line="16"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lorg/w3c/dom/Element;)V" line="21"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getGenre" desc="()Ljava/lang/String;" line="26"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setGenre" desc="(Ljava/lang/String;)V" line="30"><counter type="INSTRUCTION" missed="0" covered="33"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="1"/></method><method name="toString" desc="()Ljava/lang/String;" line="41"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createXMLElement" desc="(Lorg/w3c/dom/Document;Lorg/w3c/dom/Element;)V" line="46"><counter type="INSTRUCTION" missed="0" covered="29"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="105"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="26"/><counter type="COMPLEXITY" missed="0" covered="12"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></class><class name="musichub/business/NoPlayListFoundException" sourcefilename="NoPlayListFoundException.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="6"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/PlayList" sourcefilename="PlayList.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/util/ArrayList;)V" line="16"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="22"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lorg/w3c/dom/Element;)V" line="28"><counter type="INSTRUCTION" missed="12" covered="76"/><counter type="BRANCH" missed="4" covered="8"/><counter type="LINE" missed="5" covered="18"/><counter type="COMPLEXITY" missed="4" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="addElement" desc="(Ljava/util/UUID;)V" line="66"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getElements" desc="()Ljava/util/ArrayList;" line="70"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getTitle" desc="()Ljava/lang/String;" line="74"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createXMLElement" desc="(Lorg/w3c/dom/Document;Lorg/w3c/dom/Element;)V" line="78"><counter type="INSTRUCTION" missed="20" covered="55"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="4" covered="12"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="32" covered="170"/><counter type="BRANCH" missed="5" covered="9"/><counter type="LINE" missed="9" covered="44"/><counter type="COMPLEXITY" missed="5" covered="9"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></class><class name="musichub/business/AudioBook" sourcefilename="AudioBook.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" line="11"><counter type="INSTRUCTION" missed="14" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" line="17"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lorg/w3c/dom/Element;)V" line="23"><counter type="INSTRUCTION" missed="20" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getLanguage" desc="()Lmusichub/business/Language;" line="29"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setLanguage" desc="(Ljava/lang/String;)V" line="33"><counter type="INSTRUCTION" missed="15" covered="14"/><counter type="BRANCH" missed="4" covered="1"/><counter type="LINE" missed="4" covered="3"/><counter type="COMPLEXITY" missed="4" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getCategory" desc="()Lmusichub/business/Category;" line="43"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setCategory" desc="(Ljava/lang/String;)V" line="47"><counter type="INSTRUCTION" missed="15" covered="14"/><counter type="BRANCH" missed="4" covered="1"/><counter type="LINE" missed="4" covered="3"/><counter type="COMPLEXITY" missed="4" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="toString" desc="()Ljava/lang/String;" line="58"><counter type="INSTRUCTION" missed="8" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createXMLElement" desc="(Lorg/w3c/dom/Document;Lorg/w3c/dom/Element;)V" line="64"><counter type="INSTRUCTION" missed="45" covered="0"/><counter type="LINE" missed="10" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="117" covered="47"/><counter type="BRANCH" missed="8" covered="2"/><counter type="LINE" missed="27" covered="12"/><counter type="COMPLEXITY" missed="12" covered="5"/><counter type="METHOD" missed="4" covered="5"/><counter type="CLASS" missed="0" covered="1"/></class><class name="musichub/business/SortByGenre" sourcefilename="MusicHub.java"><method name="&lt;init&gt;" desc="()V" line="20"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="compare" desc="(Lmusichub/business/Song;Lmusichub/business/Song;)I" line="22"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="9" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/NoElementFoundException" sourcefilename="NoElementFoundException.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="6"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="musichub/business/Genre" sourcefilename="Genre.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;ILjava/lang/String;)V" line="7"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getGenre" desc="()Ljava/lang/String;" line="12"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="3"><counter type="INSTRUCTION" missed="0" covered="45"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="56"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="musichub/business/AudioElement" sourcefilename="AudioElement.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V" line="20"><counter type="INSTRUCTION" missed="0" covered="19"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V" line="28"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lorg/w3c/dom/Element;)V" line="36"><counter type="INSTRUCTION" missed="8" covered="55"/><counter type="BRANCH" missed="2" covered="2"/><counter type="LINE" missed="3" covered="11"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getUUID" desc="()Ljava/util/UUID;" line="55"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getArtist" desc="()Ljava/lang/String;" line="59"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getTitle" desc="()Ljava/lang/String;" line="63"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="toString" desc="()Ljava/lang/String;" line="67"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createXMLElement" desc="(Lorg/w3c/dom/Document;Lorg/w3c/dom/Element;)V" line="71"><counter type="INSTRUCTION" missed="0" covered="79"/><counter type="LINE" missed="0" covered="16"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="manageAudioElement" desc="()V" line="95"><counter type="INSTRUCTION" missed="74" covered="0"/><counter type="BRANCH" missed="6" covered="0"/><counter type="LINE" missed="25" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="91" covered="181"/><counter type="BRANCH" missed="8" covered="2"/><counter type="LINE" missed="31" covered="42"/><counter type="COMPLEXITY" missed="10" covered="5"/><counter type="METHOD" missed="4" covered="5"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="MusicHub.java"><line nr="14" mi="3" ci="0" mb="0" cb="0"/><line nr="16" mi="6" ci="0" mb="0" cb="0"/><line nr="20" mi="3" ci="0" mb="0" cb="0"/><line nr="22" mi="6" ci="0" mb="0" cb="0"/><line nr="26" mi="3" ci="0" mb="0" cb="0"/><line nr="28" mi="6" ci="0" mb="0" cb="0"/><line nr="33" mi="3" ci="0" mb="0" cb="0"/><line nr="34" mi="3" ci="0" mb="0" cb="0"/><line nr="35" mi="3" ci="0" mb="0" cb="0"/><line nr="36" mi="4" ci="0" mb="0" cb="0"/><line nr="40" mi="5" ci="0" mb="0" cb="0"/><line nr="42" mi="2" ci="0" mb="0" cb="0"/><line nr="43" mi="5" ci="0" mb="0" cb="0"/><line nr="44" mi="5" ci="0" mb="0" cb="0"/><line nr="45" mi="5" ci="0" mb="0" cb="0"/><line nr="46" mi="2" ci="0" mb="0" cb="0"/><line nr="47" mi="2" ci="0" mb="0" cb="0"/><line nr="48" mi="2" ci="0" mb="0" cb="0"/><line nr="49" mi="1" ci="0" mb="0" cb="0"/><line nr="52" mi="5" ci="0" mb="0" cb="0"/><line nr="53" mi="1" ci="0" mb="0" cb="0"/><line nr="56" mi="5" ci="0" mb="0" cb="0"/><line nr="57" mi="1" ci="0" mb="0" cb="0"/><line nr="60" mi="5" ci="0" mb="0" cb="0"/><line nr="61" mi="1" ci="0" mb="0" cb="0"/><line nr="65" mi="2" ci="0" mb="0" cb="0"/><line nr="66" mi="2" ci="0" mb="0" cb="0"/><line nr="67" mi="11" ci="0" mb="2" cb="0"/><line nr="68" mi="5" ci="0" mb="2" cb="0"/><line nr="69" mi="2" ci="0" mb="0" cb="0"/><line nr="70" mi="1" ci="0" mb="0" cb="0"/><line nr="72" mi="1" ci="0" mb="0" cb="0"/><line nr="74" mi="2" ci="0" mb="2" cb="0"/><line nr="75" mi="5" ci="0" mb="0" cb="0"/><line nr="76" mi="8" ci="0" mb="2" cb="0"/><line nr="77" mi="1" ci="0" mb="0" cb="0"/><line nr="80" mi="4" ci="0" mb="0" cb="0"/><line nr="84" mi="4" ci="0" mb="0" cb="0"/><line nr="88" mi="4" ci="0" mb="0" cb="0"/><line nr="92" mi="4" ci="0" mb="0" cb="0"/><line nr="93" mi="6" ci="0" mb="0" cb="0"/><line nr="94" mi="11" ci="0" mb="2" cb="0"/><line nr="95" mi="8" ci="0" mb="0" cb="0"/><line nr="96" mi="3" ci="0" mb="0" cb="0"/><line nr="100" mi="4" ci="0" mb="0" cb="0"/><line nr="101" mi="4" ci="0" mb="0" cb="0"/><line nr="102" mi="11" ci="0" mb="2" cb="0"/><line nr="103" mi="4" ci="0" mb="2" cb="0"/><line nr="104" mi="4" ci="0" mb="0" cb="0"/><line nr="105" mi="5" ci="0" mb="0" cb="0"/><line nr="106" mi="10" ci="0" mb="2" cb="0"/><line nr="107" mi="8" ci="0" mb="0" cb="0"/><line nr="108" mi="3" ci="0" mb="0" cb="0"/><line nr="112" mi="2" ci="0" mb="0" cb="0"/><line nr="113" mi="4" ci="0" mb="0" cb="0"/><line nr="114" mi="11" ci="0" mb="2" cb="0"/><line nr="115" mi="5" ci="0" mb="2" cb="0"/><line nr="116" mi="2" ci="0" mb="0" cb="0"/><line nr="117" mi="1" ci="0" mb="0" cb="0"/><line nr="119" mi="1" ci="0" mb="0" cb="0"/><line nr="120" mi="7" ci="0" mb="2" cb="0"/><line nr="122" mi="3" ci="0" mb="0" cb="0"/><line nr="123" mi="10" ci="0" mb="2" cb="0"/><line nr="124" mi="12" ci="0" mb="2" cb="0"/><line nr="125" mi="3" ci="0" mb="2" cb="0"/><line nr="126" mi="9" ci="0" mb="2" cb="0"/><line nr="128" mi="1" ci="0" mb="0" cb="0"/><line nr="129" mi="2" ci="0" mb="0" cb="0"/><line nr="134" mi="2" ci="0" mb="0" cb="0"/><line nr="135" mi="4" ci="0" mb="0" cb="0"/><line nr="136" mi="11" ci="0" mb="2" cb="0"/><line nr="137" mi="5" ci="0" mb="2" cb="0"/><line nr="138" mi="2" ci="0" mb="0" cb="0"/><line nr="139" mi="1" ci="0" mb="0" cb="0"/><line nr="141" mi="1" ci="0" mb="0" cb="0"/><line nr="142" mi="7" ci="0" mb="2" cb="0"/><line nr="144" mi="3" ci="0" mb="0" cb="0"/><line nr="145" mi="10" ci="0" mb="2" cb="0"/><line nr="146" mi="12" ci="0" mb="2" cb="0"/><line nr="147" mi="3" ci="0" mb="2" cb="0"/><line nr="148" mi="10" ci="0" mb="2" cb="0"/><line nr="150" mi="1" ci="0" mb="0" cb="0"/><line nr="151" mi="5" ci="0" mb="0" cb="0"/><line nr="152" mi="2" ci="0" mb="0" cb="0"/><line nr="157" mi="2" ci="0" mb="0" cb="0"/><line nr="159" mi="2" ci="0" mb="0" cb="0"/><line nr="160" mi="9" ci="0" mb="2" cb="0"/><line nr="161" mi="9" ci="0" mb="2" cb="0"/><line nr="162" mi="6" ci="0" mb="0" cb="0"/><line nr="163" mi="2" ci="0" mb="0" cb="0"/><line nr="164" mi="1" ci="0" mb="0" cb="0"/><line nr="168" mi="2" ci="0" mb="2" cb="0"/><line nr="169" mi="2" ci="0" mb="0" cb="0"/><line nr="170" mi="11" ci="0" mb="2" cb="0"/><line nr="171" mi="5" ci="0" mb="2" cb="0"/><line nr="172" mi="2" ci="0" mb="0" cb="0"/><line nr="173" mi="1" ci="0" mb="0" cb="0"/><line nr="175" mi="1" ci="0" mb="0" cb="0"/><line nr="176" mi="2" ci="0" mb="2" cb="0"/><line nr="177" mi="4" ci="0" mb="0" cb="0"/><line nr="179" mi="7" ci="0" mb="0" cb="0"/><line nr="180" mi="6" ci="0" mb="0" cb="0"/><line nr="181" mi="7" ci="0" mb="0" cb="0"/><line nr="183" mi="1" ci="0" mb="0" cb="0"/><line nr="186" mi="2" ci="0" mb="0" cb="0"/><line nr="188" mi="2" ci="0" mb="0" cb="0"/><line nr="190" mi="9" ci="0" mb="2" cb="0"/><line nr="191" mi="9" ci="0" mb="2" cb="0"/><line nr="192" mi="6" ci="0" mb="0" cb="0"/><line nr="193" mi="2" ci="0" mb="0" cb="0"/><line nr="194" mi="1" ci="0" mb="0" cb="0"/><line nr="198" mi="2" ci="0" mb="2" cb="0"/><line nr="199" mi="2" ci="0" mb="0" cb="0"/><line nr="200" mi="11" ci="0" mb="2" cb="0"/><line nr="201" mi="5" ci="0" mb="2" cb="0"/><line nr="202" mi="2" ci="0" mb="0" cb="0"/><line nr="203" mi="1" ci="0" mb="0" cb="0"/><line nr="205" mi="1" ci="0" mb="0" cb="0"/><line nr="206" mi="2" ci="0" mb="2" cb="0"/><line nr="207" mi="4" ci="0" mb="0" cb="0"/><line nr="209" mi="7" ci="0" mb="0" cb="0"/><line nr="210" mi="6" ci="0" mb="0" cb="0"/><line nr="212" mi="7" ci="0" mb="0" cb="0"/><line nr="214" mi="1" ci="0" mb="0" cb="0"/><line nr="217" mi="5" ci="0" mb="0" cb="0"/><line nr="218" mi="3" ci="0" mb="2" cb="0"/><line nr="220" mi="8" ci="0" mb="2" cb="0"/><line nr="221" mi="6" ci="0" mb="2" cb="0"/><line nr="222" mi="5" ci="0" mb="0" cb="0"/><line nr="223" mi="5" ci="0" mb="2" cb="0"/><line nr="225" mi="6" ci="0" mb="0" cb="0"/><line nr="226" mi="1" ci="0" mb="0" cb="0"/><line nr="227" mi="3" ci="0" mb="0" cb="0"/><line nr="228" mi="1" ci="0" mb="0" cb="0"/><line nr="232" mi="1" ci="0" mb="0" cb="0"/><line nr="235" mi="5" ci="0" mb="0" cb="0"/><line nr="236" mi="3" ci="0" mb="2" cb="0"/><line nr="238" mi="8" ci="0" mb="2" cb="0"/><line nr="239" mi="6" ci="0" mb="2" cb="0"/><line nr="240" mi="5" ci="0" mb="0" cb="0"/><line nr="241" mi="5" ci="0" mb="2" cb="0"/><line nr="243" mi="6" ci="0" mb="0" cb="0"/><line nr="244" mi="1" ci="0" mb="0" cb="0"/><line nr="245" mi="3" ci="0" mb="0" cb="0"/><line nr="246" mi="1" ci="0" mb="0" cb="0"/><line nr="250" mi="1" ci="0" mb="0" cb="0"/><line nr="253" mi="5" ci="0" mb="0" cb="0"/><line nr="254" mi="3" ci="0" mb="2" cb="0"/><line nr="256" mi="8" ci="0" mb="2" cb="0"/><line nr="257" mi="6" ci="0" mb="2" cb="0"/><line nr="258" mi="5" ci="0" mb="0" cb="0"/><line nr="259" mi="5" ci="0" mb="2" cb="0"/><line nr="261" mi="5" ci="0" mb="0" cb="0"/><line nr="262" mi="3" ci="0" mb="0" cb="0"/><line nr="263" mi="1" ci="0" mb="0" cb="0"/><line nr="264" mi="3" ci="0" mb="0" cb="0"/><line nr="265" mi="1" ci="0" mb="0" cb="0"/><line nr="267" mi="5" ci="0" mb="2" cb="0"/><line nr="269" mi="5" ci="0" mb="0" cb="0"/><line nr="270" mi="3" ci="0" mb="0" cb="0"/><line nr="271" mi="1" ci="0" mb="0" cb="0"/><line nr="272" mi="3" ci="0" mb="0" cb="0"/><line nr="273" mi="1" ci="0" mb="0" cb="0"/><line nr="277" mi="1" ci="0" mb="0" cb="0"/><line nr="281" mi="4" ci="0" mb="0" cb="0"/><line nr="282" mi="3" ci="0" mb="2" cb="0"/><line nr="285" mi="4" ci="0" mb="0" cb="0"/><line nr="286" mi="4" ci="0" mb="0" cb="0"/><line nr="289" mi="6" ci="0" mb="2" cb="0"/><line nr="290" mi="4" ci="0" mb="0" cb="0"/><line nr="291" mi="4" ci="0" mb="0" cb="0"/><line nr="292" mi="1" ci="0" mb="0" cb="0"/><line nr="293" mi="5" ci="0" mb="0" cb="0"/><line nr="294" mi="1" ci="0" mb="0" cb="0"/><line nr="297" mi="4" ci="0" mb="0" cb="0"/><line nr="298" mi="3" ci="0" mb="2" cb="0"/><line nr="301" mi="4" ci="0" mb="0" cb="0"/><line nr="302" mi="4" ci="0" mb="0" cb="0"/><line nr="305" mi="6" ci="0" mb="2" cb="0"/><line nr="306" mi="4" ci="0" mb="0" cb="0"/><line nr="307" mi="4" ci="0" mb="0" cb="0"/><line nr="308" mi="1" ci="0" mb="0" cb="0"/><line nr="309" mi="5" ci="0" mb="0" cb="0"/><line nr="310" mi="1" ci="0" mb="0" cb="0"/><line nr="313" mi="4" ci="0" mb="0" cb="0"/><line nr="314" mi="3" ci="0" mb="2" cb="0"/><line nr="317" mi="4" ci="0" mb="0" cb="0"/><line nr="318" mi="4" ci="0" mb="0" cb="0"/><line nr="321" mi="11" ci="0" mb="2" cb="0"/><line nr="323" mi="3" ci="0" mb="2" cb="0"/><line nr="324" mi="4" ci="0" mb="0" cb="0"/><line nr="326" mi="3" ci="0" mb="2" cb="0"/><line nr="327" mi="4" ci="0" mb="0" cb="0"/><line nr="329" mi="1" ci="0" mb="0" cb="0"/><line nr="330" mi="5" ci="0" mb="0" cb="0"/><line nr="331" mi="1" ci="0" mb="0" cb="0"/><line nr="334" mi="10" ci="0" mb="2" cb="0"/><line nr="335" mi="5" ci="0" mb="2" cb="0"/><line nr="336" mi="2" ci="0" mb="0" cb="0"/><line nr="338" mi="1" ci="0" mb="0" cb="0"/><line nr="340" mi="1" ci="0" mb="0" cb="0"/><line nr="343" mi="5" ci="0" mb="0" cb="0"/><line nr="344" mi="3" ci="0" mb="0" cb="0"/><line nr="345" mi="5" ci="0" mb="0" cb="0"/><line nr="346" mi="4" ci="0" mb="0" cb="0"/><line nr="347" mi="11" ci="0" mb="2" cb="0"/><line nr="348" mi="14" ci="0" mb="4" cb="0"/><line nr="349" mi="4" ci="0" mb="0" cb="0"/><line nr="350" mi="3" ci="0" mb="0" cb="0"/><line nr="352" mi="1" ci="0" mb="0" cb="0"/><line nr="354" mi="3" ci="0" mb="2" cb="0"/><line nr="355" mi="5" ci="0" mb="0" cb="0"/><line nr="357" mi="4" ci="0" mb="2" cb="0"/><line nr="358" mi="8" ci="0" mb="0" cb="0"/><line nr="360" mi="1" ci="0" mb="0" cb="0"/><line nr="369" mi="4" ci="0" mb="0" cb="0"/><line nr="371" mi="11" ci="0" mb="2" cb="0"/><line nr="372" mi="8" ci="0" mb="0" cb="0"/><line nr="373" mi="3" ci="0" mb="0" cb="0"/><line nr="385" mi="2" ci="0" mb="0" cb="0"/><line nr="386" mi="4" ci="0" mb="0" cb="0"/><line nr="387" mi="11" ci="0" mb="2" cb="0"/><line nr="388" mi="5" ci="0" mb="2" cb="0"/><line nr="389" mi="2" ci="0" mb="0" cb="0"/><line nr="390" mi="1" ci="0" mb="0" cb="0"/><line nr="392" mi="1" ci="0" mb="0" cb="0"/><line nr="393" mi="7" ci="0" mb="2" cb="0"/><line nr="395" mi="3" ci="0" mb="0" cb="0"/><line nr="396" mi="10" ci="0" mb="2" cb="0"/><line nr="397" mi="12" ci="0" mb="2" cb="0"/><line nr="398" mi="3" ci="0" mb="2" cb="0"/><line nr="399" mi="9" ci="0" mb="2" cb="0"/><line nr="401" mi="1" ci="0" mb="0" cb="0"/><line nr="402" mi="2" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="1000" covered="0"/><counter type="BRANCH" missed="140" covered="0"/><counter type="LINE" missed="234" covered="0"/><counter type="COMPLEXITY" missed="101" covered="0"/><counter type="METHOD" missed="31" covered="0"/><counter type="CLASS" missed="4" covered="0"/></sourcefile><sourcefile name="PlayList.java"><line nr="16" mi="0" ci="2" mb="0" cb="0"/><line nr="17" mi="0" ci="3" mb="0" cb="0"/><line nr="18" mi="0" ci="4" mb="0" cb="0"/><line nr="19" mi="0" ci="3" mb="0" cb="0"/><line nr="20" mi="0" ci="1" mb="0" cb="0"/><line nr="22" mi="0" ci="2" mb="0" cb="0"/><line nr="23" mi="0" ci="3" mb="0" cb="0"/><line nr="24" mi="0" ci="3" mb="0" cb="0"/><line nr="25" mi="0" ci="5" mb="0" cb="0"/><line nr="26" mi="0" ci="1" mb="0" cb="0"/><line nr="28" mi="0" ci="2" mb="0" cb="0"/><line nr="30" mi="0" ci="8" mb="0" cb="0"/><line nr="32" mi="0" ci="2" mb="0" cb="0"/><line nr="34" mi="0" ci="7" mb="0" cb="0"/><line nr="35" mi="1" ci="0" mb="0" cb="0"/><line nr="36" mi="3" ci="0" mb="0" cb="0"/><line nr="37" mi="0" ci="1" mb="0" cb="0"/><line nr="38" mi="0" ci="5" mb="2" cb="2"/><line nr="39" mi="4" ci="0" mb="0" cb="0"/><line nr="40" mi="0" ci="4" mb="0" cb="0"/><line nr="43" mi="0" ci="6" mb="0" cb="0"/><line nr="44" mi="0" ci="3" mb="0" cb="0"/><line nr="45" mi="1" ci="2" mb="1" cb="1"/><line nr="47" mi="0" ci="5" mb="0" cb="0"/><line nr="50" mi="0" ci="8" mb="0" cb="2"/><line nr="51" mi="0" ci="6" mb="0" cb="2"/><line nr="52" mi="0" ci="5" mb="0" cb="0"/><line nr="53" mi="0" ci="5" mb="1" cb="1"/><line nr="55" mi="0" ci="5" mb="0" cb="0"/><line nr="56" mi="1" ci="0" mb="0" cb="0"/><line nr="57" mi="2" ci="0" mb="0" cb="0"/><line nr="58" mi="0" ci="1" mb="0" cb="0"/><line nr="63" mi="0" ci="1" mb="0" cb="0"/><line nr="66" mi="0" ci="5" mb="0" cb="0"/><line nr="67" mi="0" ci="1" mb="0" cb="0"/><line nr="70" mi="0" ci="3" mb="0" cb="0"/><line nr="74" mi="0" ci="3" mb="0" cb="0"/><line nr="78" mi="0" ci="4" mb="0" cb="0"/><line nr="79" mi="0" ci="4" mb="0" cb="0"/><line nr="81" mi="0" ci="4" mb="0" cb="0"/><line nr="82" mi="0" ci="7" mb="0" cb="0"/><line nr="83" mi="0" ci="4" mb="0" cb="0"/><line nr="85" mi="0" ci="4" mb="0" cb="0"/><line nr="86" mi="0" ci="8" mb="0" cb="0"/><line nr="87" mi="0" ci="4" mb="0" cb="0"/><line nr="90" mi="0" ci="4" mb="0" cb="0"/><line nr="91" mi="4" ci="7" mb="1" cb="1"/><line nr="93" mi="4" ci="0" mb="0" cb="0"/><line nr="94" mi="7" ci="0" mb="0" cb="0"/><line nr="95" mi="4" ci="0" mb="0" cb="0"/><line nr="96" mi="1" ci="0" mb="0" cb="0"/><line nr="97" mi="0" ci="4" mb="0" cb="0"/><line nr="98" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="32" covered="170"/><counter type="BRANCH" missed="5" covered="9"/><counter type="LINE" missed="9" covered="44"/><counter type="COMPLEXITY" missed="5" covered="9"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="NoAlbumFoundException.java"><line nr="6" mi="3" ci="0" mb="0" cb="0"/><line nr="7" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="Album.java"><line nr="21" mi="2" ci="0" mb="0" cb="0"/><line nr="22" mi="3" ci="0" mb="0" cb="0"/><line nr="23" mi="3" ci="0" mb="0" cb="0"/><line nr="24" mi="3" ci="0" mb="0" cb="0"/><line nr="25" mi="4" ci="0" mb="0" cb="0"/><line nr="27" mi="5" ci="0" mb="0" cb="0"/><line nr="28" mi="5" ci="0" mb="0" cb="0"/><line nr="29" mi="1" ci="0" mb="0" cb="0"/><line nr="30" mi="2" ci="0" mb="0" cb="0"/><line nr="31" mi="1" ci="0" mb="0" cb="0"/><line nr="32" mi="3" ci="0" mb="0" cb="0"/><line nr="33" mi="1" ci="0" mb="0" cb="0"/><line nr="35" mi="2" ci="0" mb="0" cb="0"/><line nr="36" mi="3" ci="0" mb="0" cb="0"/><line nr="37" mi="3" ci="0" mb="0" cb="0"/><line nr="38" mi="3" ci="0" mb="0" cb="0"/><line nr="39" mi="3" ci="0" mb="0" cb="0"/><line nr="41" mi="5" ci="0" mb="0" cb="0"/><line nr="42" mi="5" ci="0" mb="0" cb="0"/><line nr="43" mi="1" ci="0" mb="0" cb="0"/><line nr="44" mi="2" ci="0" mb="0" cb="0"/><line nr="45" mi="1" ci="0" mb="0" cb="0"/><line nr="46" mi="5" ci="0" mb="0" cb="0"/><line nr="47" mi="1" ci="0" mb="0" cb="0"/><line nr="49" mi="2" ci="0" mb="0" cb="0"/><line nr="51" mi="8" ci="0" mb="0" cb="0"/><line nr="52" mi="9" ci="0" mb="0" cb="0"/><line nr="53" mi="2" ci="0" mb="0" cb="0"/><line nr="55" mi="7" ci="0" mb="0" cb="0"/><line nr="56" mi="1" ci="0" mb="0" cb="0"/><line nr="57" mi="3" ci="0" mb="0" cb="0"/><line nr="58" mi="1" ci="0" mb="0" cb="0"/><line nr="59" mi="5" ci="0" mb="4" cb="0"/><line nr="60" mi="4" ci="0" mb="0" cb="0"/><line nr="61" mi="4" ci="0" mb="0" cb="0"/><line nr="63" mi="5" ci="0" mb="0" cb="0"/><line nr="64" mi="10" ci="0" mb="0" cb="0"/><line nr="66" mi="6" ci="0" mb="0" cb="0"/><line nr="67" mi="3" ci="0" mb="0" cb="0"/><line nr="68" mi="3" ci="0" mb="2" cb="0"/><line nr="70" mi="5" ci="0" mb="0" cb="0"/><line nr="72" mi="8" ci="0" mb="2" cb="0"/><line nr="73" mi="6" ci="0" mb="2" cb="0"/><line nr="74" mi="5" ci="0" mb="0" cb="0"/><line nr="75" mi="5" ci="0" mb="2" cb="0"/><line nr="77" mi="5" ci="0" mb="0" cb="0"/><line nr="78" mi="1" ci="0" mb="0" cb="0"/><line nr="79" mi="2" ci="0" mb="0" cb="0"/><line nr="80" mi="1" ci="0" mb="0" cb="0"/><line nr="85" mi="1" ci="0" mb="0" cb="0"/><line nr="89" mi="5" ci="0" mb="0" cb="0"/><line nr="90" mi="1" ci="0" mb="0" cb="0"/><line nr="94" mi="3" ci="0" mb="0" cb="0"/><line nr="98" mi="3" ci="0" mb="0" cb="0"/><line nr="99" mi="2" ci="0" mb="0" cb="0"/><line nr="100" mi="2" ci="0" mb="0" cb="0"/><line nr="104" mi="3" ci="0" mb="0" cb="0"/><line nr="108" mi="3" ci="0" mb="0" cb="0"/><line nr="112" mi="4" ci="0" mb="0" cb="0"/><line nr="113" mi="4" ci="0" mb="0" cb="0"/><line nr="115" mi="4" ci="0" mb="0" cb="0"/><line nr="116" mi="7" ci="0" mb="0" cb="0"/><line nr="117" mi="4" ci="0" mb="0" cb="0"/><line nr="119" mi="4" ci="0" mb="0" cb="0"/><line nr="120" mi="7" ci="0" mb="0" cb="0"/><line nr="121" mi="4" ci="0" mb="0" cb="0"/><line nr="123" mi="4" ci="0" mb="0" cb="0"/><line nr="124" mi="9" ci="0" mb="0" cb="0"/><line nr="125" mi="4" ci="0" mb="0" cb="0"/><line nr="127" mi="4" ci="0" mb="0" cb="0"/><line nr="128" mi="8" ci="0" mb="0" cb="0"/><line nr="129" mi="4" ci="0" mb="0" cb="0"/><line nr="131" mi="4" ci="0" mb="0" cb="0"/><line nr="132" mi="5" ci="0" mb="0" cb="0"/><line nr="133" mi="9" ci="0" mb="0" cb="0"/><line nr="134" mi="4" ci="0" mb="0" cb="0"/><line nr="136" mi="4" ci="0" mb="0" cb="0"/><line nr="137" mi="11" ci="0" mb="2" cb="0"/><line nr="138" mi="4" ci="0" mb="0" cb="0"/><line nr="139" mi="7" ci="0" mb="0" cb="0"/><line nr="140" mi="4" ci="0" mb="0" cb="0"/><line nr="141" mi="1" ci="0" mb="0" cb="0"/><line nr="142" mi="4" ci="0" mb="0" cb="0"/><line nr="144" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="330" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="84" covered="0"/><counter type="COMPLEXITY" missed="16" covered="0"/><counter type="METHOD" missed="9" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="Language.java"><line nr="3" mi="0" ci="3" mb="0" cb="0"/><line nr="4" mi="0" ci="35" mb="0" cb="0"/><line nr="7" mi="0" ci="4" mb="0" cb="0"/><line nr="8" mi="0" ci="3" mb="0" cb="0"/><line nr="9" mi="0" ci="1" mb="0" cb="0"/><line nr="12" mi="3" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="3" covered="46"/><counter type="LINE" missed="1" covered="5"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="1" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="Genre.java"><line nr="3" mi="0" ci="3" mb="0" cb="0"/><line nr="4" mi="0" ci="42" mb="0" cb="0"/><line nr="7" mi="0" ci="4" mb="0" cb="0"/><line nr="8" mi="0" ci="3" mb="0" cb="0"/><line nr="9" mi="0" ci="1" mb="0" cb="0"/><line nr="12" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="56"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="NoPlayListFoundException.java"><line nr="6" mi="3" ci="0" mb="0" cb="0"/><line nr="7" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="AudioElement.java"><line nr="20" mi="0" ci="2" mb="0" cb="0"/><line nr="21" mi="0" ci="3" mb="0" cb="0"/><line nr="22" mi="0" ci="3" mb="0" cb="0"/><line nr="23" mi="0" ci="3" mb="0" cb="0"/><line nr="24" mi="0" ci="4" mb="0" cb="0"/><line nr="25" mi="0" ci="3" mb="0" cb="0"/><line nr="26" mi="0" ci="1" mb="0" cb="0"/><line nr="28" mi="0" ci="2" mb="0" cb="0"/><line nr="29" mi="0" ci="3" mb="0" cb="0"/><line nr="30" mi="0" ci="3" mb="0" cb="0"/><line nr="31" mi="0" ci="3" mb="0" cb="0"/><line nr="32" mi="0" ci="3" mb="0" cb="0"/><line nr="33" mi="0" ci="3" mb="0" cb="0"/><line nr="34" mi="0" ci="1" mb="0" cb="0"/><line nr="36" mi="0" ci="2" mb="0" cb="0"/><line nr="38" mi="0" ci="8" mb="0" cb="0"/><line nr="39" mi="0" ci="8" mb="0" cb="0"/><line nr="40" mi="0" ci="9" mb="0" cb="0"/><line nr="41" mi="0" ci="8" mb="0" cb="0"/><line nr="42" mi="0" ci="2" mb="0" cb="0"/><line nr="44" mi="0" ci="7" mb="0" cb="0"/><line nr="45" mi="1" ci="0" mb="0" cb="0"/><line nr="46" mi="3" ci="0" mb="0" cb="0"/><line nr="47" mi="0" ci="1" mb="0" cb="0"/><line nr="48" mi="0" ci="5" mb="2" cb="2"/><line nr="49" mi="4" ci="0" mb="0" cb="0"/><line nr="50" mi="0" ci="4" mb="0" cb="0"/><line nr="52" mi="0" ci="1" mb="0" cb="0"/><line nr="55" mi="3" ci="0" mb="0" cb="0"/><line nr="59" mi="3" ci="0" mb="0" cb="0"/><line nr="63" mi="3" ci="0" mb="0" cb="0"/><line nr="67" mi="0" ci="10" mb="0" cb="0"/><line nr="71" mi="0" ci="4" mb="0" cb="0"/><line nr="72" mi="0" ci="7" mb="0" cb="0"/><line nr="73" mi="0" ci="4" mb="0" cb="0"/><line nr="75" mi="0" ci="4" mb="0" cb="0"/><line nr="76" mi="0" ci="7" mb="0" cb="0"/><line nr="77" mi="0" ci="4" mb="0" cb="0"/><line nr="79" mi="0" ci="4" mb="0" cb="0"/><line nr="80" mi="0" ci="9" mb="0" cb="0"/><line nr="81" mi="0" ci="4" mb="0" cb="0"/><line nr="83" mi="0" ci="4" mb="0" cb="0"/><line nr="84" mi="0" ci="8" mb="0" cb="0"/><line nr="85" mi="0" ci="4" mb="0" cb="0"/><line nr="87" mi="0" ci="4" mb="0" cb="0"/><line nr="88" mi="0" ci="7" mb="0" cb="0"/><line nr="89" mi="0" ci="4" mb="0" cb="0"/><line nr="91" mi="0" ci="1" mb="0" cb="0"/><line nr="95" mi="5" ci="0" mb="0" cb="0"/><line nr="97" mi="6" ci="0" mb="0" cb="0"/><line nr="98" mi="3" ci="0" mb="0" cb="0"/><line nr="99" mi="2" ci="0" mb="0" cb="0"/><line nr="100" mi="3" ci="0" mb="0" cb="0"/><line nr="102" mi="2" ci="0" mb="0" cb="0"/><line nr="104" mi="4" ci="0" mb="2" cb="0"/><line nr="105" mi="3" ci="0" mb="0" cb="0"/><line nr="106" mi="3" ci="0" mb="0" cb="0"/><line nr="107" mi="3" ci="0" mb="0" cb="0"/><line nr="108" mi="3" ci="0" mb="0" cb="0"/><line nr="110" mi="8" ci="0" mb="4" cb="0"/><line nr="111" mi="1" ci="0" mb="0" cb="0"/><line nr="112" mi="2" ci="0" mb="0" cb="0"/><line nr="113" mi="3" ci="0" mb="0" cb="0"/><line nr="115" mi="1" ci="0" mb="0" cb="0"/><line nr="116" mi="2" ci="0" mb="0" cb="0"/><line nr="117" mi="3" ci="0" mb="0" cb="0"/><line nr="119" mi="1" ci="0" mb="0" cb="0"/><line nr="120" mi="3" ci="0" mb="0" cb="0"/><line nr="121" mi="3" ci="0" mb="0" cb="0"/><line nr="123" mi="3" ci="0" mb="0" cb="0"/><line nr="125" mi="4" ci="0" mb="0" cb="0"/><line nr="128" mi="2" ci="0" mb="0" cb="0"/><line nr="130" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="91" covered="181"/><counter type="BRANCH" missed="8" covered="2"/><counter type="LINE" missed="31" covered="42"/><counter type="COMPLEXITY" missed="10" covered="5"/><counter type="METHOD" missed="4" covered="5"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="NoElementFoundException.java"><line nr="6" mi="3" ci="0" mb="0" cb="0"/><line nr="7" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="Category.java"><line nr="3" mi="0" ci="3" mb="0" cb="0"/><line nr="4" mi="0" ci="35" mb="0" cb="0"/><line nr="7" mi="0" ci="4" mb="0" cb="0"/><line nr="8" mi="0" ci="3" mb="0" cb="0"/><line nr="9" mi="0" ci="1" mb="0" cb="0"/><line nr="12" mi="3" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="3" covered="46"/><counter type="LINE" missed="1" covered="5"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="1" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="AudioBook.java"><line nr="11" mi="7" ci="0" mb="0" cb="0"/><line nr="12" mi="3" ci="0" mb="0" cb="0"/><line nr="13" mi="3" ci="0" mb="0" cb="0"/><line nr="14" mi="1" ci="0" mb="0" cb="0"/><line nr="17" mi="0" ci="6" mb="0" cb="0"/><line nr="18" mi="0" ci="3" mb="0" cb="0"/><line nr="19" mi="0" ci="3" mb="0" cb="0"/><line nr="20" mi="0" ci="1" mb="0" cb="0"/><line nr="23" mi="3" ci="0" mb="0" cb="0"/><line nr="24" mi="8" ci="0" mb="0" cb="0"/><line nr="25" mi="8" ci="0" mb="0" cb="0"/><line nr="26" mi="1" ci="0" mb="0" cb="0"/><line nr="29" mi="0" ci="3" mb="0" cb="0"/><line nr="33" mi="0" ci="9" mb="4" cb="1"/><line nr="34" mi="4" ci="0" mb="0" cb="0"/><line nr="35" mi="0" ci="4" mb="0" cb="0"/><line nr="36" mi="4" ci="0" mb="0" cb="0"/><line nr="37" mi="4" ci="0" mb="0" cb="0"/><line nr="38" mi="3" ci="0" mb="0" cb="0"/><line nr="40" mi="0" ci="1" mb="0" cb="0"/><line nr="43" mi="0" ci="3" mb="0" cb="0"/><line nr="47" mi="0" ci="9" mb="4" cb="1"/><line nr="48" mi="4" ci="0" mb="0" cb="0"/><line nr="49" mi="0" ci="4" mb="0" cb="0"/><line nr="50" mi="4" ci="0" mb="0" cb="0"/><line nr="51" mi="4" ci="0" mb="0" cb="0"/><line nr="52" mi="3" ci="0" mb="0" cb="0"/><line nr="54" mi="0" ci="1" mb="0" cb="0"/><line nr="58" mi="8" ci="0" mb="0" cb="0"/><line nr="64" mi="4" ci="0" mb="0" cb="0"/><line nr="66" mi="4" ci="0" mb="0" cb="0"/><line nr="68" mi="4" ci="0" mb="0" cb="0"/><line nr="69" mi="8" ci="0" mb="0" cb="0"/><line nr="70" mi="4" ci="0" mb="0" cb="0"/><line nr="72" mi="4" ci="0" mb="0" cb="0"/><line nr="73" mi="8" ci="0" mb="0" cb="0"/><line nr="74" mi="4" ci="0" mb="0" cb="0"/><line nr="76" mi="4" ci="0" mb="0" cb="0"/><line nr="77" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="117" covered="47"/><counter type="BRANCH" missed="8" covered="2"/><counter type="LINE" missed="27" covered="12"/><counter type="COMPLEXITY" missed="12" covered="5"/><counter type="METHOD" missed="4" covered="5"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="Song.java"><line nr="11" mi="0" ci="7" mb="0" cb="0"/><line nr="12" mi="0" ci="3" mb="0" cb="0"/><line nr="13" mi="0" ci="1" mb="0" cb="0"/><line nr="16" mi="0" ci="6" mb="0" cb="0"/><line nr="17" mi="0" ci="3" mb="0" cb="0"/><line nr="18" mi="0" ci="1" mb="0" cb="0"/><line nr="21" mi="0" ci="3" mb="0" cb="0"/><line nr="22" mi="0" ci="8" mb="0" cb="0"/><line nr="23" mi="0" ci="1" mb="0" cb="0"/><line nr="26" mi="0" ci="4" mb="0" cb="0"/><line nr="30" mi="0" ci="9" mb="0" cb="6"/><line nr="31" mi="0" ci="4" mb="0" cb="0"/><line nr="32" mi="0" ci="4" mb="0" cb="0"/><line nr="33" mi="0" ci="4" mb="0" cb="0"/><line nr="34" mi="0" ci="4" mb="0" cb="0"/><line nr="35" mi="0" ci="4" mb="0" cb="0"/><line nr="36" mi="0" ci="3" mb="0" cb="0"/><line nr="38" mi="0" ci="1" mb="0" cb="0"/><line nr="41" mi="0" ci="6" mb="0" cb="0"/><line nr="46" mi="0" ci="4" mb="0" cb="0"/><line nr="48" mi="0" ci="4" mb="0" cb="0"/><line nr="50" mi="0" ci="4" mb="0" cb="0"/><line nr="51" mi="0" ci="8" mb="0" cb="0"/><line nr="52" mi="0" ci="4" mb="0" cb="0"/><line nr="54" mi="0" ci="4" mb="0" cb="0"/><line nr="55" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="105"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="26"/><counter type="COMPLEXITY" missed="0" covered="12"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="1588" covered="651"/><counter type="BRANCH" missed="175" covered="19"/><counter type="LINE" missed="393" covered="140"/><counter type="COMPLEXITY" missed="149" covered="38"/><counter type="METHOD" missed="53" covered="31"/><counter type="CLASS" missed="8" covered="7"/></package><package name="musichub/main"><class name="musichub/main/Main" sourcefilename="Main.java"><method name="&lt;init&gt;" desc="()V" line="16"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="main" desc="([Ljava/lang/String;)V" line="19"><counter type="INSTRUCTION" missed="673" covered="0"/><counter type="BRANCH" missed="43" covered="0"/><counter type="LINE" missed="234" covered="0"/><counter type="COMPLEXITY" missed="30" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="printAvailableCommands" desc="()V" line="318"><counter type="INSTRUCTION" missed="46" covered="0"/><counter type="LINE" missed="16" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="722" covered="0"/><counter type="BRANCH" missed="43" covered="0"/><counter type="LINE" missed="251" covered="0"/><counter type="COMPLEXITY" missed="32" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><sourcefile name="Main.java"><line nr="16" mi="3" ci="0" mb="0" cb="0"/><line nr="19" mi="1" ci="0" mb="0" cb="0"/><line nr="21" mi="4" ci="0" mb="0" cb="0"/><line nr="23" mi="3" ci="0" mb="0" cb="0"/><line nr="26" mi="5" ci="0" mb="0" cb="0"/><line nr="27" mi="3" ci="0" mb="0" cb="0"/><line nr="31" mi="5" ci="0" mb="2" cb="0"/><line nr="33" mi="4" ci="0" mb="2" cb="0"/><line nr="34" mi="4" ci="0" mb="17" cb="0"/><line nr="36" mi="2" ci="0" mb="0" cb="0"/><line nr="38" mi="1" ci="0" mb="0" cb="0"/><line nr="39" mi="3" ci="0" mb="0" cb="0"/><line nr="40" mi="1" ci="0" mb="0" cb="0"/><line nr="43" mi="4" ci="0" mb="0" cb="0"/><line nr="44" mi="1" ci="0" mb="0" cb="0"/><line nr="45" mi="3" ci="0" mb="0" cb="0"/><line nr="46" mi="1" ci="0" mb="0" cb="0"/><line nr="49" mi="3" ci="0" mb="0" cb="0"/><line nr="50" mi="4" ci="0" mb="0" cb="0"/><line nr="52" mi="3" ci="0" mb="0" cb="0"/><line nr="54" mi="4" ci="0" mb="0" cb="0"/><line nr="55" mi="3" ci="0" mb="0" cb="0"/><line nr="56" mi="1" ci="0" mb="0" cb="0"/><line nr="57" mi="3" ci="0" mb="0" cb="0"/><line nr="58" mi="5" ci="0" mb="0" cb="0"/><line nr="59" mi="1" ci="0" mb="0" cb="0"/><line nr="60" mi="1" ci="0" mb="0" cb="0"/><line nr="61" mi="3" ci="0" mb="0" cb="0"/><line nr="62" mi="1" ci="0" mb="0" cb="0"/><line nr="65" mi="3" ci="0" mb="0" cb="0"/><line nr="66" mi="4" ci="0" mb="0" cb="0"/><line nr="68" mi="3" ci="0" mb="0" cb="0"/><line nr="70" mi="4" ci="0" mb="0" cb="0"/><line nr="71" mi="5" ci="0" mb="0" cb="0"/><line nr="72" mi="3" ci="0" mb="0" cb="0"/><line nr="73" mi="4" ci="0" mb="0" cb="0"/><line nr="74" mi="1" ci="0" mb="0" cb="0"/><line nr="75" mi="3" ci="0" mb="0" cb="0"/><line nr="76" mi="5" ci="0" mb="0" cb="0"/><line nr="77" mi="1" ci="0" mb="0" cb="0"/><line nr="78" mi="1" ci="0" mb="0" cb="0"/><line nr="79" mi="3" ci="0" mb="0" cb="0"/><line nr="80" mi="1" ci="0" mb="0" cb="0"/><line nr="83" mi="4" ci="0" mb="0" cb="0"/><line nr="84" mi="1" ci="0" mb="0" cb="0"/><line nr="85" mi="3" ci="0" mb="0" cb="0"/><line nr="86" mi="1" ci="0" mb="0" cb="0"/><line nr="89" mi="3" ci="0" mb="0" cb="0"/><line nr="90" mi="3" ci="0" mb="0" cb="0"/><line nr="91" mi="3" ci="0" mb="0" cb="0"/><line nr="92" mi="3" ci="0" mb="0" cb="0"/><line nr="93" mi="3" ci="0" mb="0" cb="0"/><line nr="94" mi="3" ci="0" mb="0" cb="0"/><line nr="95" mi="3" ci="0" mb="0" cb="0"/><line nr="99" mi="3" ci="0" mb="0" cb="0"/><line nr="100" mi="4" ci="0" mb="0" cb="0"/><line nr="101" mi="1" ci="0" mb="0" cb="0"/><line nr="102" mi="2" ci="0" mb="0" cb="0"/><line nr="103" mi="3" ci="0" mb="0" cb="0"/><line nr="104" mi="3" ci="0" mb="0" cb="0"/><line nr="105" mi="3" ci="0" mb="0" cb="0"/><line nr="106" mi="3" ci="0" mb="0" cb="0"/><line nr="107" mi="1" ci="0" mb="0" cb="0"/><line nr="108" mi="1" ci="0" mb="0" cb="0"/><line nr="110" mi="3" ci="0" mb="0" cb="0"/><line nr="111" mi="3" ci="0" mb="0" cb="0"/><line nr="112" mi="3" ci="0" mb="2" cb="0"/><line nr="113" mi="2" ci="0" mb="0" cb="0"/><line nr="114" mi="3" ci="0" mb="0" cb="0"/><line nr="115" mi="3" ci="0" mb="0" cb="0"/><line nr="116" mi="3" ci="0" mb="0" cb="0"/><line nr="117" mi="3" ci="0" mb="0" cb="0"/><line nr="118" mi="1" ci="0" mb="0" cb="0"/><line nr="121" mi="9" ci="0" mb="0" cb="0"/><line nr="122" mi="3" ci="0" mb="0" cb="0"/><line nr="123" mi="3" ci="0" mb="0" cb="0"/><line nr="124" mi="3" ci="0" mb="0" cb="0"/><line nr="125" mi="10" ci="0" mb="2" cb="0"/><line nr="126" mi="3" ci="0" mb="0" cb="0"/><line nr="127" mi="3" ci="0" mb="0" cb="0"/><line nr="128" mi="1" ci="0" mb="0" cb="0"/><line nr="129" mi="3" ci="0" mb="0" cb="0"/><line nr="130" mi="1" ci="0" mb="0" cb="0"/><line nr="133" mi="3" ci="0" mb="0" cb="0"/><line nr="134" mi="3" ci="0" mb="0" cb="0"/><line nr="135" mi="3" ci="0" mb="0" cb="0"/><line nr="136" mi="3" ci="0" mb="0" cb="0"/><line nr="137" mi="3" ci="0" mb="0" cb="0"/><line nr="138" mi="3" ci="0" mb="0" cb="0"/><line nr="139" mi="4" ci="0" mb="0" cb="0"/><line nr="140" mi="3" ci="0" mb="0" cb="0"/><line nr="141" mi="3" ci="0" mb="0" cb="0"/><line nr="142" mi="8" ci="0" mb="0" cb="0"/><line nr="143" mi="3" ci="0" mb="0" cb="0"/><line nr="144" mi="3" ci="0" mb="0" cb="0"/><line nr="145" mi="3" ci="0" mb="0" cb="0"/><line nr="146" mi="10" ci="0" mb="2" cb="0"/><line nr="147" mi="3" ci="0" mb="0" cb="0"/><line nr="148" mi="3" ci="0" mb="0" cb="0"/><line nr="149" mi="1" ci="0" mb="0" cb="0"/><line nr="150" mi="3" ci="0" mb="0" cb="0"/><line nr="151" mi="1" ci="0" mb="0" cb="0"/><line nr="154" mi="3" ci="0" mb="0" cb="0"/><line nr="155" mi="3" ci="0" mb="0" cb="0"/><line nr="156" mi="3" ci="0" mb="0" cb="0"/><line nr="157" mi="3" ci="0" mb="2" cb="0"/><line nr="158" mi="4" ci="0" mb="0" cb="0"/><line nr="159" mi="7" ci="0" mb="2" cb="0"/><line nr="160" mi="1" ci="0" mb="0" cb="0"/><line nr="161" mi="3" ci="0" mb="0" cb="0"/><line nr="163" mi="3" ci="0" mb="0" cb="0"/><line nr="164" mi="3" ci="0" mb="0" cb="0"/><line nr="165" mi="3" ci="0" mb="2" cb="0"/><line nr="166" mi="4" ci="0" mb="0" cb="0"/><line nr="167" mi="4" ci="0" mb="0" cb="0"/><line nr="168" mi="1" ci="0" mb="0" cb="0"/><line nr="169" mi="3" ci="0" mb="0" cb="0"/><line nr="171" mi="4" ci="0" mb="0" cb="0"/><line nr="172" mi="1" ci="0" mb="0" cb="0"/><line nr="173" mi="4" ci="0" mb="0" cb="0"/><line nr="174" mi="1" ci="0" mb="0" cb="0"/><line nr="175" mi="3" ci="0" mb="0" cb="0"/><line nr="176" mi="3" ci="0" mb="0" cb="0"/><line nr="177" mi="1" ci="0" mb="0" cb="0"/><line nr="178" mi="3" ci="0" mb="0" cb="0"/><line nr="179" mi="1" ci="0" mb="0" cb="0"/><line nr="182" mi="3" ci="0" mb="0" cb="0"/><line nr="183" mi="3" ci="0" mb="0" cb="0"/><line nr="184" mi="3" ci="0" mb="0" cb="0"/><line nr="185" mi="3" ci="0" mb="0" cb="0"/><line nr="186" mi="3" ci="0" mb="0" cb="0"/><line nr="187" mi="3" ci="0" mb="0" cb="0"/><line nr="188" mi="3" ci="0" mb="0" cb="0"/><line nr="189" mi="3" ci="0" mb="0" cb="0"/><line nr="190" mi="4" ci="0" mb="0" cb="0"/><line nr="191" mi="3" ci="0" mb="0" cb="0"/><line nr="192" mi="3" ci="0" mb="0" cb="0"/><line nr="193" mi="3" ci="0" mb="0" cb="0"/><line nr="194" mi="3" ci="0" mb="0" cb="0"/><line nr="195" mi="10" ci="0" mb="0" cb="0"/><line nr="196" mi="3" ci="0" mb="0" cb="0"/><line nr="197" mi="3" ci="0" mb="0" cb="0"/><line nr="198" mi="3" ci="0" mb="0" cb="0"/><line nr="199" mi="3" ci="0" mb="0" cb="0"/><line nr="200" mi="10" ci="0" mb="2" cb="0"/><line nr="201" mi="1" ci="0" mb="0" cb="0"/><line nr="202" mi="3" ci="0" mb="0" cb="0"/><line nr="203" mi="1" ci="0" mb="0" cb="0"/><line nr="206" mi="3" ci="0" mb="0" cb="0"/><line nr="207" mi="3" ci="0" mb="0" cb="0"/><line nr="208" mi="3" ci="0" mb="0" cb="0"/><line nr="209" mi="3" ci="0" mb="2" cb="0"/><line nr="210" mi="4" ci="0" mb="0" cb="0"/><line nr="211" mi="4" ci="0" mb="0" cb="0"/><line nr="212" mi="1" ci="0" mb="0" cb="0"/><line nr="213" mi="3" ci="0" mb="0" cb="0"/><line nr="214" mi="3" ci="0" mb="0" cb="0"/><line nr="215" mi="5" ci="0" mb="0" cb="0"/><line nr="216" mi="3" ci="0" mb="0" cb="0"/><line nr="217" mi="3" ci="0" mb="0" cb="0"/><line nr="219" mi="3" ci="0" mb="0" cb="0"/><line nr="220" mi="3" ci="0" mb="2" cb="0"/><line nr="221" mi="4" ci="0" mb="0" cb="0"/><line nr="222" mi="4" ci="0" mb="0" cb="0"/><line nr="223" mi="1" ci="0" mb="0" cb="0"/><line nr="224" mi="5" ci="0" mb="2" cb="0"/><line nr="225" mi="3" ci="0" mb="0" cb="0"/><line nr="226" mi="3" ci="0" mb="0" cb="0"/><line nr="228" mi="4" ci="0" mb="0" cb="0"/><line nr="229" mi="1" ci="0" mb="0" cb="0"/><line nr="230" mi="4" ci="0" mb="0" cb="0"/><line nr="231" mi="1" ci="0" mb="0" cb="0"/><line nr="233" mi="3" ci="0" mb="0" cb="0"/><line nr="234" mi="3" ci="0" mb="0" cb="0"/><line nr="235" mi="1" ci="0" mb="0" cb="0"/><line nr="236" mi="3" ci="0" mb="0" cb="0"/><line nr="237" mi="3" ci="0" mb="0" cb="0"/><line nr="238" mi="1" ci="0" mb="0" cb="0"/><line nr="239" mi="3" ci="0" mb="0" cb="0"/><line nr="240" mi="1" ci="0" mb="0" cb="0"/><line nr="243" mi="3" ci="0" mb="0" cb="0"/><line nr="244" mi="3" ci="0" mb="0" cb="0"/><line nr="245" mi="3" ci="0" mb="2" cb="0"/><line nr="246" mi="4" ci="0" mb="0" cb="0"/><line nr="247" mi="4" ci="0" mb="0" cb="0"/><line nr="248" mi="1" ci="0" mb="0" cb="0"/><line nr="249" mi="3" ci="0" mb="0" cb="0"/><line nr="251" mi="3" ci="0" mb="0" cb="0"/><line nr="252" mi="1" ci="0" mb="0" cb="0"/><line nr="253" mi="4" ci="0" mb="0" cb="0"/><line nr="254" mi="1" ci="0" mb="0" cb="0"/><line nr="255" mi="3" ci="0" mb="0" cb="0"/><line nr="256" mi="3" ci="0" mb="0" cb="0"/><line nr="257" mi="1" ci="0" mb="0" cb="0"/><line nr="258" mi="3" ci="0" mb="0" cb="0"/><line nr="259" mi="1" ci="0" mb="0" cb="0"/><line nr="262" mi="2" ci="0" mb="0" cb="0"/><line nr="263" mi="2" ci="0" mb="0" cb="0"/><line nr="264" mi="2" ci="0" mb="0" cb="0"/><line nr="265" mi="3" ci="0" mb="0" cb="0"/><line nr="266" mi="3" ci="0" mb="0" cb="0"/><line nr="267" mi="1" ci="0" mb="0" cb="0"/><line nr="268" mi="3" ci="0" mb="0" cb="0"/><line nr="269" mi="1" ci="0" mb="0" cb="0"/><line nr="273" mi="2" ci="0" mb="0" cb="0"/><line nr="275" mi="1" ci="0" mb="0" cb="0"/><line nr="276" mi="4" ci="0" mb="0" cb="0"/><line nr="278" mi="1" ci="0" mb="0" cb="0"/><line nr="279" mi="3" ci="0" mb="0" cb="0"/><line nr="280" mi="5" ci="0" mb="0" cb="0"/><line nr="281" mi="2" ci="0" mb="0" cb="0"/><line nr="282" mi="1" ci="0" mb="0" cb="0"/><line nr="283" mi="3" ci="0" mb="0" cb="0"/><line nr="284" mi="1" ci="0" mb="0" cb="0"/><line nr="287" mi="1" ci="0" mb="0" cb="0"/><line nr="288" mi="3" ci="0" mb="0" cb="0"/><line nr="289" mi="3" ci="0" mb="0" cb="0"/><line nr="290" mi="1" ci="0" mb="0" cb="0"/><line nr="293" mi="3" ci="0" mb="0" cb="0"/><line nr="294" mi="4" ci="0" mb="0" cb="0"/><line nr="296" mi="3" ci="0" mb="0" cb="0"/><line nr="298" mi="4" ci="0" mb="0" cb="0"/><line nr="299" mi="5" ci="0" mb="0" cb="0"/><line nr="300" mi="3" ci="0" mb="0" cb="0"/><line nr="301" mi="4" ci="0" mb="0" cb="0"/><line nr="302" mi="1" ci="0" mb="0" cb="0"/><line nr="303" mi="3" ci="0" mb="0" cb="0"/><line nr="304" mi="5" ci="0" mb="0" cb="0"/><line nr="305" mi="1" ci="0" mb="0" cb="0"/><line nr="306" mi="1" ci="0" mb="0" cb="0"/><line nr="307" mi="3" ci="0" mb="0" cb="0"/><line nr="308" mi="1" ci="0" mb="0" cb="0"/><line nr="311" mi="1" ci="0" mb="0" cb="0"/><line nr="314" mi="2" ci="0" mb="0" cb="0"/><line nr="315" mi="1" ci="0" mb="0" cb="0"/><line nr="318" mi="3" ci="0" mb="0" cb="0"/><line nr="319" mi="3" ci="0" mb="0" cb="0"/><line nr="320" mi="3" ci="0" mb="0" cb="0"/><line nr="321" mi="3" ci="0" mb="0" cb="0"/><line nr="322" mi="3" ci="0" mb="0" cb="0"/><line nr="323" mi="3" ci="0" mb="0" cb="0"/><line nr="324" mi="3" ci="0" mb="0" cb="0"/><line nr="325" mi="3" ci="0" mb="0" cb="0"/><line nr="326" mi="3" ci="0" mb="0" cb="0"/><line nr="327" mi="3" ci="0" mb="0" cb="0"/><line nr="328" mi="3" ci="0" mb="0" cb="0"/><line nr="329" mi="3" ci="0" mb="0" cb="0"/><line nr="330" mi="3" ci="0" mb="0" cb="0"/><line nr="331" mi="3" ci="0" mb="0" cb="0"/><line nr="332" mi="3" ci="0" mb="0" cb="0"/><line nr="333" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="722" covered="0"/><counter type="BRANCH" missed="43" covered="0"/><counter type="LINE" missed="251" covered="0"/><counter type="COMPLEXITY" missed="32" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><counter type="INSTRUCTION" missed="722" covered="0"/><counter type="BRANCH" missed="43" covered="0"/><counter type="LINE" missed="251" covered="0"/><counter type="COMPLEXITY" missed="32" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></package><counter type="INSTRUCTION" missed="2376" covered="802"/><counter type="BRANCH" missed="223" covered="23"/><counter type="LINE" missed="672" covered="182"/><counter type="COMPLEXITY" missed="187" covered="49"/><counter type="METHOD" missed="59" covered="40"/><counter type="CLASS" missed="10" covered="10"/></report>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.business/AudioElement.html b/target/site/jacoco/musichub.business/AudioElement.html
          index 18f7368..6498736 100644
          --- a/target/site/jacoco/musichub.business/AudioElement.html
          +++ b/target/site/jacoco/musichub.business/AudioElement.html
          @@ -1 +1 @@
          -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>AudioElement</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.html" class="el_package">musichub.business</a> &gt; <span class="el_class">AudioElement</span></div><h1>AudioElement</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">85 of 266</td><td class="ctr2">68 %</td><td class="bar">9 of 11</td><td class="ctr2">18 %</td><td class="ctr1">11</td><td class="ctr2">16</td><td class="ctr1">30</td><td class="ctr2">72</td><td class="ctr1">4</td><td class="ctr2">9</td></tr></tfoot><tbody><tr><td id="a7"><a href="AudioElement.java.html#L99" class="el_method">manageAudioElement()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="103" height="10" title="68" alt="68"/></td><td class="ctr2" id="c5">0 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="7" alt="7"/></td><td class="ctr2" id="e1">0 %</td><td class="ctr1" id="f0">6</td><td class="ctr2" id="g0">6</td><td class="ctr1" id="h0">24</td><td class="ctr2" id="i0">24</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="AudioElement.java.html#L40" class="el_method">AudioElement(Element)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="12" height="10" title="8" alt="8"/><img src="../jacoco-resources/greenbar.gif" width="83" height="10" title="55" alt="55"/></td><td class="ctr2" id="c4">87 %</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="34" height="10" title="2" alt="2"/><img src="../jacoco-resources/greenbar.gif" width="34" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">50 %</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h1">3</td><td class="ctr2" id="i2">14</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a6"><a href="AudioElement.java.html#L59" class="el_method">getUUID()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="3" alt="3"/></td><td class="ctr2" id="c6">0 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a4"><a href="AudioElement.java.html#L63" class="el_method">getArtist()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="3" alt="3"/></td><td class="ctr2" id="c7">0 %</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i6">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a5"><a href="AudioElement.java.html#L67" class="el_method">getTitle()</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="3" alt="3"/></td><td class="ctr2" id="c8">0 %</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">1</td><td class="ctr2" id="i7">1</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a3"><a href="AudioElement.java.html#L75" class="el_method">createXMLElement(Document, Element)</a></td><td class="bar" id="b5"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="79" alt="79"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i1">16</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a2"><a href="AudioElement.java.html#L24" class="el_method">AudioElement(String, String, int, String, String)</a></td><td class="bar" id="b6"><img src="../jacoco-resources/greenbar.gif" width="28" height="10" title="19" alt="19"/></td><td class="ctr2" id="c1">100 %</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i3">7</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a1"><a href="AudioElement.java.html#L32" class="el_method">AudioElement(String, String, int, String)</a></td><td class="bar" id="b7"><img src="../jacoco-resources/greenbar.gif" width="27" height="10" title="18" alt="18"/></td><td class="ctr2" id="c2">100 %</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i4">7</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a8"><a href="AudioElement.java.html#L71" class="el_method">toString()</a></td><td class="bar" id="b8"><img src="../jacoco-resources/greenbar.gif" width="15" height="10" title="10" alt="10"/></td><td class="ctr2" id="c3">100 %</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i8">1</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>AudioElement</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.html" class="el_package">musichub.business</a> &gt; <span class="el_class">AudioElement</span></div><h1>AudioElement</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">91 of 272</td><td class="ctr2">66 %</td><td class="bar">8 of 10</td><td class="ctr2">20 %</td><td class="ctr1">10</td><td class="ctr2">15</td><td class="ctr1">31</td><td class="ctr2">73</td><td class="ctr1">4</td><td class="ctr2">9</td></tr></tfoot><tbody><tr><td id="a7"><a href="AudioElement.java.html#L95" class="el_method">manageAudioElement()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="112" height="10" title="74" alt="74"/></td><td class="ctr2" id="c5">0 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e1">0 %</td><td class="ctr1" id="f0">5</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h0">25</td><td class="ctr2" id="i0">25</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="AudioElement.java.html#L36" class="el_method">AudioElement(Element)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="12" height="10" title="8" alt="8"/><img src="../jacoco-resources/greenbar.gif" width="83" height="10" title="55" alt="55"/></td><td class="ctr2" id="c4">87 %</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="2" alt="2"/><img src="../jacoco-resources/greenbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">50 %</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h1">3</td><td class="ctr2" id="i2">14</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a6"><a href="AudioElement.java.html#L55" class="el_method">getUUID()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="3" alt="3"/></td><td class="ctr2" id="c6">0 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a4"><a href="AudioElement.java.html#L59" class="el_method">getArtist()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="3" alt="3"/></td><td class="ctr2" id="c7">0 %</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i6">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a5"><a href="AudioElement.java.html#L63" class="el_method">getTitle()</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="3" alt="3"/></td><td class="ctr2" id="c8">0 %</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">1</td><td class="ctr2" id="i7">1</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a3"><a href="AudioElement.java.html#L71" class="el_method">createXMLElement(Document, Element)</a></td><td class="bar" id="b5"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="79" alt="79"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i1">16</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a2"><a href="AudioElement.java.html#L20" class="el_method">AudioElement(String, String, int, String, String)</a></td><td class="bar" id="b6"><img src="../jacoco-resources/greenbar.gif" width="28" height="10" title="19" alt="19"/></td><td class="ctr2" id="c1">100 %</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i3">7</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a1"><a href="AudioElement.java.html#L28" class="el_method">AudioElement(String, String, int, String)</a></td><td class="bar" id="b7"><img src="../jacoco-resources/greenbar.gif" width="27" height="10" title="18" alt="18"/></td><td class="ctr2" id="c2">100 %</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i4">7</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a8"><a href="AudioElement.java.html#L67" class="el_method">toString()</a></td><td class="bar" id="b8"><img src="../jacoco-resources/greenbar.gif" width="15" height="10" title="10" alt="10"/></td><td class="ctr2" id="c3">100 %</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i8">1</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.business/AudioElement.java.html b/target/site/jacoco/musichub.business/AudioElement.java.html
          index 7863e1a..34bbc3b 100644
          --- a/target/site/jacoco/musichub.business/AudioElement.java.html
          +++ b/target/site/jacoco/musichub.business/AudioElement.java.html
          @@ -1,19 +1,15 @@
           <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>AudioElement.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.source.html" class="el_package">musichub.business</a> &gt; <span class="el_source">AudioElement.java</span></div><h1>AudioElement.java</h1><pre class="source lang-java linenums">package musichub.business;
           
          +import musichub.util.LogHandler;
           import org.w3c.dom.Document;
           import org.w3c.dom.Element;
           
          +import javax.sound.sampled.*;
           import java.io.File;
           import java.io.IOException;
           import java.util.Scanner;
           import java.util.UUID;
           
          -import javax.sound.sampled.AudioInputStream;
          -import javax.sound.sampled.AudioSystem;
          -import javax.sound.sampled.Clip;
          -import javax.sound.sampled.LineUnavailableException;
          -import javax.sound.sampled.UnsupportedAudioFileException;
          -
           public abstract class AudioElement {
               protected String title;
               protected String artist;
          @@ -21,109 +17,113 @@ public abstract class AudioElement {
               protected UUID uuid;
               protected String content;
           
          -<span class="fc" id="L24">    public AudioElement(String title, String artist, int lengthInSeconds, String id, String content) {</span>
          -<span class="fc" id="L25">        this.title = title;</span>
          -<span class="fc" id="L26">        this.artist = artist;</span>
          -<span class="fc" id="L27">        this.lengthInSeconds = lengthInSeconds;</span>
          -<span class="fc" id="L28">        this.uuid = UUID.fromString(id);</span>
          -<span class="fc" id="L29">        this.content = content;</span>
          -<span class="fc" id="L30">    }</span>
          -
          -<span class="fc" id="L32">    public AudioElement(String title, String artist, int lengthInSeconds, String content) {</span>
          -<span class="fc" id="L33">        this.title = title;</span>
          -<span class="fc" id="L34">        this.artist = artist;</span>
          -<span class="fc" id="L35">        this.lengthInSeconds = lengthInSeconds;</span>
          -<span class="fc" id="L36">        this.content = content;</span>
          -<span class="fc" id="L37">        this.uuid = UUID.randomUUID();</span>
          -<span class="fc" id="L38">    }</span>
          -
          -<span class="fc" id="L40">    public AudioElement(Element xmlElement) {</span>
          +<span class="fc" id="L20">    public AudioElement(String title, String artist, int lengthInSeconds, String id, String content) {</span>
          +<span class="fc" id="L21">        this.title = title;</span>
          +<span class="fc" id="L22">        this.artist = artist;</span>
          +<span class="fc" id="L23">        this.lengthInSeconds = lengthInSeconds;</span>
          +<span class="fc" id="L24">        this.uuid = UUID.fromString(id);</span>
          +<span class="fc" id="L25">        this.content = content;</span>
          +<span class="fc" id="L26">    }</span>
          +
          +<span class="fc" id="L28">    public AudioElement(String title, String artist, int lengthInSeconds, String content) {</span>
          +<span class="fc" id="L29">        this.title = title;</span>
          +<span class="fc" id="L30">        this.artist = artist;</span>
          +<span class="fc" id="L31">        this.lengthInSeconds = lengthInSeconds;</span>
          +<span class="fc" id="L32">        this.content = content;</span>
          +<span class="fc" id="L33">        this.uuid = UUID.randomUUID();</span>
          +<span class="fc" id="L34">    }</span>
          +
          +<span class="fc" id="L36">    public AudioElement(Element xmlElement) {</span>
                   {
          -<span class="fc" id="L42">            title = xmlElement.getElementsByTagName(&quot;title&quot;).item(0).getTextContent();</span>
          -<span class="fc" id="L43">            artist = xmlElement.getElementsByTagName(&quot;artist&quot;).item(0).getTextContent();</span>
          -<span class="fc" id="L44">            lengthInSeconds = Integer.parseInt(xmlElement.getElementsByTagName(&quot;length&quot;).item(0).getTextContent());</span>
          -<span class="fc" id="L45">            content = xmlElement.getElementsByTagName(&quot;content&quot;).item(0).getTextContent();</span>
          -<span class="fc" id="L46">            String uuid = null;</span>
          +<span class="fc" id="L38">            title = xmlElement.getElementsByTagName(&quot;title&quot;).item(0).getTextContent();</span>
          +<span class="fc" id="L39">            artist = xmlElement.getElementsByTagName(&quot;artist&quot;).item(0).getTextContent();</span>
          +<span class="fc" id="L40">            lengthInSeconds = Integer.parseInt(xmlElement.getElementsByTagName(&quot;length&quot;).item(0).getTextContent());</span>
          +<span class="fc" id="L41">            content = xmlElement.getElementsByTagName(&quot;content&quot;).item(0).getTextContent();</span>
          +<span class="fc" id="L42">            String uuid = null;</span>
                       try {
          -<span class="fc" id="L48">                uuid = xmlElement.getElementsByTagName(&quot;UUID&quot;).item(0).getTextContent();</span>
          -<span class="nc" id="L49">            } catch (Exception ex) {</span>
          -<span class="nc" id="L50">                System.out.println(&quot;Empty element UUID, will create a new one&quot;);</span>
          -<span class="fc" id="L51">            }</span>
          -<span class="pc bpc" id="L52" title="2 of 4 branches missed.">            if ((uuid == null) || (uuid.isEmpty()))</span>
          -<span class="nc" id="L53">                this.uuid = UUID.randomUUID();</span>
          -<span class="fc" id="L54">            else this.uuid = UUID.fromString(uuid);</span>
          +<span class="fc" id="L44">                uuid = xmlElement.getElementsByTagName(&quot;UUID&quot;).item(0).getTextContent();</span>
          +<span class="nc" id="L45">            } catch (Exception ex) {</span>
          +<span class="nc" id="L46">                System.out.println(&quot;Empty element UUID, will create a new one&quot;);</span>
          +<span class="fc" id="L47">            }</span>
          +<span class="pc bpc" id="L48" title="2 of 4 branches missed.">            if ((uuid == null) || (uuid.isEmpty()))</span>
          +<span class="nc" id="L49">                this.uuid = UUID.randomUUID();</span>
          +<span class="fc" id="L50">            else this.uuid = UUID.fromString(uuid);</span>
                   }
          -<span class="fc" id="L56">    }</span>
          +<span class="fc" id="L52">    }</span>
           
               public UUID getUUID() {
          -<span class="nc" id="L59">        return this.uuid;</span>
          +<span class="nc" id="L55">        return this.uuid;</span>
               }
           
               public String getArtist() {
          -<span class="nc" id="L63">        return this.artist;</span>
          +<span class="nc" id="L59">        return this.artist;</span>
               }
           
               public String getTitle() {
          -<span class="nc" id="L67">        return this.title;</span>
          +<span class="nc" id="L63">        return this.title;</span>
               }
           
               public String toString() {
          -<span class="fc" id="L71">        return &quot;Title = &quot; + this.title + &quot;, Artist = &quot; + this.artist + &quot;, Length = &quot; + this.lengthInSeconds + &quot;, Content = &quot; + this.content;</span>
          +<span class="fc" id="L67">        return &quot;Title = &quot; + this.title + &quot;, Artist = &quot; + this.artist + &quot;, Length = &quot; + this.lengthInSeconds + &quot;, Content = &quot; + this.content;</span>
               }
           
               public void createXMLElement(Document document, Element parentElement) {
          -<span class="fc" id="L75">        Element nameElement = document.createElement(&quot;title&quot;);</span>
          -<span class="fc" id="L76">        nameElement.appendChild(document.createTextNode(title));</span>
          -<span class="fc" id="L77">        parentElement.appendChild(nameElement);</span>
          +<span class="fc" id="L71">        Element nameElement = document.createElement(&quot;title&quot;);</span>
          +<span class="fc" id="L72">        nameElement.appendChild(document.createTextNode(title));</span>
          +<span class="fc" id="L73">        parentElement.appendChild(nameElement);</span>
           
          -<span class="fc" id="L79">        Element artistElement = document.createElement(&quot;artist&quot;);</span>
          -<span class="fc" id="L80">        artistElement.appendChild(document.createTextNode(artist));</span>
          -<span class="fc" id="L81">        parentElement.appendChild(artistElement);</span>
          +<span class="fc" id="L75">        Element artistElement = document.createElement(&quot;artist&quot;);</span>
          +<span class="fc" id="L76">        artistElement.appendChild(document.createTextNode(artist));</span>
          +<span class="fc" id="L77">        parentElement.appendChild(artistElement);</span>
           
          -<span class="fc" id="L83">        Element lengthElement = document.createElement(&quot;length&quot;);</span>
          -<span class="fc" id="L84">        lengthElement.appendChild(document.createTextNode(Integer.valueOf(lengthInSeconds).toString()));</span>
          -<span class="fc" id="L85">        parentElement.appendChild(lengthElement);</span>
          +<span class="fc" id="L79">        Element lengthElement = document.createElement(&quot;length&quot;);</span>
          +<span class="fc" id="L80">        lengthElement.appendChild(document.createTextNode(Integer.valueOf(lengthInSeconds).toString()));</span>
          +<span class="fc" id="L81">        parentElement.appendChild(lengthElement);</span>
           
          -<span class="fc" id="L87">        Element UUIDElement = document.createElement(&quot;UUID&quot;);</span>
          -<span class="fc" id="L88">        UUIDElement.appendChild(document.createTextNode(uuid.toString()));</span>
          -<span class="fc" id="L89">        parentElement.appendChild(UUIDElement);</span>
          +<span class="fc" id="L83">        Element UUIDElement = document.createElement(&quot;UUID&quot;);</span>
          +<span class="fc" id="L84">        UUIDElement.appendChild(document.createTextNode(uuid.toString()));</span>
          +<span class="fc" id="L85">        parentElement.appendChild(UUIDElement);</span>
           
          -<span class="fc" id="L91">        Element contentElement = document.createElement(&quot;content&quot;);</span>
          -<span class="fc" id="L92">        contentElement.appendChild(document.createTextNode(content));</span>
          -<span class="fc" id="L93">        parentElement.appendChild(contentElement);</span>
          +<span class="fc" id="L87">        Element contentElement = document.createElement(&quot;content&quot;);</span>
          +<span class="fc" id="L88">        contentElement.appendChild(document.createTextNode(content));</span>
          +<span class="fc" id="L89">        parentElement.appendChild(contentElement);</span>
           
          -<span class="fc" id="L95">    }</span>
          +<span class="fc" id="L91">    }</span>
               
               public void manageAudioElement() throws UnsupportedAudioFileException, IOException, LineUnavailableException {
               	
          -<span class="nc" id="L99">    	Scanner scanner = new Scanner(System.in); </span>
          +<span class="nc" id="L95">    	Scanner scanner = new Scanner(System.in); </span>
               	
          -<span class="nc" id="L101">    	File file = new File(this.content);</span>
          -<span class="nc" id="L102">    	AudioInputStream audioStream = AudioSystem.getAudioInputStream(file);</span>
          -<span class="nc" id="L103">    	Clip clip = AudioSystem.getClip();</span>
          -<span class="nc" id="L104">    	clip.open(audioStream);</span>
          +<span class="nc" id="L97">    	File file = new File(this.content);</span>
          +<span class="nc" id="L98">    	AudioInputStream audioStream = AudioSystem.getAudioInputStream(file);</span>
          +<span class="nc" id="L99">    	Clip clip = AudioSystem.getClip();</span>
          +<span class="nc" id="L100">    	clip.open(audioStream);</span>
               	
          -<span class="nc" id="L106">    	String action = &quot;&quot;;</span>
          +<span class="nc" id="L102">    	String action = &quot;&quot;;</span>
               			
          -<span class="nc bnc" id="L108" title="All 2 branches missed.">    	while(!action.equals(&quot;Q&quot;)) {</span>
          -<span class="nc" id="L109">    		System.out.println(&quot;P = Play \b S = Stop \b R = Reset \b Q = Quit&quot;);</span>
          -<span class="nc" id="L110">    		System.out.println(&quot;Enter your choice&quot;);</span>
          -<span class="nc" id="L111">    		action = scanner.next();</span>
          -<span class="nc" id="L112">        	action = action.toUpperCase();</span>
          -        	
          -<span class="nc bnc" id="L114" title="All 5 branches missed.">        	switch(action) {</span>
          -<span class="nc" id="L115">        		case &quot;S&quot; : clip.stop();</span>
          -<span class="nc" id="L116">        		break;</span>
          -<span class="nc" id="L117">        		case &quot;P&quot; : clip.start();</span>
          -<span class="nc" id="L118">        		break;</span>
          -<span class="nc" id="L119">        		case &quot;R&quot; : clip.setMicrosecondPosition(0);</span>
          -<span class="nc" id="L120">        		break;</span>
          -<span class="nc" id="L121">        		case &quot;Q&quot; : clip.stop();</span>
          -<span class="nc" id="L122">        		break;</span>
          -<span class="nc" id="L123">        		default : System.out.println(&quot;try again&quot;);</span>
          -        	}
          -<span class="nc" id="L125">        	System.out.println(&quot;You stoped the Audio element&quot;);</span>
          -    	}
          +<span class="nc bnc" id="L104" title="All 2 branches missed.">    	while(!action.equals(&quot;Q&quot;)) {</span>
          +<span class="nc" id="L105">            System.out.println(&quot;P = Play \b S = Stop \b R = Reset \b Q = Quit&quot;);</span>
          +<span class="nc" id="L106">            System.out.println(&quot;Enter your choice&quot;);</span>
          +<span class="nc" id="L107">            action = scanner.next();</span>
          +<span class="nc" id="L108">            action = action.toUpperCase();</span>
          +
          +<span class="nc bnc" id="L110" title="All 4 branches missed.">            switch (action) {</span>
          +<span class="nc" id="L111">                case &quot;S&quot;, &quot;Q&quot; -&gt; {</span>
          +<span class="nc" id="L112">                    clip.stop();</span>
          +<span class="nc" id="L113">                    LogHandler.write(&quot;Music stopped&quot;, &quot;INFO&quot;);</span>
          +                }
          +<span class="nc" id="L115">                case &quot;P&quot; -&gt; {</span>
          +<span class="nc" id="L116">                    clip.start();</span>
          +<span class="nc" id="L117">                    LogHandler.write(&quot;Music started&quot;, &quot;INFO&quot;);</span>
          +                }
          +<span class="nc" id="L119">                case &quot;R&quot; -&gt; {</span>
          +<span class="nc" id="L120">                    clip.setMicrosecondPosition(0);</span>
          +<span class="nc" id="L121">                    LogHandler.write(&quot;Music reseted&quot;, &quot;INFO&quot;);</span>
          +                }
          +<span class="nc" id="L123">                default -&gt; System.out.println(&quot;try again&quot;);</span>
          +            }
          +<span class="nc" id="L125">            System.out.println(&quot;You stopped the Audio element&quot;);</span>
          +        }
               	
           <span class="nc" id="L128">    	clip.close();</span>
               
          diff --git a/target/site/jacoco/musichub.business/MusicHub.html b/target/site/jacoco/musichub.business/MusicHub.html
          index 4ed5db0..43c8490 100644
          --- a/target/site/jacoco/musichub.business/MusicHub.html
          +++ b/target/site/jacoco/musichub.business/MusicHub.html
          @@ -1 +1 @@
          -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>MusicHub</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.html" class="el_package">musichub.business</a> &gt; <span class="el_class">MusicHub</span></div><h1>MusicHub</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">874 of 874</td><td class="ctr2">0 %</td><td class="bar">124 of 124</td><td class="ctr2">0 %</td><td class="ctr1">85</td><td class="ctr2">85</td><td class="ctr1">209</td><td class="ctr2">209</td><td class="ctr1">23</td><td class="ctr2">23</td></tr></tfoot><tbody><tr><td id="a2"><a href="MusicHub.java.html#L158" class="el_method">addElementToAlbum(String, String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="82" alt="82"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="102" height="10" title="12" alt="12"/></td><td class="ctr2" id="e0">0 %</td><td class="ctr1" id="f2">7</td><td class="ctr2" id="g2">7</td><td class="ctr1" id="h0">20</td><td class="ctr2" id="i0">20</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="MusicHub.java.html#L187" class="el_method">addElementToPlayList(String, String)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="82" alt="82"/></td><td class="ctr2" id="c1">0 %</td><td class="bar" id="d3"><img src="../jacoco-resources/redbar.gif" width="102" height="10" title="12" alt="12"/></td><td class="ctr2" id="e1">0 %</td><td class="ctr1" id="f3">7</td><td class="ctr2" id="g3">7</td><td class="ctr1" id="h1">20</td><td class="ctr2" id="i1">20</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a9"><a href="MusicHub.java.html#L135" class="el_method">getAlbumSongsSortedByGenre(String)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="115" height="10" title="79" alt="79"/></td><td class="ctr2" id="c2">0 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="14" alt="14"/></td><td class="ctr2" id="e2">0 %</td><td class="ctr1" id="f0">8</td><td class="ctr2" id="g0">8</td><td class="ctr1" id="h3">16</td><td class="ctr2" id="i3">16</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a8"><a href="MusicHub.java.html#L113" class="el_method">getAlbumSongs(String)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="106" height="10" title="73" alt="73"/></td><td class="ctr2" id="c3">0 %</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="14" alt="14"/></td><td class="ctr2" id="e3">0 %</td><td class="ctr1" id="f1">8</td><td class="ctr2" id="g1">8</td><td class="ctr1" id="h4">15</td><td class="ctr2" id="i4">15</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a21"><a href="MusicHub.java.html#L344" class="el_method">searchAudioElement()</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="103" height="10" title="71" alt="71"/></td><td class="ctr2" id="c4">0 %</td><td class="bar" id="d4"><img src="../jacoco-resources/redbar.gif" width="85" height="10" title="10" alt="10"/></td><td class="ctr2" id="e4">0 %</td><td class="ctr1" id="f4">6</td><td class="ctr2" id="g4">6</td><td class="ctr1" id="h5">14</td><td class="ctr2" id="i5">14</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a14"><a href="MusicHub.java.html#L254" class="el_method">loadElements()</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="93" height="10" title="64" alt="64"/></td><td class="ctr2" id="c5">0 %</td><td class="bar" id="d5"><img src="../jacoco-resources/redbar.gif" width="85" height="10" title="10" alt="10"/></td><td class="ctr2" id="e5">0 %</td><td class="ctr1" id="f5">6</td><td class="ctr2" id="g5">6</td><td class="ctr1" id="h2">18</td><td class="ctr2" id="i2">18</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a11"><a href="MusicHub.java.html#L101" class="el_method">getAudiobooksTitlesSortedByAuthor()</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="77" height="10" title="53" alt="53"/></td><td class="ctr2" id="c6">0 %</td><td class="bar" id="d10"><img src="../jacoco-resources/redbar.gif" width="51" height="10" title="6" alt="6"/></td><td class="ctr2" id="e6">0 %</td><td class="ctr1" id="f10">4</td><td class="ctr2" id="g10">4</td><td class="ctr1" id="h12">9</td><td class="ctr2" id="i12">9</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a19"><a href="MusicHub.java.html#L314" class="el_method">saveElements()</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="68" height="10" title="47" alt="47"/></td><td class="ctr2" id="c7">0 %</td><td class="bar" id="d6"><img src="../jacoco-resources/redbar.gif" width="68" height="10" title="8" alt="8"/></td><td class="ctr2" id="e7">0 %</td><td class="ctr1" id="f6">5</td><td class="ctr2" id="g6">5</td><td class="ctr1" id="h6">12</td><td class="ctr2" id="i6">12</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a13"><a href="MusicHub.java.html#L218" class="el_method">loadAlbums()</a></td><td class="bar" id="b8"><img src="../jacoco-resources/redbar.gif" width="64" height="10" title="44" alt="44"/></td><td class="ctr2" id="c8">0 %</td><td class="bar" id="d7"><img src="../jacoco-resources/redbar.gif" width="68" height="10" title="8" alt="8"/></td><td class="ctr2" id="e8">0 %</td><td class="ctr1" id="f7">5</td><td class="ctr2" id="g7">5</td><td class="ctr1" id="h7">11</td><td class="ctr2" id="i7">11</td><td class="ctr1" id="j8">1</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a15"><a href="MusicHub.java.html#L236" class="el_method">loadPlaylists()</a></td><td class="bar" id="b9"><img src="../jacoco-resources/redbar.gif" width="64" height="10" title="44" alt="44"/></td><td class="ctr2" id="c9">0 %</td><td class="bar" id="d8"><img src="../jacoco-resources/redbar.gif" width="68" height="10" title="8" alt="8"/></td><td class="ctr2" id="e9">0 %</td><td class="ctr1" id="f8">5</td><td class="ctr2" id="g8">5</td><td class="ctr1" id="h8">11</td><td class="ctr2" id="i8">11</td><td class="ctr1" id="j9">1</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a6"><a href="MusicHub.java.html#L66" class="el_method">deletePlayList(String)</a></td><td class="bar" id="b10"><img src="../jacoco-resources/redbar.gif" width="58" height="10" title="40" alt="40"/></td><td class="ctr2" id="c10">0 %</td><td class="bar" id="d9"><img src="../jacoco-resources/redbar.gif" width="68" height="10" title="8" alt="8"/></td><td class="ctr2" id="e10">0 %</td><td class="ctr1" id="f9">5</td><td class="ctr2" id="g9">5</td><td class="ctr1" id="h9">11</td><td class="ctr2" id="i9">11</td><td class="ctr1" id="j10">1</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a18"><a href="MusicHub.java.html#L282" class="el_method">saveAlbums()</a></td><td class="bar" id="b11"><img src="../jacoco-resources/redbar.gif" width="52" height="10" title="36" alt="36"/></td><td class="ctr2" id="c11">0 %</td><td class="bar" id="d11"><img src="../jacoco-resources/redbar.gif" width="34" height="10" title="4" alt="4"/></td><td class="ctr2" id="e11">0 %</td><td class="ctr1" id="f11">3</td><td class="ctr2" id="g11">3</td><td class="ctr1" id="h10">10</td><td class="ctr2" id="i10">10</td><td class="ctr1" id="j11">1</td><td class="ctr2" id="k11">1</td></tr><tr><td id="a20"><a href="MusicHub.java.html#L298" class="el_method">savePlayLists()</a></td><td class="bar" id="b12"><img src="../jacoco-resources/redbar.gif" width="52" height="10" title="36" alt="36"/></td><td class="ctr2" id="c12">0 %</td><td class="bar" id="d12"><img src="../jacoco-resources/redbar.gif" width="34" height="10" title="4" alt="4"/></td><td class="ctr2" id="e12">0 %</td><td class="ctr1" id="f12">3</td><td class="ctr2" id="g12">3</td><td class="ctr1" id="h11">10</td><td class="ctr2" id="i11">10</td><td class="ctr1" id="j12">1</td><td class="ctr2" id="k12">1</td></tr><tr><td id="a10"><a href="MusicHub.java.html#L93" class="el_method">getAlbumsTitlesSortedByDate()</a></td><td class="bar" id="b13"><img src="../jacoco-resources/redbar.gif" width="46" height="10" title="32" alt="32"/></td><td class="ctr2" id="c13">0 %</td><td class="bar" id="d14"><img src="../jacoco-resources/redbar.gif" width="17" height="10" title="2" alt="2"/></td><td class="ctr2" id="e13">0 %</td><td class="ctr1" id="f14">2</td><td class="ctr2" id="g14">2</td><td class="ctr1" id="h14">5</td><td class="ctr2" id="i14">5</td><td class="ctr1" id="j13">1</td><td class="ctr2" id="k13">1</td></tr><tr><td id="a16"><a href="MusicHub.java.html#L41" class="el_method">MusicHub()</a></td><td class="bar" id="b14"><img src="../jacoco-resources/redbar.gif" width="42" height="10" title="29" alt="29"/></td><td class="ctr2" id="c14">0 %</td><td class="bar" id="d15"/><td class="ctr2" id="e15">n/a</td><td class="ctr1" id="f15">1</td><td class="ctr2" id="g15">1</td><td class="ctr1" id="h13">9</td><td class="ctr2" id="i13">9</td><td class="ctr1" id="j14">1</td><td class="ctr2" id="k14">1</td></tr><tr><td id="a12"><a href="MusicHub.java.html#L335" class="el_method">getAudioElement(List, String)</a></td><td class="bar" id="b15"><img src="../jacoco-resources/redbar.gif" width="27" height="10" title="19" alt="19"/></td><td class="ctr2" id="c15">0 %</td><td class="bar" id="d13"><img src="../jacoco-resources/redbar.gif" width="34" height="10" title="4" alt="4"/></td><td class="ctr2" id="e14">0 %</td><td class="ctr1" id="f13">3</td><td class="ctr2" id="g13">3</td><td class="ctr1" id="h15">5</td><td class="ctr2" id="i15">5</td><td class="ctr1" id="j15">1</td><td class="ctr2" id="k15">1</td></tr><tr><td id="a22"><a href="MusicHub.java.html#L34" class="el_method">static {...}</a></td><td class="bar" id="b16"><img src="../jacoco-resources/redbar.gif" width="19" height="10" title="13" alt="13"/></td><td class="ctr2" id="c16">0 %</td><td class="bar" id="d16"/><td class="ctr2" id="e16">n/a</td><td class="ctr1" id="f16">1</td><td class="ctr2" id="g16">1</td><td class="ctr1" id="h16">4</td><td class="ctr2" id="i16">4</td><td class="ctr1" id="j16">1</td><td class="ctr2" id="k16">1</td></tr><tr><td id="a1"><a href="MusicHub.java.html#L53" class="el_method">addElement(AudioElement)</a></td><td class="bar" id="b17"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="6" alt="6"/></td><td class="ctr2" id="c17">0 %</td><td class="bar" id="d17"/><td class="ctr2" id="e17">n/a</td><td class="ctr1" id="f17">1</td><td class="ctr2" id="g17">1</td><td class="ctr1" id="h17">2</td><td class="ctr2" id="i17">2</td><td class="ctr1" id="j17">1</td><td class="ctr2" id="k17">1</td></tr><tr><td id="a0"><a href="MusicHub.java.html#L57" class="el_method">addAlbum(Album)</a></td><td class="bar" id="b18"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="6" alt="6"/></td><td class="ctr2" id="c18">0 %</td><td class="bar" id="d18"/><td class="ctr2" id="e18">n/a</td><td class="ctr1" id="f18">1</td><td class="ctr2" id="g18">1</td><td class="ctr1" id="h18">2</td><td class="ctr2" id="i18">2</td><td class="ctr1" id="j18">1</td><td class="ctr2" id="k18">1</td></tr><tr><td id="a4"><a href="MusicHub.java.html#L61" class="el_method">addPlaylist(PlayList)</a></td><td class="bar" id="b19"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="6" alt="6"/></td><td class="ctr2" id="c19">0 %</td><td class="bar" id="d19"/><td class="ctr2" id="e19">n/a</td><td class="ctr1" id="f19">1</td><td class="ctr2" id="g19">1</td><td class="ctr1" id="h19">2</td><td class="ctr2" id="i19">2</td><td class="ctr1" id="j19">1</td><td class="ctr2" id="k19">1</td></tr><tr><td id="a5"><a href="MusicHub.java.html#L81" class="el_method">albums()</a></td><td class="bar" id="b20"><img src="../jacoco-resources/redbar.gif" width="5" height="10" title="4" alt="4"/></td><td class="ctr2" id="c20">0 %</td><td class="bar" id="d20"/><td class="ctr2" id="e20">n/a</td><td class="ctr1" id="f20">1</td><td class="ctr2" id="g20">1</td><td class="ctr1" id="h20">1</td><td class="ctr2" id="i20">1</td><td class="ctr1" id="j20">1</td><td class="ctr2" id="k20">1</td></tr><tr><td id="a17"><a href="MusicHub.java.html#L85" class="el_method">playlists()</a></td><td class="bar" id="b21"><img src="../jacoco-resources/redbar.gif" width="5" height="10" title="4" alt="4"/></td><td class="ctr2" id="c21">0 %</td><td class="bar" id="d21"/><td class="ctr2" id="e21">n/a</td><td class="ctr1" id="f21">1</td><td class="ctr2" id="g21">1</td><td class="ctr1" id="h21">1</td><td class="ctr2" id="i21">1</td><td class="ctr1" id="j21">1</td><td class="ctr2" id="k21">1</td></tr><tr><td id="a7"><a href="MusicHub.java.html#L89" class="el_method">elements()</a></td><td class="bar" id="b22"><img src="../jacoco-resources/redbar.gif" width="5" height="10" title="4" alt="4"/></td><td class="ctr2" id="c22">0 %</td><td class="bar" id="d22"/><td class="ctr2" id="e22">n/a</td><td class="ctr1" id="f22">1</td><td class="ctr2" id="g22">1</td><td class="ctr1" id="h22">1</td><td class="ctr2" id="i22">1</td><td class="ctr1" id="j22">1</td><td class="ctr2" id="k22">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>MusicHub</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.html" class="el_package">musichub.business</a> &gt; <span class="el_class">MusicHub</span></div><h1>MusicHub</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">973 of 973</td><td class="ctr2">0 %</td><td class="bar">140 of 140</td><td class="ctr2">0 %</td><td class="ctr1">95</td><td class="ctr2">95</td><td class="ctr1">228</td><td class="ctr2">228</td><td class="ctr1">25</td><td class="ctr2">25</td></tr></tfoot><tbody><tr><td id="a2"><a href="MusicHub.java.html#L157" class="el_method">addElementToAlbum(String, String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="82" alt="82"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d3"><img src="../jacoco-resources/redbar.gif" width="102" height="10" title="12" alt="12"/></td><td class="ctr2" id="e0">0 %</td><td class="ctr1" id="f3">7</td><td class="ctr2" id="g3">7</td><td class="ctr1" id="h0">20</td><td class="ctr2" id="i0">20</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="MusicHub.java.html#L186" class="el_method">addElementToPlayList(String, String)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="82" alt="82"/></td><td class="ctr2" id="c1">0 %</td><td class="bar" id="d4"><img src="../jacoco-resources/redbar.gif" width="102" height="10" title="12" alt="12"/></td><td class="ctr2" id="e1">0 %</td><td class="ctr1" id="f4">7</td><td class="ctr2" id="g4">7</td><td class="ctr1" id="h1">20</td><td class="ctr2" id="i1">20</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a9"><a href="MusicHub.java.html#L134" class="el_method">getAlbumSongsSortedByGenre(String)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="115" height="10" title="79" alt="79"/></td><td class="ctr2" id="c2">0 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="14" alt="14"/></td><td class="ctr2" id="e2">0 %</td><td class="ctr1" id="f0">8</td><td class="ctr2" id="g0">8</td><td class="ctr1" id="h3">16</td><td class="ctr2" id="i3">16</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a8"><a href="MusicHub.java.html#L112" class="el_method">getAlbumSongs(String)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="106" height="10" title="73" alt="73"/></td><td class="ctr2" id="c3">0 %</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="14" alt="14"/></td><td class="ctr2" id="e3">0 %</td><td class="ctr1" id="f1">8</td><td class="ctr2" id="g1">8</td><td class="ctr1" id="h4">15</td><td class="ctr2" id="i4">15</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a13"><a href="MusicHub.java.html#L385" class="el_method">getPlayListSongs(String)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="106" height="10" title="73" alt="73"/></td><td class="ctr2" id="c4">0 %</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="14" alt="14"/></td><td class="ctr2" id="e4">0 %</td><td class="ctr1" id="f2">8</td><td class="ctr2" id="g2">8</td><td class="ctr1" id="h5">15</td><td class="ctr2" id="i5">15</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a23"><a href="MusicHub.java.html#L343" class="el_method">searchAudioElement()</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="103" height="10" title="71" alt="71"/></td><td class="ctr2" id="c5">0 %</td><td class="bar" id="d5"><img src="../jacoco-resources/redbar.gif" width="85" height="10" title="10" alt="10"/></td><td class="ctr2" id="e5">0 %</td><td class="ctr1" id="f5">6</td><td class="ctr2" id="g5">6</td><td class="ctr1" id="h6">14</td><td class="ctr2" id="i6">14</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a16"><a href="MusicHub.java.html#L253" class="el_method">loadElements()</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="93" height="10" title="64" alt="64"/></td><td class="ctr2" id="c6">0 %</td><td class="bar" id="d6"><img src="../jacoco-resources/redbar.gif" width="85" height="10" title="10" alt="10"/></td><td class="ctr2" id="e6">0 %</td><td class="ctr1" id="f6">6</td><td class="ctr2" id="g6">6</td><td class="ctr1" id="h2">18</td><td class="ctr2" id="i2">18</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a11"><a href="MusicHub.java.html#L100" class="el_method">getAudiobooksTitlesSortedByAuthor()</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="77" height="10" title="53" alt="53"/></td><td class="ctr2" id="c7">0 %</td><td class="bar" id="d11"><img src="../jacoco-resources/redbar.gif" width="51" height="10" title="6" alt="6"/></td><td class="ctr2" id="e7">0 %</td><td class="ctr1" id="f11">4</td><td class="ctr2" id="g11">4</td><td class="ctr1" id="h13">9</td><td class="ctr2" id="i13">9</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a21"><a href="MusicHub.java.html#L313" class="el_method">saveElements()</a></td><td class="bar" id="b8"><img src="../jacoco-resources/redbar.gif" width="68" height="10" title="47" alt="47"/></td><td class="ctr2" id="c8">0 %</td><td class="bar" id="d7"><img src="../jacoco-resources/redbar.gif" width="68" height="10" title="8" alt="8"/></td><td class="ctr2" id="e8">0 %</td><td class="ctr1" id="f7">5</td><td class="ctr2" id="g7">5</td><td class="ctr1" id="h7">12</td><td class="ctr2" id="i7">12</td><td class="ctr1" id="j8">1</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a15"><a href="MusicHub.java.html#L217" class="el_method">loadAlbums()</a></td><td class="bar" id="b9"><img src="../jacoco-resources/redbar.gif" width="64" height="10" title="44" alt="44"/></td><td class="ctr2" id="c9">0 %</td><td class="bar" id="d8"><img src="../jacoco-resources/redbar.gif" width="68" height="10" title="8" alt="8"/></td><td class="ctr2" id="e9">0 %</td><td class="ctr1" id="f8">5</td><td class="ctr2" id="g8">5</td><td class="ctr1" id="h8">11</td><td class="ctr2" id="i8">11</td><td class="ctr1" id="j9">1</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a17"><a href="MusicHub.java.html#L235" class="el_method">loadPlaylists()</a></td><td class="bar" id="b10"><img src="../jacoco-resources/redbar.gif" width="64" height="10" title="44" alt="44"/></td><td class="ctr2" id="c10">0 %</td><td class="bar" id="d9"><img src="../jacoco-resources/redbar.gif" width="68" height="10" title="8" alt="8"/></td><td class="ctr2" id="e10">0 %</td><td class="ctr1" id="f9">5</td><td class="ctr2" id="g9">5</td><td class="ctr1" id="h9">11</td><td class="ctr2" id="i9">11</td><td class="ctr1" id="j10">1</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a6"><a href="MusicHub.java.html#L65" class="el_method">deletePlayList(String)</a></td><td class="bar" id="b11"><img src="../jacoco-resources/redbar.gif" width="58" height="10" title="40" alt="40"/></td><td class="ctr2" id="c11">0 %</td><td class="bar" id="d10"><img src="../jacoco-resources/redbar.gif" width="68" height="10" title="8" alt="8"/></td><td class="ctr2" id="e11">0 %</td><td class="ctr1" id="f10">5</td><td class="ctr2" id="g10">5</td><td class="ctr1" id="h10">11</td><td class="ctr2" id="i10">11</td><td class="ctr1" id="j11">1</td><td class="ctr2" id="k11">1</td></tr><tr><td id="a20"><a href="MusicHub.java.html#L281" class="el_method">saveAlbums()</a></td><td class="bar" id="b12"><img src="../jacoco-resources/redbar.gif" width="52" height="10" title="36" alt="36"/></td><td class="ctr2" id="c12">0 %</td><td class="bar" id="d12"><img src="../jacoco-resources/redbar.gif" width="34" height="10" title="4" alt="4"/></td><td class="ctr2" id="e12">0 %</td><td class="ctr1" id="f12">3</td><td class="ctr2" id="g12">3</td><td class="ctr1" id="h11">10</td><td class="ctr2" id="i11">10</td><td class="ctr1" id="j12">1</td><td class="ctr2" id="k12">1</td></tr><tr><td id="a22"><a href="MusicHub.java.html#L297" class="el_method">savePlayLists()</a></td><td class="bar" id="b13"><img src="../jacoco-resources/redbar.gif" width="52" height="10" title="36" alt="36"/></td><td class="ctr2" id="c13">0 %</td><td class="bar" id="d13"><img src="../jacoco-resources/redbar.gif" width="34" height="10" title="4" alt="4"/></td><td class="ctr2" id="e13">0 %</td><td class="ctr1" id="f13">3</td><td class="ctr2" id="g13">3</td><td class="ctr1" id="h12">10</td><td class="ctr2" id="i12">10</td><td class="ctr1" id="j13">1</td><td class="ctr2" id="k13">1</td></tr><tr><td id="a10"><a href="MusicHub.java.html#L92" class="el_method">getAlbumsTitlesSortedByDate()</a></td><td class="bar" id="b14"><img src="../jacoco-resources/redbar.gif" width="46" height="10" title="32" alt="32"/></td><td class="ctr2" id="c14">0 %</td><td class="bar" id="d15"><img src="../jacoco-resources/redbar.gif" width="17" height="10" title="2" alt="2"/></td><td class="ctr2" id="e14">0 %</td><td class="ctr1" id="f15">2</td><td class="ctr2" id="g15">2</td><td class="ctr1" id="h15">5</td><td class="ctr2" id="i15">5</td><td class="ctr1" id="j14">1</td><td class="ctr2" id="k14">1</td></tr><tr><td id="a18"><a href="MusicHub.java.html#L40" class="el_method">MusicHub()</a></td><td class="bar" id="b15"><img src="../jacoco-resources/redbar.gif" width="42" height="10" title="29" alt="29"/></td><td class="ctr2" id="c15">0 %</td><td class="bar" id="d17"/><td class="ctr2" id="e17">n/a</td><td class="ctr1" id="f17">1</td><td class="ctr2" id="g17">1</td><td class="ctr1" id="h14">9</td><td class="ctr2" id="i14">9</td><td class="ctr1" id="j15">1</td><td class="ctr2" id="k15">1</td></tr><tr><td id="a14"><a href="MusicHub.java.html#L369" class="el_method">getPlayListsTitles()</a></td><td class="bar" id="b16"><img src="../jacoco-resources/redbar.gif" width="38" height="10" title="26" alt="26"/></td><td class="ctr2" id="c16">0 %</td><td class="bar" id="d16"><img src="../jacoco-resources/redbar.gif" width="17" height="10" title="2" alt="2"/></td><td class="ctr2" id="e15">0 %</td><td class="ctr1" id="f16">2</td><td class="ctr2" id="g16">2</td><td class="ctr1" id="h17">4</td><td class="ctr2" id="i17">4</td><td class="ctr1" id="j16">1</td><td class="ctr2" id="k16">1</td></tr><tr><td id="a12"><a href="MusicHub.java.html#L334" class="el_method">getAudioElement(List, String)</a></td><td class="bar" id="b17"><img src="../jacoco-resources/redbar.gif" width="27" height="10" title="19" alt="19"/></td><td class="ctr2" id="c17">0 %</td><td class="bar" id="d14"><img src="../jacoco-resources/redbar.gif" width="34" height="10" title="4" alt="4"/></td><td class="ctr2" id="e16">0 %</td><td class="ctr1" id="f14">3</td><td class="ctr2" id="g14">3</td><td class="ctr1" id="h16">5</td><td class="ctr2" id="i16">5</td><td class="ctr1" id="j17">1</td><td class="ctr2" id="k17">1</td></tr><tr><td id="a24"><a href="MusicHub.java.html#L33" class="el_method">static {...}</a></td><td class="bar" id="b18"><img src="../jacoco-resources/redbar.gif" width="19" height="10" title="13" alt="13"/></td><td class="ctr2" id="c18">0 %</td><td class="bar" id="d18"/><td class="ctr2" id="e18">n/a</td><td class="ctr1" id="f18">1</td><td class="ctr2" id="g18">1</td><td class="ctr1" id="h18">4</td><td class="ctr2" id="i18">4</td><td class="ctr1" id="j18">1</td><td class="ctr2" id="k18">1</td></tr><tr><td id="a1"><a href="MusicHub.java.html#L52" class="el_method">addElement(AudioElement)</a></td><td class="bar" id="b19"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="6" alt="6"/></td><td class="ctr2" id="c19">0 %</td><td class="bar" id="d19"/><td class="ctr2" id="e19">n/a</td><td class="ctr1" id="f19">1</td><td class="ctr2" id="g19">1</td><td class="ctr1" id="h19">2</td><td class="ctr2" id="i19">2</td><td class="ctr1" id="j19">1</td><td class="ctr2" id="k19">1</td></tr><tr><td id="a0"><a href="MusicHub.java.html#L56" class="el_method">addAlbum(Album)</a></td><td class="bar" id="b20"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="6" alt="6"/></td><td class="ctr2" id="c20">0 %</td><td class="bar" id="d20"/><td class="ctr2" id="e20">n/a</td><td class="ctr1" id="f20">1</td><td class="ctr2" id="g20">1</td><td class="ctr1" id="h20">2</td><td class="ctr2" id="i20">2</td><td class="ctr1" id="j20">1</td><td class="ctr2" id="k20">1</td></tr><tr><td id="a4"><a href="MusicHub.java.html#L60" class="el_method">addPlaylist(PlayList)</a></td><td class="bar" id="b21"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="6" alt="6"/></td><td class="ctr2" id="c21">0 %</td><td class="bar" id="d21"/><td class="ctr2" id="e21">n/a</td><td class="ctr1" id="f21">1</td><td class="ctr2" id="g21">1</td><td class="ctr1" id="h21">2</td><td class="ctr2" id="i21">2</td><td class="ctr1" id="j21">1</td><td class="ctr2" id="k21">1</td></tr><tr><td id="a5"><a href="MusicHub.java.html#L80" class="el_method">albums()</a></td><td class="bar" id="b22"><img src="../jacoco-resources/redbar.gif" width="5" height="10" title="4" alt="4"/></td><td class="ctr2" id="c22">0 %</td><td class="bar" id="d22"/><td class="ctr2" id="e22">n/a</td><td class="ctr1" id="f22">1</td><td class="ctr2" id="g22">1</td><td class="ctr1" id="h22">1</td><td class="ctr2" id="i22">1</td><td class="ctr1" id="j22">1</td><td class="ctr2" id="k22">1</td></tr><tr><td id="a19"><a href="MusicHub.java.html#L84" class="el_method">playlists()</a></td><td class="bar" id="b23"><img src="../jacoco-resources/redbar.gif" width="5" height="10" title="4" alt="4"/></td><td class="ctr2" id="c23">0 %</td><td class="bar" id="d23"/><td class="ctr2" id="e23">n/a</td><td class="ctr1" id="f23">1</td><td class="ctr2" id="g23">1</td><td class="ctr1" id="h23">1</td><td class="ctr2" id="i23">1</td><td class="ctr1" id="j23">1</td><td class="ctr2" id="k23">1</td></tr><tr><td id="a7"><a href="MusicHub.java.html#L88" class="el_method">elements()</a></td><td class="bar" id="b24"><img src="../jacoco-resources/redbar.gif" width="5" height="10" title="4" alt="4"/></td><td class="ctr2" id="c24">0 %</td><td class="bar" id="d24"/><td class="ctr2" id="e24">n/a</td><td class="ctr1" id="f24">1</td><td class="ctr2" id="g24">1</td><td class="ctr1" id="h24">1</td><td class="ctr2" id="i24">1</td><td class="ctr1" id="j24">1</td><td class="ctr2" id="k24">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.business/MusicHub.java.html b/target/site/jacoco/musichub.business/MusicHub.java.html
          index ec5e661..deb88a0 100644
          --- a/target/site/jacoco/musichub.business/MusicHub.java.html
          +++ b/target/site/jacoco/musichub.business/MusicHub.java.html
          @@ -6,359 +6,401 @@ import org.w3c.dom.Element;
           import org.w3c.dom.Node;
           import org.w3c.dom.NodeList;
           
          -import java.io.IOException;
          -import java.util.*;
          -
           import javax.sound.sampled.LineUnavailableException;
           import javax.sound.sampled.UnsupportedAudioFileException;
          +import java.io.IOException;
          +import java.util.*;
           
          -<span class="nc" id="L15">class SortByDate implements Comparator&lt;Album&gt; {</span>
          +<span class="nc" id="L14">class SortByDate implements Comparator&lt;Album&gt; {</span>
               public int compare(Album a1, Album a2) {
          -<span class="nc" id="L17">        return a1.getDate().compareTo(a2.getDate());</span>
          +<span class="nc" id="L16">        return a1.getDate().compareTo(a2.getDate());</span>
               }
           }
           
          -<span class="nc" id="L21">class SortByGenre implements Comparator&lt;Song&gt; {</span>
          +<span class="nc" id="L20">class SortByGenre implements Comparator&lt;Song&gt; {</span>
               public int compare(Song s1, Song s2) {
          -<span class="nc" id="L23">        return s1.getGenre().compareTo(s2.getGenre());</span>
          +<span class="nc" id="L22">        return s1.getGenre().compareTo(s2.getGenre());</span>
               }
           }
           
          -<span class="nc" id="L27">class SortByAuthor implements Comparator&lt;AudioElement&gt; {</span>
          +<span class="nc" id="L26">class SortByAuthor implements Comparator&lt;AudioElement&gt; {</span>
               public int compare(AudioElement e1, AudioElement e2) {
          -<span class="nc" id="L29">        return e1.getArtist().compareTo(e2.getArtist());</span>
          +<span class="nc" id="L28">        return e1.getArtist().compareTo(e2.getArtist());</span>
               }
           }
           
           public class MusicHub {
          -<span class="nc" id="L34">    public static final String DIR = System.getProperty(&quot;user.dir&quot;);</span>
          -<span class="nc" id="L35">    public static final String ALBUMS_FILE_PATH = DIR + &quot;/files/albums.xml&quot;;</span>
          -<span class="nc" id="L36">    public static final String PLAYLISTS_FILE_PATH = DIR + &quot;/files/playlists.xml&quot;;</span>
          -<span class="nc" id="L37">    public static final String ELEMENTS_FILE_PATH = DIR + &quot;/files/elements.xml&quot;;</span>
          +<span class="nc" id="L33">    public static final String DIR = System.getProperty(&quot;user.dir&quot;);</span>
          +<span class="nc" id="L34">    public static final String ALBUMS_FILE_PATH = DIR + &quot;/files/albums.xml&quot;;</span>
          +<span class="nc" id="L35">    public static final String PLAYLISTS_FILE_PATH = DIR + &quot;/files/playlists.xml&quot;;</span>
          +<span class="nc" id="L36">    public static final String ELEMENTS_FILE_PATH = DIR + &quot;/files/elements.xml&quot;;</span>
               private final List&lt;Album&gt; albums;
               private final List&lt;PlayList&gt; playlists;
               private final List&lt;AudioElement&gt; elements;
          -<span class="nc" id="L41">    private final XMLHandler xmlHandler = new XMLHandler();</span>
          +<span class="nc" id="L40">    private final XMLHandler xmlHandler = new XMLHandler();</span>
           
          -<span class="nc" id="L43">    public MusicHub() {</span>
          -<span class="nc" id="L44">        albums = new LinkedList&lt;&gt;();</span>
          -<span class="nc" id="L45">        playlists = new LinkedList&lt;&gt;();</span>
          -<span class="nc" id="L46">        elements = new LinkedList&lt;&gt;();</span>
          -<span class="nc" id="L47">        this.loadElements();</span>
          -<span class="nc" id="L48">        this.loadAlbums();</span>
          -<span class="nc" id="L49">        this.loadPlaylists();</span>
          -<span class="nc" id="L50">    }</span>
          +<span class="nc" id="L42">    public MusicHub() {</span>
          +<span class="nc" id="L43">        albums = new LinkedList&lt;&gt;();</span>
          +<span class="nc" id="L44">        playlists = new LinkedList&lt;&gt;();</span>
          +<span class="nc" id="L45">        elements = new LinkedList&lt;&gt;();</span>
          +<span class="nc" id="L46">        this.loadElements();</span>
          +<span class="nc" id="L47">        this.loadAlbums();</span>
          +<span class="nc" id="L48">        this.loadPlaylists();</span>
          +<span class="nc" id="L49">    }</span>
           
               public void addElement(AudioElement element) {
          -<span class="nc" id="L53">        elements.add(element);</span>
          -<span class="nc" id="L54">    }</span>
          +<span class="nc" id="L52">        elements.add(element);</span>
          +<span class="nc" id="L53">    }</span>
           
               public void addAlbum(Album album) {
          -<span class="nc" id="L57">        albums.add(album);</span>
          -<span class="nc" id="L58">    }</span>
          +<span class="nc" id="L56">        albums.add(album);</span>
          +<span class="nc" id="L57">    }</span>
           
               public void addPlaylist(PlayList playlist) {
          -<span class="nc" id="L61">        playlists.add(playlist);</span>
          -<span class="nc" id="L62">    }</span>
          +<span class="nc" id="L60">        playlists.add(playlist);</span>
          +<span class="nc" id="L61">    }</span>
           
               public void deletePlayList(String playListTitle) throws NoPlayListFoundException {
           
          -<span class="nc" id="L66">        PlayList thePlayList = null;</span>
          -<span class="nc" id="L67">        boolean result = false;</span>
          -<span class="nc bnc" id="L68" title="All 2 branches missed.">        for (PlayList pl : playlists) {</span>
          -<span class="nc bnc" id="L69" title="All 2 branches missed.">            if (pl.getTitle().equalsIgnoreCase(playListTitle)) {</span>
          -<span class="nc" id="L70">                thePlayList = pl;</span>
          -<span class="nc" id="L71">                break;</span>
          +<span class="nc" id="L65">        PlayList thePlayList = null;</span>
          +<span class="nc" id="L66">        boolean result = false;</span>
          +<span class="nc bnc" id="L67" title="All 2 branches missed.">        for (PlayList pl : playlists) {</span>
          +<span class="nc bnc" id="L68" title="All 2 branches missed.">            if (pl.getTitle().equalsIgnoreCase(playListTitle)) {</span>
          +<span class="nc" id="L69">                thePlayList = pl;</span>
          +<span class="nc" id="L70">                break;</span>
                       }
          -<span class="nc" id="L73">        }</span>
          +<span class="nc" id="L72">        }</span>
           
          -<span class="nc bnc" id="L75" title="All 2 branches missed.">        if (thePlayList != null)</span>
          -<span class="nc" id="L76">            result = playlists.remove(thePlayList);</span>
          -<span class="nc bnc" id="L77" title="All 2 branches missed.">        if (!result) throw new NoPlayListFoundException(&quot;Playlist &quot; + playListTitle + &quot; not found!&quot;);</span>
          -<span class="nc" id="L78">    }</span>
          +<span class="nc bnc" id="L74" title="All 2 branches missed.">        if (thePlayList != null)</span>
          +<span class="nc" id="L75">            result = playlists.remove(thePlayList);</span>
          +<span class="nc bnc" id="L76" title="All 2 branches missed.">        if (!result) throw new NoPlayListFoundException(&quot;Playlist &quot; + playListTitle + &quot; not found!&quot;);</span>
          +<span class="nc" id="L77">    }</span>
           
               public Iterator&lt;Album&gt; albums() {
          -<span class="nc" id="L81">        return albums.listIterator();</span>
          +<span class="nc" id="L80">        return albums.listIterator();</span>
               }
           
               public Iterator&lt;PlayList&gt; playlists() {
          -<span class="nc" id="L85">        return playlists.listIterator();</span>
          +<span class="nc" id="L84">        return playlists.listIterator();</span>
               }
           
               public Iterator&lt;AudioElement&gt; elements() {
          -<span class="nc" id="L89">        return elements.listIterator();</span>
          +<span class="nc" id="L88">        return elements.listIterator();</span>
               }
           
               public String getAlbumsTitlesSortedByDate() {
          -<span class="nc" id="L93">        StringBuilder titleList = new StringBuilder();</span>
          -<span class="nc" id="L94">        albums.sort(new SortByDate());</span>
          -<span class="nc bnc" id="L95" title="All 2 branches missed.">        for (Album al : albums)</span>
          -<span class="nc" id="L96">            titleList.append(al.getTitle()).append(&quot;\n&quot;);</span>
          -<span class="nc" id="L97">        return titleList.toString();</span>
          +<span class="nc" id="L92">        StringBuilder titleList = new StringBuilder();</span>
          +<span class="nc" id="L93">        albums.sort(new SortByDate());</span>
          +<span class="nc bnc" id="L94" title="All 2 branches missed.">        for (Album al : albums)</span>
          +<span class="nc" id="L95">            titleList.append(al.getTitle()).append(&quot;\n&quot;);</span>
          +<span class="nc" id="L96">        return titleList.toString();</span>
               }
           
               public String getAudiobooksTitlesSortedByAuthor() {
          -<span class="nc" id="L101">        StringBuilder titleList = new StringBuilder();</span>
          -<span class="nc" id="L102">        List&lt;AudioElement&gt; audioBookList = new ArrayList&lt;&gt;();</span>
          -<span class="nc bnc" id="L103" title="All 2 branches missed.">        for (AudioElement ae : elements)</span>
          -<span class="nc bnc" id="L104" title="All 2 branches missed.">            if (ae instanceof AudioBook)</span>
          -<span class="nc" id="L105">                audioBookList.add(ae);</span>
          -<span class="nc" id="L106">        audioBookList.sort(new SortByAuthor());</span>
          -<span class="nc bnc" id="L107" title="All 2 branches missed.">        for (AudioElement ab : audioBookList)</span>
          -<span class="nc" id="L108">            titleList.append(ab.getArtist()).append(&quot;\n&quot;);</span>
          -<span class="nc" id="L109">        return titleList.toString();</span>
          +<span class="nc" id="L100">        StringBuilder titleList = new StringBuilder();</span>
          +<span class="nc" id="L101">        List&lt;AudioElement&gt; audioBookList = new ArrayList&lt;&gt;();</span>
          +<span class="nc bnc" id="L102" title="All 2 branches missed.">        for (AudioElement ae : elements)</span>
          +<span class="nc bnc" id="L103" title="All 2 branches missed.">            if (ae instanceof AudioBook)</span>
          +<span class="nc" id="L104">                audioBookList.add(ae);</span>
          +<span class="nc" id="L105">        audioBookList.sort(new SortByAuthor());</span>
          +<span class="nc bnc" id="L106" title="All 2 branches missed.">        for (AudioElement ab : audioBookList)</span>
          +<span class="nc" id="L107">            titleList.append(ab.getArtist()).append(&quot;\n&quot;);</span>
          +<span class="nc" id="L108">        return titleList.toString();</span>
               }
           
               public List&lt;AudioElement&gt; getAlbumSongs(String albumTitle) throws NoAlbumFoundException {
          -<span class="nc" id="L113">        Album theAlbum = null;</span>
          -<span class="nc" id="L114">        ArrayList&lt;AudioElement&gt; songsInAlbum = new ArrayList&lt;&gt;();</span>
          -<span class="nc bnc" id="L115" title="All 2 branches missed.">        for (Album al : albums) {</span>
          -<span class="nc bnc" id="L116" title="All 2 branches missed.">            if (al.getTitle().equalsIgnoreCase(albumTitle)) {</span>
          -<span class="nc" id="L117">                theAlbum = al;</span>
          -<span class="nc" id="L118">                break;</span>
          +<span class="nc" id="L112">        Album theAlbum = null;</span>
          +<span class="nc" id="L113">        ArrayList&lt;AudioElement&gt; songsInAlbum = new ArrayList&lt;&gt;();</span>
          +<span class="nc bnc" id="L114" title="All 2 branches missed.">        for (Album al : albums) {</span>
          +<span class="nc bnc" id="L115" title="All 2 branches missed.">            if (al.getTitle().equalsIgnoreCase(albumTitle)) {</span>
          +<span class="nc" id="L116">                theAlbum = al;</span>
          +<span class="nc" id="L117">                break;</span>
                       }
          -<span class="nc" id="L120">        }</span>
          -<span class="nc bnc" id="L121" title="All 2 branches missed.">        if (theAlbum == null) throw new NoAlbumFoundException(&quot;No album with this title in the MusicHub!&quot;);</span>
          -
          -<span class="nc" id="L123">        List&lt;UUID&gt; songIDs = theAlbum.getSongs();</span>
          -<span class="nc bnc" id="L124" title="All 2 branches missed.">        for (UUID id : songIDs)</span>
          -<span class="nc bnc" id="L125" title="All 2 branches missed.">            for (AudioElement el : elements) {</span>
          -<span class="nc bnc" id="L126" title="All 2 branches missed.">                if (el instanceof Song) {</span>
          -<span class="nc bnc" id="L127" title="All 2 branches missed.">                    if (el.getUUID().equals(id)) songsInAlbum.add(el);</span>
          +<span class="nc" id="L119">        }</span>
          +<span class="nc bnc" id="L120" title="All 2 branches missed.">        if (theAlbum == null) throw new NoAlbumFoundException(&quot;No album with this title in the MusicHub!&quot;);</span>
          +
          +<span class="nc" id="L122">        List&lt;UUID&gt; songIDs = theAlbum.getSongs();</span>
          +<span class="nc bnc" id="L123" title="All 2 branches missed.">        for (UUID id : songIDs)</span>
          +<span class="nc bnc" id="L124" title="All 2 branches missed.">            for (AudioElement el : elements) {</span>
          +<span class="nc bnc" id="L125" title="All 2 branches missed.">                if (el instanceof Song) {</span>
          +<span class="nc bnc" id="L126" title="All 2 branches missed.">                    if (el.getUUID().equals(id)) songsInAlbum.add(el);</span>
                           }
          -<span class="nc" id="L129">            }</span>
          -<span class="nc" id="L130">        return songsInAlbum;</span>
          +<span class="nc" id="L128">            }</span>
          +<span class="nc" id="L129">        return songsInAlbum;</span>
           
               }
           
               public List&lt;Song&gt; getAlbumSongsSortedByGenre(String albumTitle) throws NoAlbumFoundException {
          -<span class="nc" id="L135">        Album theAlbum = null;</span>
          -<span class="nc" id="L136">        ArrayList&lt;Song&gt; songsInAlbum = new ArrayList&lt;&gt;();</span>
          -<span class="nc bnc" id="L137" title="All 2 branches missed.">        for (Album al : albums) {</span>
          -<span class="nc bnc" id="L138" title="All 2 branches missed.">            if (al.getTitle().equalsIgnoreCase(albumTitle)) {</span>
          -<span class="nc" id="L139">                theAlbum = al;</span>
          -<span class="nc" id="L140">                break;</span>
          +<span class="nc" id="L134">        Album theAlbum = null;</span>
          +<span class="nc" id="L135">        ArrayList&lt;Song&gt; songsInAlbum = new ArrayList&lt;&gt;();</span>
          +<span class="nc bnc" id="L136" title="All 2 branches missed.">        for (Album al : albums) {</span>
          +<span class="nc bnc" id="L137" title="All 2 branches missed.">            if (al.getTitle().equalsIgnoreCase(albumTitle)) {</span>
          +<span class="nc" id="L138">                theAlbum = al;</span>
          +<span class="nc" id="L139">                break;</span>
                       }
          -<span class="nc" id="L142">        }</span>
          -<span class="nc bnc" id="L143" title="All 2 branches missed.">        if (theAlbum == null) throw new NoAlbumFoundException(&quot;No album with this title in the MusicHub!&quot;);</span>
          -
          -<span class="nc" id="L145">        List&lt;UUID&gt; songIDs = theAlbum.getSongs();</span>
          -<span class="nc bnc" id="L146" title="All 2 branches missed.">        for (UUID id : songIDs)</span>
          -<span class="nc bnc" id="L147" title="All 2 branches missed.">            for (AudioElement el : elements) {</span>
          -<span class="nc bnc" id="L148" title="All 2 branches missed.">                if (el instanceof Song) {</span>
          -<span class="nc bnc" id="L149" title="All 2 branches missed.">                    if (el.getUUID().equals(id)) songsInAlbum.add((Song) el);</span>
          +<span class="nc" id="L141">        }</span>
          +<span class="nc bnc" id="L142" title="All 2 branches missed.">        if (theAlbum == null) throw new NoAlbumFoundException(&quot;No album with this title in the MusicHub!&quot;);</span>
          +
          +<span class="nc" id="L144">        List&lt;UUID&gt; songIDs = theAlbum.getSongs();</span>
          +<span class="nc bnc" id="L145" title="All 2 branches missed.">        for (UUID id : songIDs)</span>
          +<span class="nc bnc" id="L146" title="All 2 branches missed.">            for (AudioElement el : elements) {</span>
          +<span class="nc bnc" id="L147" title="All 2 branches missed.">                if (el instanceof Song) {</span>
          +<span class="nc bnc" id="L148" title="All 2 branches missed.">                    if (el.getUUID().equals(id)) songsInAlbum.add((Song) el);</span>
                           }
          -<span class="nc" id="L151">            }</span>
          -<span class="nc" id="L152">        songsInAlbum.sort(new SortByGenre());</span>
          -<span class="nc" id="L153">        return songsInAlbum;</span>
          +<span class="nc" id="L150">            }</span>
          +<span class="nc" id="L151">        songsInAlbum.sort(new SortByGenre());</span>
          +<span class="nc" id="L152">        return songsInAlbum;</span>
           
               }
           
               public void addElementToAlbum(String elementTitle, String albumTitle) throws NoAlbumFoundException, NoElementFoundException {
          -<span class="nc" id="L158">        Album theAlbum = null;</span>
          +<span class="nc" id="L157">        Album theAlbum = null;</span>
                   int i;
          -<span class="nc" id="L160">        boolean found = false;</span>
          -<span class="nc bnc" id="L161" title="All 2 branches missed.">        for (i = 0; i &lt; albums.size(); i++) {</span>
          -<span class="nc bnc" id="L162" title="All 2 branches missed.">            if (albums.get(i).getTitle().equalsIgnoreCase(albumTitle)) {</span>
          -<span class="nc" id="L163">                theAlbum = albums.get(i);</span>
          -<span class="nc" id="L164">                found = true;</span>
          -<span class="nc" id="L165">                break;</span>
          +<span class="nc" id="L159">        boolean found = false;</span>
          +<span class="nc bnc" id="L160" title="All 2 branches missed.">        for (i = 0; i &lt; albums.size(); i++) {</span>
          +<span class="nc bnc" id="L161" title="All 2 branches missed.">            if (albums.get(i).getTitle().equalsIgnoreCase(albumTitle)) {</span>
          +<span class="nc" id="L162">                theAlbum = albums.get(i);</span>
          +<span class="nc" id="L163">                found = true;</span>
          +<span class="nc" id="L164">                break;</span>
                       }
                   }
           
          -<span class="nc bnc" id="L169" title="All 2 branches missed.">        if (found) {</span>
          -<span class="nc" id="L170">            AudioElement theElement = null;</span>
          -<span class="nc bnc" id="L171" title="All 2 branches missed.">            for (AudioElement ae : elements) {</span>
          -<span class="nc bnc" id="L172" title="All 2 branches missed.">                if (ae.getTitle().equalsIgnoreCase(elementTitle)) {</span>
          -<span class="nc" id="L173">                    theElement = ae;</span>
          -<span class="nc" id="L174">                    break;</span>
          +<span class="nc bnc" id="L168" title="All 2 branches missed.">        if (found) {</span>
          +<span class="nc" id="L169">            AudioElement theElement = null;</span>
          +<span class="nc bnc" id="L170" title="All 2 branches missed.">            for (AudioElement ae : elements) {</span>
          +<span class="nc bnc" id="L171" title="All 2 branches missed.">                if (ae.getTitle().equalsIgnoreCase(elementTitle)) {</span>
          +<span class="nc" id="L172">                    theElement = ae;</span>
          +<span class="nc" id="L173">                    break;</span>
                           }
          -<span class="nc" id="L176">            }</span>
          -<span class="nc bnc" id="L177" title="All 2 branches missed.">            if (theElement != null) {</span>
          -<span class="nc" id="L178">                theAlbum.addSong(theElement.getUUID());</span>
          +<span class="nc" id="L175">            }</span>
          +<span class="nc bnc" id="L176" title="All 2 branches missed.">            if (theElement != null) {</span>
          +<span class="nc" id="L177">                theAlbum.addSong(theElement.getUUID());</span>
                           //replace the album in the list
          -<span class="nc" id="L180">                albums.set(i, theAlbum);</span>
          -<span class="nc" id="L181">            } else throw new NoElementFoundException(&quot;Element &quot; + elementTitle + &quot; not found!&quot;);</span>
          -<span class="nc" id="L182">        } else throw new NoAlbumFoundException(&quot;Album &quot; + albumTitle + &quot; not found!&quot;);</span>
          +<span class="nc" id="L179">                albums.set(i, theAlbum);</span>
          +<span class="nc" id="L180">            } else throw new NoElementFoundException(&quot;Element &quot; + elementTitle + &quot; not found!&quot;);</span>
          +<span class="nc" id="L181">        } else throw new NoAlbumFoundException(&quot;Album &quot; + albumTitle + &quot; not found!&quot;);</span>
           
          -<span class="nc" id="L184">    }</span>
          +<span class="nc" id="L183">    }</span>
           
               public void addElementToPlayList(String elementTitle, String playListTitle) throws NoPlayListFoundException, NoElementFoundException {
          -<span class="nc" id="L187">        PlayList thePlaylist = null;</span>
          +<span class="nc" id="L186">        PlayList thePlaylist = null;</span>
                   int i;
          -<span class="nc" id="L189">        boolean found = false;</span>
          +<span class="nc" id="L188">        boolean found = false;</span>
           
          -<span class="nc bnc" id="L191" title="All 2 branches missed.">        for (i = 0; i &lt; playlists.size(); i++) {</span>
          -<span class="nc bnc" id="L192" title="All 2 branches missed.">            if (playlists.get(i).getTitle().equalsIgnoreCase(playListTitle)) {</span>
          -<span class="nc" id="L193">                thePlaylist = playlists.get(i);</span>
          -<span class="nc" id="L194">                found = true;</span>
          -<span class="nc" id="L195">                break;</span>
          +<span class="nc bnc" id="L190" title="All 2 branches missed.">        for (i = 0; i &lt; playlists.size(); i++) {</span>
          +<span class="nc bnc" id="L191" title="All 2 branches missed.">            if (playlists.get(i).getTitle().equalsIgnoreCase(playListTitle)) {</span>
          +<span class="nc" id="L192">                thePlaylist = playlists.get(i);</span>
          +<span class="nc" id="L193">                found = true;</span>
          +<span class="nc" id="L194">                break;</span>
                       }
                   }
           
          -<span class="nc bnc" id="L199" title="All 2 branches missed.">        if (found) {</span>
          -<span class="nc" id="L200">            AudioElement theElement = null;</span>
          -<span class="nc bnc" id="L201" title="All 2 branches missed.">            for (AudioElement ae : elements) {</span>
          -<span class="nc bnc" id="L202" title="All 2 branches missed.">                if (ae.getTitle().equalsIgnoreCase(elementTitle)) {</span>
          -<span class="nc" id="L203">                    theElement = ae;</span>
          -<span class="nc" id="L204">                    break;</span>
          +<span class="nc bnc" id="L198" title="All 2 branches missed.">        if (found) {</span>
          +<span class="nc" id="L199">            AudioElement theElement = null;</span>
          +<span class="nc bnc" id="L200" title="All 2 branches missed.">            for (AudioElement ae : elements) {</span>
          +<span class="nc bnc" id="L201" title="All 2 branches missed.">                if (ae.getTitle().equalsIgnoreCase(elementTitle)) {</span>
          +<span class="nc" id="L202">                    theElement = ae;</span>
          +<span class="nc" id="L203">                    break;</span>
                           }
          -<span class="nc" id="L206">            }</span>
          -<span class="nc bnc" id="L207" title="All 2 branches missed.">            if (theElement != null) {</span>
          -<span class="nc" id="L208">                thePlaylist.addElement(theElement.getUUID());</span>
          +<span class="nc" id="L205">            }</span>
          +<span class="nc bnc" id="L206" title="All 2 branches missed.">            if (theElement != null) {</span>
          +<span class="nc" id="L207">                thePlaylist.addElement(theElement.getUUID());</span>
                           //replace the album in the list
          -<span class="nc" id="L210">                playlists.set(i, thePlaylist);</span>
          -<span class="nc" id="L211">            } else throw new NoElementFoundException(&quot;Element &quot; + elementTitle + &quot; not found!&quot;);</span>
          +<span class="nc" id="L209">                playlists.set(i, thePlaylist);</span>
          +<span class="nc" id="L210">            } else throw new NoElementFoundException(&quot;Element &quot; + elementTitle + &quot; not found!&quot;);</span>
           
          -<span class="nc" id="L213">        } else throw new NoPlayListFoundException(&quot;Playlist &quot; + playListTitle + &quot; not found!&quot;);</span>
          +<span class="nc" id="L212">        } else throw new NoPlayListFoundException(&quot;Playlist &quot; + playListTitle + &quot; not found!&quot;);</span>
           
          -<span class="nc" id="L215">    }</span>
          +<span class="nc" id="L214">    }</span>
           
               private void loadAlbums() {
          -<span class="nc" id="L218">        NodeList albumNodes = xmlHandler.parseXMLFile(ALBUMS_FILE_PATH);</span>
          -<span class="nc bnc" id="L219" title="All 2 branches missed.">        if (albumNodes == null) return;</span>
          +<span class="nc" id="L217">        NodeList albumNodes = xmlHandler.parseXMLFile(ALBUMS_FILE_PATH);</span>
          +<span class="nc bnc" id="L218" title="All 2 branches missed.">        if (albumNodes == null) return;</span>
           
          -<span class="nc bnc" id="L221" title="All 2 branches missed.">        for (int i = 0; i &lt; albumNodes.getLength(); i++) {</span>
          -<span class="nc bnc" id="L222" title="All 2 branches missed.">            if (albumNodes.item(i).getNodeType() == Node.ELEMENT_NODE) {</span>
          -<span class="nc" id="L223">                Element albumElement = (Element) albumNodes.item(i);</span>
          -<span class="nc bnc" id="L224" title="All 2 branches missed.">                if (albumElement.getNodeName().equals(&quot;album&quot;)) {</span>
          +<span class="nc bnc" id="L220" title="All 2 branches missed.">        for (int i = 0; i &lt; albumNodes.getLength(); i++) {</span>
          +<span class="nc bnc" id="L221" title="All 2 branches missed.">            if (albumNodes.item(i).getNodeType() == Node.ELEMENT_NODE) {</span>
          +<span class="nc" id="L222">                Element albumElement = (Element) albumNodes.item(i);</span>
          +<span class="nc bnc" id="L223" title="All 2 branches missed.">                if (albumElement.getNodeName().equals(&quot;album&quot;)) {</span>
                               try {
          -<span class="nc" id="L226">                        this.addAlbum(new Album(albumElement));</span>
          -<span class="nc" id="L227">                    } catch (Exception ex) {</span>
          -<span class="nc" id="L228">                        System.out.println(&quot;Something is wrong with the XML album element&quot;);</span>
          -<span class="nc" id="L229">                    }</span>
          +<span class="nc" id="L225">                        this.addAlbum(new Album(albumElement));</span>
          +<span class="nc" id="L226">                    } catch (Exception ex) {</span>
          +<span class="nc" id="L227">                        System.out.println(&quot;Something is wrong with the XML album element&quot;);</span>
          +<span class="nc" id="L228">                    }</span>
                           }
                       }
                   }
          -<span class="nc" id="L233">    }</span>
          +<span class="nc" id="L232">    }</span>
           
               private void loadPlaylists() {
          -<span class="nc" id="L236">        NodeList playlistNodes = xmlHandler.parseXMLFile(PLAYLISTS_FILE_PATH);</span>
          -<span class="nc bnc" id="L237" title="All 2 branches missed.">        if (playlistNodes == null) return;</span>
          +<span class="nc" id="L235">        NodeList playlistNodes = xmlHandler.parseXMLFile(PLAYLISTS_FILE_PATH);</span>
          +<span class="nc bnc" id="L236" title="All 2 branches missed.">        if (playlistNodes == null) return;</span>
           
          -<span class="nc bnc" id="L239" title="All 2 branches missed.">        for (int i = 0; i &lt; playlistNodes.getLength(); i++) {</span>
          -<span class="nc bnc" id="L240" title="All 2 branches missed.">            if (playlistNodes.item(i).getNodeType() == Node.ELEMENT_NODE) {</span>
          -<span class="nc" id="L241">                Element playlistElement = (Element) playlistNodes.item(i);</span>
          -<span class="nc bnc" id="L242" title="All 2 branches missed.">                if (playlistElement.getNodeName().equals(&quot;playlist&quot;)) {</span>
          +<span class="nc bnc" id="L238" title="All 2 branches missed.">        for (int i = 0; i &lt; playlistNodes.getLength(); i++) {</span>
          +<span class="nc bnc" id="L239" title="All 2 branches missed.">            if (playlistNodes.item(i).getNodeType() == Node.ELEMENT_NODE) {</span>
          +<span class="nc" id="L240">                Element playlistElement = (Element) playlistNodes.item(i);</span>
          +<span class="nc bnc" id="L241" title="All 2 branches missed.">                if (playlistElement.getNodeName().equals(&quot;playlist&quot;)) {</span>
                               try {
          -<span class="nc" id="L244">                        this.addPlaylist(new PlayList(playlistElement));</span>
          -<span class="nc" id="L245">                    } catch (Exception ex) {</span>
          -<span class="nc" id="L246">                        System.out.println(&quot;Something is wrong with the XML playlist element&quot;);</span>
          -<span class="nc" id="L247">                    }</span>
          +<span class="nc" id="L243">                        this.addPlaylist(new PlayList(playlistElement));</span>
          +<span class="nc" id="L244">                    } catch (Exception ex) {</span>
          +<span class="nc" id="L245">                        System.out.println(&quot;Something is wrong with the XML playlist element&quot;);</span>
          +<span class="nc" id="L246">                    }</span>
                           }
                       }
                   }
          -<span class="nc" id="L251">    }</span>
          +<span class="nc" id="L250">    }</span>
           
               private void loadElements() {
          -<span class="nc" id="L254">        NodeList audioelementsNodes = xmlHandler.parseXMLFile(ELEMENTS_FILE_PATH);</span>
          -<span class="nc bnc" id="L255" title="All 2 branches missed.">        if (audioelementsNodes == null) return;</span>
          +<span class="nc" id="L253">        NodeList audioelementsNodes = xmlHandler.parseXMLFile(ELEMENTS_FILE_PATH);</span>
          +<span class="nc bnc" id="L254" title="All 2 branches missed.">        if (audioelementsNodes == null) return;</span>
           
          -<span class="nc bnc" id="L257" title="All 2 branches missed.">        for (int i = 0; i &lt; audioelementsNodes.getLength(); i++) {</span>
          -<span class="nc bnc" id="L258" title="All 2 branches missed.">            if (audioelementsNodes.item(i).getNodeType() == Node.ELEMENT_NODE) {</span>
          -<span class="nc" id="L259">                Element audioElement = (Element) audioelementsNodes.item(i);</span>
          -<span class="nc bnc" id="L260" title="All 2 branches missed.">                if (audioElement.getNodeName().equals(&quot;song&quot;)) {</span>
          +<span class="nc bnc" id="L256" title="All 2 branches missed.">        for (int i = 0; i &lt; audioelementsNodes.getLength(); i++) {</span>
          +<span class="nc bnc" id="L257" title="All 2 branches missed.">            if (audioelementsNodes.item(i).getNodeType() == Node.ELEMENT_NODE) {</span>
          +<span class="nc" id="L258">                Element audioElement = (Element) audioelementsNodes.item(i);</span>
          +<span class="nc bnc" id="L259" title="All 2 branches missed.">                if (audioElement.getNodeName().equals(&quot;song&quot;)) {</span>
                               try {
          -<span class="nc" id="L262">                        AudioElement newSong = new Song(audioElement);</span>
          -<span class="nc" id="L263">                        this.addElement(newSong);</span>
          -<span class="nc" id="L264">                    } catch (Exception ex) {</span>
          -<span class="nc" id="L265">                        System.out.println(&quot;Something is wrong with the XML song element&quot;);</span>
          -<span class="nc" id="L266">                    }</span>
          +<span class="nc" id="L261">                        AudioElement newSong = new Song(audioElement);</span>
          +<span class="nc" id="L262">                        this.addElement(newSong);</span>
          +<span class="nc" id="L263">                    } catch (Exception ex) {</span>
          +<span class="nc" id="L264">                        System.out.println(&quot;Something is wrong with the XML song element&quot;);</span>
          +<span class="nc" id="L265">                    }</span>
                           }
          -<span class="nc bnc" id="L268" title="All 2 branches missed.">                if (audioElement.getNodeName().equals(&quot;audiobook&quot;)) {</span>
          +<span class="nc bnc" id="L267" title="All 2 branches missed.">                if (audioElement.getNodeName().equals(&quot;audiobook&quot;)) {</span>
                               try {
          -<span class="nc" id="L270">                        AudioElement newAudioBook = new AudioBook(audioElement);</span>
          -<span class="nc" id="L271">                        this.addElement(newAudioBook);</span>
          -<span class="nc" id="L272">                    } catch (Exception ex) {</span>
          -<span class="nc" id="L273">                        System.out.println(&quot;Something is wrong with the XML audiobook element&quot;);</span>
          -<span class="nc" id="L274">                    }</span>
          +<span class="nc" id="L269">                        AudioElement newAudioBook = new AudioBook(audioElement);</span>
          +<span class="nc" id="L270">                        this.addElement(newAudioBook);</span>
          +<span class="nc" id="L271">                    } catch (Exception ex) {</span>
          +<span class="nc" id="L272">                        System.out.println(&quot;Something is wrong with the XML audiobook element&quot;);</span>
          +<span class="nc" id="L273">                    }</span>
                           }
                       }
                   }
          -<span class="nc" id="L278">    }</span>
          +<span class="nc" id="L277">    }</span>
           
           
               public void saveAlbums() {
          -<span class="nc" id="L282">        Document document = xmlHandler.createXMLDocument();</span>
          -<span class="nc bnc" id="L283" title="All 2 branches missed.">        if (document == null) return;</span>
          +<span class="nc" id="L281">        Document document = xmlHandler.createXMLDocument();</span>
          +<span class="nc bnc" id="L282" title="All 2 branches missed.">        if (document == null) return;</span>
           
                   // root element
          -<span class="nc" id="L286">        Element root = document.createElement(&quot;albums&quot;);</span>
          -<span class="nc" id="L287">        document.appendChild(root);</span>
          +<span class="nc" id="L285">        Element root = document.createElement(&quot;albums&quot;);</span>
          +<span class="nc" id="L286">        document.appendChild(root);</span>
           
                   //save all albums
          -<span class="nc bnc" id="L290" title="All 2 branches missed.">        for (Iterator&lt;Album&gt; albumsIter = this.albums(); albumsIter.hasNext(); ) {</span>
          -<span class="nc" id="L291">            Album currentAlbum = albumsIter.next();</span>
          -<span class="nc" id="L292">            currentAlbum.createXMLElement(document, root);</span>
          -<span class="nc" id="L293">        }</span>
          -<span class="nc" id="L294">        xmlHandler.createXMLFile(document, ALBUMS_FILE_PATH);</span>
          -<span class="nc" id="L295">    }</span>
          +<span class="nc bnc" id="L289" title="All 2 branches missed.">        for (Iterator&lt;Album&gt; albumsIter = this.albums(); albumsIter.hasNext(); ) {</span>
          +<span class="nc" id="L290">            Album currentAlbum = albumsIter.next();</span>
          +<span class="nc" id="L291">            currentAlbum.createXMLElement(document, root);</span>
          +<span class="nc" id="L292">        }</span>
          +<span class="nc" id="L293">        xmlHandler.createXMLFile(document, ALBUMS_FILE_PATH);</span>
          +<span class="nc" id="L294">    }</span>
           
               public void savePlayLists() {
          -<span class="nc" id="L298">        Document document = xmlHandler.createXMLDocument();</span>
          -<span class="nc bnc" id="L299" title="All 2 branches missed.">        if (document == null) return;</span>
          +<span class="nc" id="L297">        Document document = xmlHandler.createXMLDocument();</span>
          +<span class="nc bnc" id="L298" title="All 2 branches missed.">        if (document == null) return;</span>
           
                   // root element
          -<span class="nc" id="L302">        Element root = document.createElement(&quot;playlists&quot;);</span>
          -<span class="nc" id="L303">        document.appendChild(root);</span>
          +<span class="nc" id="L301">        Element root = document.createElement(&quot;playlists&quot;);</span>
          +<span class="nc" id="L302">        document.appendChild(root);</span>
           
                   //save all playlists
          -<span class="nc bnc" id="L306" title="All 2 branches missed.">        for (Iterator&lt;PlayList&gt; playlistsIter = this.playlists(); playlistsIter.hasNext(); ) {</span>
          -<span class="nc" id="L307">            PlayList currentPlayList = playlistsIter.next();</span>
          -<span class="nc" id="L308">            currentPlayList.createXMLElement(document, root);</span>
          -<span class="nc" id="L309">        }</span>
          -<span class="nc" id="L310">        xmlHandler.createXMLFile(document, PLAYLISTS_FILE_PATH);</span>
          -<span class="nc" id="L311">    }</span>
          +<span class="nc bnc" id="L305" title="All 2 branches missed.">        for (Iterator&lt;PlayList&gt; playlistsIter = this.playlists(); playlistsIter.hasNext(); ) {</span>
          +<span class="nc" id="L306">            PlayList currentPlayList = playlistsIter.next();</span>
          +<span class="nc" id="L307">            currentPlayList.createXMLElement(document, root);</span>
          +<span class="nc" id="L308">        }</span>
          +<span class="nc" id="L309">        xmlHandler.createXMLFile(document, PLAYLISTS_FILE_PATH);</span>
          +<span class="nc" id="L310">    }</span>
           
               public void saveElements() {
          -<span class="nc" id="L314">        Document document = xmlHandler.createXMLDocument();</span>
          -<span class="nc bnc" id="L315" title="All 2 branches missed.">        if (document == null) return;</span>
          +<span class="nc" id="L313">        Document document = xmlHandler.createXMLDocument();</span>
          +<span class="nc bnc" id="L314" title="All 2 branches missed.">        if (document == null) return;</span>
           
                   // root element
          -<span class="nc" id="L318">        Element root = document.createElement(&quot;elements&quot;);</span>
          -<span class="nc" id="L319">        document.appendChild(root);</span>
          +<span class="nc" id="L317">        Element root = document.createElement(&quot;elements&quot;);</span>
          +<span class="nc" id="L318">        document.appendChild(root);</span>
           
                   //save all AudioElements
          -<span class="nc bnc" id="L322" title="All 2 branches missed.">        for (AudioElement currentElement : elements) {</span>
          +<span class="nc bnc" id="L321" title="All 2 branches missed.">        for (AudioElement currentElement : elements) {</span>
           
          -<span class="nc bnc" id="L324" title="All 2 branches missed.">            if (currentElement instanceof Song) {</span>
          -<span class="nc" id="L325">                currentElement.createXMLElement(document, root);</span>
          +<span class="nc bnc" id="L323" title="All 2 branches missed.">            if (currentElement instanceof Song) {</span>
          +<span class="nc" id="L324">                currentElement.createXMLElement(document, root);</span>
                       }
          -<span class="nc bnc" id="L327" title="All 2 branches missed.">            if (currentElement instanceof AudioBook) {</span>
          -<span class="nc" id="L328">                currentElement.createXMLElement(document, root);</span>
          +<span class="nc bnc" id="L326" title="All 2 branches missed.">            if (currentElement instanceof AudioBook) {</span>
          +<span class="nc" id="L327">                currentElement.createXMLElement(document, root);</span>
                       }
          -<span class="nc" id="L330">        }</span>
          -<span class="nc" id="L331">        xmlHandler.createXMLFile(document, ELEMENTS_FILE_PATH);</span>
          -<span class="nc" id="L332">    }</span>
          +<span class="nc" id="L329">        }</span>
          +<span class="nc" id="L330">        xmlHandler.createXMLFile(document, ELEMENTS_FILE_PATH);</span>
          +<span class="nc" id="L331">    }</span>
               
               public void getAudioElement(List&lt;AudioElement&gt; audios, String elementTitle) throws NoAlbumFoundException, UnsupportedAudioFileException, IOException, LineUnavailableException {
          -<span class="nc bnc" id="L335" title="All 2 branches missed.">        for (AudioElement el : audios) {</span>
          -<span class="nc bnc" id="L336" title="All 2 branches missed.">            if (el.getTitle().equalsIgnoreCase(elementTitle)) {</span>
          -<span class="nc" id="L337">                el.manageAudioElement();</span>
          +<span class="nc bnc" id="L334" title="All 2 branches missed.">        for (AudioElement el : audios) {</span>
          +<span class="nc bnc" id="L335" title="All 2 branches missed.">            if (el.getTitle().equalsIgnoreCase(elementTitle)) {</span>
          +<span class="nc" id="L336">                el.manageAudioElement();</span>
                       }
          -<span class="nc" id="L339">        }</span>
          +<span class="nc" id="L338">        }</span>
           
          -<span class="nc" id="L341">    }</span>
          +<span class="nc" id="L340">    }</span>
           
               public void searchAudioElement() throws UnsupportedAudioFileException, NoAlbumFoundException, LineUnavailableException, IOException, NoElementFoundException {
          -<span class="nc" id="L344">        Scanner scanner = new Scanner(System.in);</span>
          -<span class="nc" id="L345">        System.out.println(&quot;Entrez le titre ou l'artiste de la musique que vous souhaitez chercher dans la base de données&quot;);</span>
          -<span class="nc" id="L346">        String word = scanner.next().toLowerCase(Locale.ROOT);</span>
          -<span class="nc" id="L347">        List&lt;AudioElement&gt; searchResult = new ArrayList&lt;&gt;();</span>
          -<span class="nc bnc" id="L348" title="All 2 branches missed.">        for(AudioElement el : elements){</span>
          -<span class="nc bnc" id="L349" title="All 4 branches missed.">            if(el.getTitle().toLowerCase(Locale.ROOT).contains(word) || el.getArtist().toLowerCase(Locale.ROOT).contains(word)){</span>
          -<span class="nc" id="L350">                searchResult.add(el);</span>
          -<span class="nc" id="L351">                System.out.println(el);</span>
          +<span class="nc" id="L343">        Scanner scanner = new Scanner(System.in);</span>
          +<span class="nc" id="L344">        System.out.println(&quot;Entrez le titre ou l'artiste de la musique que vous souhaitez chercher dans la base de données&quot;);</span>
          +<span class="nc" id="L345">        String word = scanner.next().toLowerCase(Locale.ROOT);</span>
          +<span class="nc" id="L346">        List&lt;AudioElement&gt; searchResult = new ArrayList&lt;&gt;();</span>
          +<span class="nc bnc" id="L347" title="All 2 branches missed.">        for(AudioElement el : elements){</span>
          +<span class="nc bnc" id="L348" title="All 4 branches missed.">            if(el.getTitle().toLowerCase(Locale.ROOT).contains(word) || el.getArtist().toLowerCase(Locale.ROOT).contains(word)){</span>
          +<span class="nc" id="L349">                searchResult.add(el);</span>
          +<span class="nc" id="L350">                System.out.println(el);</span>
                       }
          -<span class="nc" id="L353">        }</span>
          +<span class="nc" id="L352">        }</span>
           
          -<span class="nc bnc" id="L355" title="All 2 branches missed.">        if(searchResult.isEmpty()){</span>
          -<span class="nc" id="L356">            throw new NoElementFoundException(&quot;Any result for your search&quot;);</span>
          +<span class="nc bnc" id="L354" title="All 2 branches missed.">        if (searchResult.isEmpty()) {</span>
          +<span class="nc" id="L355">            throw new NoElementFoundException(&quot;Any result for your search&quot;);</span>
                   }
          -<span class="nc bnc" id="L358" title="All 2 branches missed.">        if (searchResult.size()==1){</span>
          -<span class="nc" id="L359">            this.getAudioElement(searchResult, searchResult.get(0).getTitle());</span>
          +<span class="nc bnc" id="L357" title="All 2 branches missed.">        if (searchResult.size() == 1) {</span>
          +<span class="nc" id="L358">            this.getAudioElement(searchResult, searchResult.get(0).getTitle());</span>
                   }
          -<span class="nc" id="L361">    }</span>
          +<span class="nc" id="L360">    }</span>
          +
          +    /**
          +     * Method getting a list of playlists
          +     *
          +     * @return a list of playlist titles
          +     * @author Anthony BOULANT
          +     */
          +    public String getPlayListsTitles() {
          +<span class="nc" id="L369">        StringBuilder titleList = new StringBuilder();</span>
          +
          +<span class="nc bnc" id="L371" title="All 2 branches missed.">        for (PlayList pl : playlists)</span>
          +<span class="nc" id="L372">            titleList.append(pl.getTitle()).append(&quot;\n&quot;);</span>
          +<span class="nc" id="L373">        return titleList.toString();</span>
          +    }
           
          +    /**
          +     * Method checking the songs contained in a chosen playlist and returning them if found.
          +     *
          +     * @param playListTitle the title of a (chosen) playlist
          +     * @return a list of songs from a playlist
          +     * @throws NoPlayListFoundException if the chosen playlist doesn't exist
          +     * @author Anthony BOULANT
          +     */
          +    public List&lt;AudioElement&gt; getPlayListSongs(String playListTitle) throws NoPlayListFoundException {
          +<span class="nc" id="L385">        PlayList thePlayList = null;</span>
          +<span class="nc" id="L386">        ArrayList&lt;AudioElement&gt; songsInPlayList = new ArrayList&lt;&gt;();</span>
          +<span class="nc bnc" id="L387" title="All 2 branches missed.">        for (PlayList pl : playlists) {</span>
          +<span class="nc bnc" id="L388" title="All 2 branches missed.">            if (pl.getTitle().equalsIgnoreCase(playListTitle)) {</span>
          +<span class="nc" id="L389">                thePlayList = pl;</span>
          +<span class="nc" id="L390">                break;</span>
          +            }
          +<span class="nc" id="L392">        }</span>
          +<span class="nc bnc" id="L393" title="All 2 branches missed.">        if (thePlayList == null) throw new NoPlayListFoundException(&quot;No playlist with this title in the MusicHub!&quot;);</span>
          +
          +<span class="nc" id="L395">        List&lt;UUID&gt; songIDs = thePlayList.getElements();</span>
          +<span class="nc bnc" id="L396" title="All 2 branches missed.">        for (UUID id : songIDs)</span>
          +<span class="nc bnc" id="L397" title="All 2 branches missed.">            for (AudioElement el : elements) {</span>
          +<span class="nc bnc" id="L398" title="All 2 branches missed.">                if (el instanceof Song) {</span>
          +<span class="nc bnc" id="L399" title="All 2 branches missed.">                    if (el.getUUID().equals(id)) songsInPlayList.add(el);</span>
          +                }
          +<span class="nc" id="L401">            }</span>
          +<span class="nc" id="L402">        return songsInPlayList;</span>
          +
          +    }
           }
           </pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.business/SortByAuthor.html b/target/site/jacoco/musichub.business/SortByAuthor.html
          index 851cdce..b762715 100644
          --- a/target/site/jacoco/musichub.business/SortByAuthor.html
          +++ b/target/site/jacoco/musichub.business/SortByAuthor.html
          @@ -1 +1 @@
          -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SortByAuthor</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.html" class="el_package">musichub.business</a> &gt; <span class="el_class">SortByAuthor</span></div><h1>SortByAuthor</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">9 of 9</td><td class="ctr2">0 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="MusicHub.java.html#L29" class="el_method">compare(AudioElement, AudioElement)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="MusicHub.java.html#L27" class="el_method">SortByAuthor()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="60" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">0 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SortByAuthor</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.html" class="el_package">musichub.business</a> &gt; <span class="el_class">SortByAuthor</span></div><h1>SortByAuthor</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">9 of 9</td><td class="ctr2">0 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="MusicHub.java.html#L28" class="el_method">compare(AudioElement, AudioElement)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="MusicHub.java.html#L26" class="el_method">SortByAuthor()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="60" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">0 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.business/SortByDate.html b/target/site/jacoco/musichub.business/SortByDate.html
          index 8f4b2f7..6f9a099 100644
          --- a/target/site/jacoco/musichub.business/SortByDate.html
          +++ b/target/site/jacoco/musichub.business/SortByDate.html
          @@ -1 +1 @@
          -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SortByDate</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.html" class="el_package">musichub.business</a> &gt; <span class="el_class">SortByDate</span></div><h1>SortByDate</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">9 of 9</td><td class="ctr2">0 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="MusicHub.java.html#L17" class="el_method">compare(Album, Album)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="MusicHub.java.html#L15" class="el_method">SortByDate()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="60" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">0 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SortByDate</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.html" class="el_package">musichub.business</a> &gt; <span class="el_class">SortByDate</span></div><h1>SortByDate</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">9 of 9</td><td class="ctr2">0 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="MusicHub.java.html#L16" class="el_method">compare(Album, Album)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="MusicHub.java.html#L14" class="el_method">SortByDate()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="60" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">0 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.business/SortByGenre.html b/target/site/jacoco/musichub.business/SortByGenre.html
          index 6dd6e7d..d89caea 100644
          --- a/target/site/jacoco/musichub.business/SortByGenre.html
          +++ b/target/site/jacoco/musichub.business/SortByGenre.html
          @@ -1 +1 @@
          -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SortByGenre</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.html" class="el_package">musichub.business</a> &gt; <span class="el_class">SortByGenre</span></div><h1>SortByGenre</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">9 of 9</td><td class="ctr2">0 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="MusicHub.java.html#L23" class="el_method">compare(Song, Song)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="MusicHub.java.html#L21" class="el_method">SortByGenre()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="60" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">0 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SortByGenre</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.html" class="el_package">musichub.business</a> &gt; <span class="el_class">SortByGenre</span></div><h1>SortByGenre</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">9 of 9</td><td class="ctr2">0 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="MusicHub.java.html#L22" class="el_method">compare(Song, Song)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="MusicHub.java.html#L20" class="el_method">SortByGenre()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="60" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">0 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.business/index.html b/target/site/jacoco/musichub.business/index.html
          index f7cd669..2f40e82 100644
          --- a/target/site/jacoco/musichub.business/index.html
          +++ b/target/site/jacoco/musichub.business/index.html
          @@ -1 +1 @@
          -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>musichub.business</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <span class="el_package">musichub.business</span></div><h1>musichub.business</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">1 483 of 2 134</td><td class="ctr2">30 %</td><td class="bar">160 of 179</td><td class="ctr2">10 %</td><td class="ctr1">140</td><td class="ctr2">178</td><td class="ctr1">373</td><td class="ctr2">513</td><td class="ctr1">51</td><td class="ctr2">82</td><td class="ctr1">8</td><td class="ctr2">15</td></tr></tfoot><tbody><tr><td id="a6"><a href="MusicHub.html" class="el_class">MusicHub</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="874" alt="874"/></td><td class="ctr2" id="c7">0 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="124" alt="124"/></td><td class="ctr2" id="e4">0 %</td><td class="ctr1" id="f0">85</td><td class="ctr2" id="g0">85</td><td class="ctr1" id="h0">209</td><td class="ctr2" id="i0">209</td><td class="ctr1" id="j0">23</td><td class="ctr2" id="k0">23</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="Album.html" class="el_class">Album</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="45" height="10" title="330" alt="330"/></td><td class="ctr2" id="c8">0 %</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="13" height="10" title="14" alt="14"/></td><td class="ctr2" id="e5">0 %</td><td class="ctr1" id="f1">16</td><td class="ctr2" id="g2">16</td><td class="ctr1" id="h1">84</td><td class="ctr2" id="i1">84</td><td class="ctr1" id="j1">9</td><td class="ctr2" id="k1">9</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a1"><a href="AudioBook.html" class="el_class">AudioBook</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="16" height="10" title="117" alt="117"/><img src="../jacoco-resources/greenbar.gif" width="6" height="10" title="47" alt="47"/></td><td class="ctr2" id="c6">28 %</td><td class="bar" id="d3"><img src="../jacoco-resources/redbar.gif" width="7" height="10" title="8" alt="8"/><img src="../jacoco-resources/greenbar.gif" width="1" height="10" title="2" alt="2"/></td><td class="ctr2" id="e2">20 %</td><td class="ctr1" id="f2">12</td><td class="ctr2" id="g1">17</td><td class="ctr1" id="h3">27</td><td class="ctr2" id="i4">39</td><td class="ctr1" id="j2">4</td><td class="ctr2" id="k2">9</td><td class="ctr1" id="l8">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a2"><a href="AudioElement.html" class="el_class">AudioElement</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="11" height="10" title="85" alt="85"/><img src="../jacoco-resources/greenbar.gif" width="24" height="10" title="181" alt="181"/></td><td class="ctr2" id="c5">68 %</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="9" alt="9"/><img src="../jacoco-resources/greenbar.gif" width="1" height="10" title="2" alt="2"/></td><td class="ctr2" id="e3">18 %</td><td class="ctr1" id="f3">11</td><td class="ctr2" id="g3">16</td><td class="ctr1" id="h2">30</td><td class="ctr2" id="i2">72</td><td class="ctr1" id="j3">4</td><td class="ctr2" id="k3">9</td><td class="ctr1" id="l9">0</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a10"><a href="PlayList.html" class="el_class">PlayList</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="32" alt="32"/><img src="../jacoco-resources/greenbar.gif" width="23" height="10" title="170" alt="170"/></td><td class="ctr2" id="c4">84 %</td><td class="bar" id="d4"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="5" alt="5"/><img src="../jacoco-resources/greenbar.gif" width="8" height="10" title="9" alt="9"/></td><td class="ctr2" id="e1">64 %</td><td class="ctr1" id="f4">5</td><td class="ctr2" id="g4">14</td><td class="ctr1" id="h4">9</td><td class="ctr2" id="i3">53</td><td class="ctr1" id="j12">0</td><td class="ctr2" id="k4">7</td><td class="ctr1" id="l10">0</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a12"><a href="SortByAuthor.html" class="el_class">SortByAuthor</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="1" height="10" title="9" alt="9"/></td><td class="ctr2" id="c9">0 %</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f5">2</td><td class="ctr2" id="g9">2</td><td class="ctr1" id="h5">2</td><td class="ctr2" id="i9">2</td><td class="ctr1" id="j4">2</td><td class="ctr2" id="k9">2</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a13"><a href="SortByDate.html" class="el_class">SortByDate</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="1" height="10" title="9" alt="9"/></td><td class="ctr2" id="c10">0 %</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f6">2</td><td class="ctr2" id="g10">2</td><td class="ctr1" id="h6">2</td><td class="ctr2" id="i10">2</td><td class="ctr1" id="j5">2</td><td class="ctr2" id="k10">2</td><td class="ctr1" id="l3">1</td><td class="ctr2" id="m6">1</td></tr><tr><td id="a14"><a href="SortByGenre.html" class="el_class">SortByGenre</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="1" height="10" title="9" alt="9"/></td><td class="ctr2" id="c11">0 %</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f7">2</td><td class="ctr2" id="g11">2</td><td class="ctr1" id="h7">2</td><td class="ctr2" id="i11">2</td><td class="ctr1" id="j6">2</td><td class="ctr2" id="k11">2</td><td class="ctr1" id="l4">1</td><td class="ctr2" id="m7">1</td></tr><tr><td id="a7"><a href="NoAlbumFoundException.html" class="el_class">NoAlbumFoundException</a></td><td class="bar" id="b8"/><td class="ctr2" id="c12">0 %</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f8">1</td><td class="ctr2" id="g12">1</td><td class="ctr1" id="h8">2</td><td class="ctr2" id="i12">2</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k12">1</td><td class="ctr1" id="l5">1</td><td class="ctr2" id="m8">1</td></tr><tr><td id="a9"><a href="NoPlayListFoundException.html" class="el_class">NoPlayListFoundException</a></td><td class="bar" id="b9"/><td class="ctr2" id="c13">0 %</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f9">1</td><td class="ctr2" id="g13">1</td><td class="ctr1" id="h9">2</td><td class="ctr2" id="i13">2</td><td class="ctr1" id="j8">1</td><td class="ctr2" id="k13">1</td><td class="ctr1" id="l6">1</td><td class="ctr2" id="m9">1</td></tr><tr><td id="a8"><a href="NoElementFoundException.html" class="el_class">NoElementFoundException</a></td><td class="bar" id="b10"/><td class="ctr2" id="c14">0 %</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f10">1</td><td class="ctr2" id="g14">1</td><td class="ctr1" id="h10">2</td><td class="ctr2" id="i14">2</td><td class="ctr1" id="j9">1</td><td class="ctr2" id="k14">1</td><td class="ctr1" id="l7">1</td><td class="ctr2" id="m10">1</td></tr><tr><td id="a5"><a href="Language.html" class="el_class">Language</a></td><td class="bar" id="b11"><img src="../jacoco-resources/greenbar.gif" width="6" height="10" title="46" alt="46"/></td><td class="ctr2" id="c2">93 %</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f11">1</td><td class="ctr2" id="g6">3</td><td class="ctr1" id="h11">1</td><td class="ctr2" id="i6">6</td><td class="ctr1" id="j10">1</td><td class="ctr2" id="k6">3</td><td class="ctr1" id="l11">0</td><td class="ctr2" id="m11">1</td></tr><tr><td id="a3"><a href="Category.html" class="el_class">Category</a></td><td class="bar" id="b12"><img src="../jacoco-resources/greenbar.gif" width="6" height="10" title="46" alt="46"/></td><td class="ctr2" id="c3">93 %</td><td class="bar" id="d13"/><td class="ctr2" id="e13">n/a</td><td class="ctr1" id="f12">1</td><td class="ctr2" id="g7">3</td><td class="ctr1" id="h12">1</td><td class="ctr2" id="i7">6</td><td class="ctr1" id="j11">1</td><td class="ctr2" id="k7">3</td><td class="ctr1" id="l12">0</td><td class="ctr2" id="m12">1</td></tr><tr><td id="a11"><a href="Song.html" class="el_class">Song</a></td><td class="bar" id="b13"><img src="../jacoco-resources/greenbar.gif" width="14" height="10" title="105" alt="105"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d5"><img src="../jacoco-resources/greenbar.gif" width="5" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">100 %</td><td class="ctr1" id="f13">0</td><td class="ctr2" id="g5">12</td><td class="ctr1" id="h13">0</td><td class="ctr2" id="i5">26</td><td class="ctr1" id="j13">0</td><td class="ctr2" id="k5">7</td><td class="ctr1" id="l13">0</td><td class="ctr2" id="m13">1</td></tr><tr><td id="a4"><a href="Genre.html" class="el_class">Genre</a></td><td class="bar" id="b14"><img src="../jacoco-resources/greenbar.gif" width="7" height="10" title="56" alt="56"/></td><td class="ctr2" id="c1">100 %</td><td class="bar" id="d14"/><td class="ctr2" id="e14">n/a</td><td class="ctr1" id="f14">0</td><td class="ctr2" id="g8">3</td><td class="ctr1" id="h14">0</td><td class="ctr2" id="i8">6</td><td class="ctr1" id="j14">0</td><td class="ctr2" id="k8">3</td><td class="ctr1" id="l14">0</td><td class="ctr2" id="m14">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>musichub.business</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <span class="el_package">musichub.business</span></div><h1>musichub.business</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">1 588 of 2 239</td><td class="ctr2">29 %</td><td class="bar">175 of 194</td><td class="ctr2">9 %</td><td class="ctr1">149</td><td class="ctr2">187</td><td class="ctr1">393</td><td class="ctr2">533</td><td class="ctr1">53</td><td class="ctr2">84</td><td class="ctr1">8</td><td class="ctr2">15</td></tr></tfoot><tbody><tr><td id="a6"><a href="MusicHub.html" class="el_class">MusicHub</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="973" alt="973"/></td><td class="ctr2" id="c7">0 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="140" alt="140"/></td><td class="ctr2" id="e4">0 %</td><td class="ctr1" id="f0">95</td><td class="ctr2" id="g0">95</td><td class="ctr1" id="h0">228</td><td class="ctr2" id="i0">228</td><td class="ctr1" id="j0">25</td><td class="ctr2" id="k0">25</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="Album.html" class="el_class">Album</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="330" alt="330"/></td><td class="ctr2" id="c8">0 %</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="12" height="10" title="14" alt="14"/></td><td class="ctr2" id="e5">0 %</td><td class="ctr1" id="f1">16</td><td class="ctr2" id="g2">16</td><td class="ctr1" id="h1">84</td><td class="ctr2" id="i1">84</td><td class="ctr1" id="j1">9</td><td class="ctr2" id="k1">9</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a1"><a href="AudioBook.html" class="el_class">AudioBook</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="14" height="10" title="117" alt="117"/><img src="../jacoco-resources/greenbar.gif" width="5" height="10" title="47" alt="47"/></td><td class="ctr2" id="c6">28 %</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="6" height="10" title="8" alt="8"/><img src="../jacoco-resources/greenbar.gif" width="1" height="10" title="2" alt="2"/></td><td class="ctr2" id="e2">20 %</td><td class="ctr1" id="f2">12</td><td class="ctr2" id="g1">17</td><td class="ctr1" id="h3">27</td><td class="ctr2" id="i4">39</td><td class="ctr1" id="j2">4</td><td class="ctr2" id="k2">9</td><td class="ctr1" id="l8">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a2"><a href="AudioElement.html" class="el_class">AudioElement</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="11" height="10" title="91" alt="91"/><img src="../jacoco-resources/greenbar.gif" width="22" height="10" title="181" alt="181"/></td><td class="ctr2" id="c5">66 %</td><td class="bar" id="d3"><img src="../jacoco-resources/redbar.gif" width="6" height="10" title="8" alt="8"/><img src="../jacoco-resources/greenbar.gif" width="1" height="10" title="2" alt="2"/></td><td class="ctr2" id="e3">20 %</td><td class="ctr1" id="f3">10</td><td class="ctr2" id="g3">15</td><td class="ctr1" id="h2">31</td><td class="ctr2" id="i2">73</td><td class="ctr1" id="j3">4</td><td class="ctr2" id="k3">9</td><td class="ctr1" id="l9">0</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a10"><a href="PlayList.html" class="el_class">PlayList</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="3" height="10" title="32" alt="32"/><img src="../jacoco-resources/greenbar.gif" width="20" height="10" title="170" alt="170"/></td><td class="ctr2" id="c4">84 %</td><td class="bar" id="d4"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="5" alt="5"/><img src="../jacoco-resources/greenbar.gif" width="7" height="10" title="9" alt="9"/></td><td class="ctr2" id="e1">64 %</td><td class="ctr1" id="f4">5</td><td class="ctr2" id="g4">14</td><td class="ctr1" id="h4">9</td><td class="ctr2" id="i3">53</td><td class="ctr1" id="j12">0</td><td class="ctr2" id="k4">7</td><td class="ctr1" id="l10">0</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a12"><a href="SortByAuthor.html" class="el_class">SortByAuthor</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="1" height="10" title="9" alt="9"/></td><td class="ctr2" id="c9">0 %</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f5">2</td><td class="ctr2" id="g9">2</td><td class="ctr1" id="h5">2</td><td class="ctr2" id="i9">2</td><td class="ctr1" id="j4">2</td><td class="ctr2" id="k9">2</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a13"><a href="SortByDate.html" class="el_class">SortByDate</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="1" height="10" title="9" alt="9"/></td><td class="ctr2" id="c10">0 %</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f6">2</td><td class="ctr2" id="g10">2</td><td class="ctr1" id="h6">2</td><td class="ctr2" id="i10">2</td><td class="ctr1" id="j5">2</td><td class="ctr2" id="k10">2</td><td class="ctr1" id="l3">1</td><td class="ctr2" id="m6">1</td></tr><tr><td id="a14"><a href="SortByGenre.html" class="el_class">SortByGenre</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="1" height="10" title="9" alt="9"/></td><td class="ctr2" id="c11">0 %</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f7">2</td><td class="ctr2" id="g11">2</td><td class="ctr1" id="h7">2</td><td class="ctr2" id="i11">2</td><td class="ctr1" id="j6">2</td><td class="ctr2" id="k11">2</td><td class="ctr1" id="l4">1</td><td class="ctr2" id="m7">1</td></tr><tr><td id="a7"><a href="NoAlbumFoundException.html" class="el_class">NoAlbumFoundException</a></td><td class="bar" id="b8"/><td class="ctr2" id="c12">0 %</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f8">1</td><td class="ctr2" id="g12">1</td><td class="ctr1" id="h8">2</td><td class="ctr2" id="i12">2</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k12">1</td><td class="ctr1" id="l5">1</td><td class="ctr2" id="m8">1</td></tr><tr><td id="a9"><a href="NoPlayListFoundException.html" class="el_class">NoPlayListFoundException</a></td><td class="bar" id="b9"/><td class="ctr2" id="c13">0 %</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f9">1</td><td class="ctr2" id="g13">1</td><td class="ctr1" id="h9">2</td><td class="ctr2" id="i13">2</td><td class="ctr1" id="j8">1</td><td class="ctr2" id="k13">1</td><td class="ctr1" id="l6">1</td><td class="ctr2" id="m9">1</td></tr><tr><td id="a8"><a href="NoElementFoundException.html" class="el_class">NoElementFoundException</a></td><td class="bar" id="b10"/><td class="ctr2" id="c14">0 %</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f10">1</td><td class="ctr2" id="g14">1</td><td class="ctr1" id="h10">2</td><td class="ctr2" id="i14">2</td><td class="ctr1" id="j9">1</td><td class="ctr2" id="k14">1</td><td class="ctr1" id="l7">1</td><td class="ctr2" id="m10">1</td></tr><tr><td id="a5"><a href="Language.html" class="el_class">Language</a></td><td class="bar" id="b11"><img src="../jacoco-resources/greenbar.gif" width="5" height="10" title="46" alt="46"/></td><td class="ctr2" id="c2">93 %</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f11">1</td><td class="ctr2" id="g6">3</td><td class="ctr1" id="h11">1</td><td class="ctr2" id="i6">6</td><td class="ctr1" id="j10">1</td><td class="ctr2" id="k6">3</td><td class="ctr1" id="l11">0</td><td class="ctr2" id="m11">1</td></tr><tr><td id="a3"><a href="Category.html" class="el_class">Category</a></td><td class="bar" id="b12"><img src="../jacoco-resources/greenbar.gif" width="5" height="10" title="46" alt="46"/></td><td class="ctr2" id="c3">93 %</td><td class="bar" id="d13"/><td class="ctr2" id="e13">n/a</td><td class="ctr1" id="f12">1</td><td class="ctr2" id="g7">3</td><td class="ctr1" id="h12">1</td><td class="ctr2" id="i7">6</td><td class="ctr1" id="j11">1</td><td class="ctr2" id="k7">3</td><td class="ctr1" id="l12">0</td><td class="ctr2" id="m12">1</td></tr><tr><td id="a11"><a href="Song.html" class="el_class">Song</a></td><td class="bar" id="b13"><img src="../jacoco-resources/greenbar.gif" width="12" height="10" title="105" alt="105"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d5"><img src="../jacoco-resources/greenbar.gif" width="5" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">100 %</td><td class="ctr1" id="f13">0</td><td class="ctr2" id="g5">12</td><td class="ctr1" id="h13">0</td><td class="ctr2" id="i5">26</td><td class="ctr1" id="j13">0</td><td class="ctr2" id="k5">7</td><td class="ctr1" id="l13">0</td><td class="ctr2" id="m13">1</td></tr><tr><td id="a4"><a href="Genre.html" class="el_class">Genre</a></td><td class="bar" id="b14"><img src="../jacoco-resources/greenbar.gif" width="6" height="10" title="56" alt="56"/></td><td class="ctr2" id="c1">100 %</td><td class="bar" id="d14"/><td class="ctr2" id="e14">n/a</td><td class="ctr1" id="f14">0</td><td class="ctr2" id="g8">3</td><td class="ctr1" id="h14">0</td><td class="ctr2" id="i8">6</td><td class="ctr1" id="j14">0</td><td class="ctr2" id="k8">3</td><td class="ctr1" id="l14">0</td><td class="ctr2" id="m14">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.business/index.source.html b/target/site/jacoco/musichub.business/index.source.html
          index 15d2893..8bc89c8 100644
          --- a/target/site/jacoco/musichub.business/index.source.html
          +++ b/target/site/jacoco/musichub.business/index.source.html
          @@ -1 +1 @@
          -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>musichub.business</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <span class="el_package">musichub.business</span></div><h1>musichub.business</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">1 483 of 2 134</td><td class="ctr2">30 %</td><td class="bar">160 of 179</td><td class="ctr2">10 %</td><td class="ctr1">140</td><td class="ctr2">178</td><td class="ctr1">373</td><td class="ctr2">513</td><td class="ctr1">51</td><td class="ctr2">82</td><td class="ctr1">8</td><td class="ctr2">15</td></tr></tfoot><tbody><tr><td id="a6"><a href="MusicHub.java.html" class="el_source">MusicHub.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="901" alt="901"/></td><td class="ctr2" id="c7">0 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="124" alt="124"/></td><td class="ctr2" id="e4">0 %</td><td class="ctr1" id="f0">91</td><td class="ctr2" id="g0">91</td><td class="ctr1" id="h0">215</td><td class="ctr2" id="i0">215</td><td class="ctr1" id="j0">29</td><td class="ctr2" id="k0">29</td><td class="ctr1" id="l0">4</td><td class="ctr2" id="m0">4</td></tr><tr><td id="a0"><a href="Album.java.html" class="el_source">Album.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="43" height="10" title="330" alt="330"/></td><td class="ctr2" id="c8">0 %</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="13" height="10" title="14" alt="14"/></td><td class="ctr2" id="e5">0 %</td><td class="ctr1" id="f1">16</td><td class="ctr2" id="g2">16</td><td class="ctr1" id="h1">84</td><td class="ctr2" id="i1">84</td><td class="ctr1" id="j1">9</td><td class="ctr2" id="k1">9</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a1"><a href="AudioBook.java.html" class="el_source">AudioBook.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="15" height="10" title="117" alt="117"/><img src="../jacoco-resources/greenbar.gif" width="6" height="10" title="47" alt="47"/></td><td class="ctr2" id="c6">28 %</td><td class="bar" id="d3"><img src="../jacoco-resources/redbar.gif" width="7" height="10" title="8" alt="8"/><img src="../jacoco-resources/greenbar.gif" width="1" height="10" title="2" alt="2"/></td><td class="ctr2" id="e2">20 %</td><td class="ctr1" id="f2">12</td><td class="ctr2" id="g1">17</td><td class="ctr1" id="h3">27</td><td class="ctr2" id="i4">39</td><td class="ctr1" id="j2">4</td><td class="ctr2" id="k2">9</td><td class="ctr1" id="l5">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a2"><a href="AudioElement.java.html" class="el_source">AudioElement.java</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="11" height="10" title="85" alt="85"/><img src="../jacoco-resources/greenbar.gif" width="24" height="10" title="181" alt="181"/></td><td class="ctr2" id="c5">68 %</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="9" alt="9"/><img src="../jacoco-resources/greenbar.gif" width="1" height="10" title="2" alt="2"/></td><td class="ctr2" id="e3">18 %</td><td class="ctr1" id="f3">11</td><td class="ctr2" id="g3">16</td><td class="ctr1" id="h2">30</td><td class="ctr2" id="i2">72</td><td class="ctr1" id="j3">4</td><td class="ctr2" id="k3">9</td><td class="ctr1" id="l6">0</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a10"><a href="PlayList.java.html" class="el_source">PlayList.java</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="32" alt="32"/><img src="../jacoco-resources/greenbar.gif" width="22" height="10" title="170" alt="170"/></td><td class="ctr2" id="c4">84 %</td><td class="bar" id="d4"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="5" alt="5"/><img src="../jacoco-resources/greenbar.gif" width="8" height="10" title="9" alt="9"/></td><td class="ctr2" id="e1">64 %</td><td class="ctr1" id="f4">5</td><td class="ctr2" id="g4">14</td><td class="ctr1" id="h4">9</td><td class="ctr2" id="i3">53</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k4">7</td><td class="ctr1" id="l7">0</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a7"><a href="NoAlbumFoundException.java.html" class="el_source">NoAlbumFoundException.java</a></td><td class="bar" id="b5"/><td class="ctr2" id="c9">0 %</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h5">2</td><td class="ctr2" id="i9">2</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k9">1</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a9"><a href="NoPlayListFoundException.java.html" class="el_source">NoPlayListFoundException.java</a></td><td class="bar" id="b6"/><td class="ctr2" id="c10">0 %</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h6">2</td><td class="ctr2" id="i10">2</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k10">1</td><td class="ctr1" id="l3">1</td><td class="ctr2" id="m6">1</td></tr><tr><td id="a8"><a href="NoElementFoundException.java.html" class="el_source">NoElementFoundException.java</a></td><td class="bar" id="b7"/><td class="ctr2" id="c11">0 %</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f7">1</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h7">2</td><td class="ctr2" id="i11">2</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k11">1</td><td class="ctr1" id="l4">1</td><td class="ctr2" id="m7">1</td></tr><tr><td id="a5"><a href="Language.java.html" class="el_source">Language.java</a></td><td class="bar" id="b8"><img src="../jacoco-resources/greenbar.gif" width="6" height="10" title="46" alt="46"/></td><td class="ctr2" id="c2">93 %</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f8">1</td><td class="ctr2" id="g6">3</td><td class="ctr1" id="h8">1</td><td class="ctr2" id="i6">6</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k6">3</td><td class="ctr1" id="l8">0</td><td class="ctr2" id="m8">1</td></tr><tr><td id="a3"><a href="Category.java.html" class="el_source">Category.java</a></td><td class="bar" id="b9"><img src="../jacoco-resources/greenbar.gif" width="6" height="10" title="46" alt="46"/></td><td class="ctr2" id="c3">93 %</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f9">1</td><td class="ctr2" id="g7">3</td><td class="ctr1" id="h9">1</td><td class="ctr2" id="i7">6</td><td class="ctr1" id="j8">1</td><td class="ctr2" id="k7">3</td><td class="ctr1" id="l9">0</td><td class="ctr2" id="m9">1</td></tr><tr><td id="a11"><a href="Song.java.html" class="el_source">Song.java</a></td><td class="bar" id="b10"><img src="../jacoco-resources/greenbar.gif" width="13" height="10" title="105" alt="105"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d5"><img src="../jacoco-resources/greenbar.gif" width="5" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">100 %</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g5">12</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i5">26</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k5">7</td><td class="ctr1" id="l10">0</td><td class="ctr2" id="m10">1</td></tr><tr><td id="a4"><a href="Genre.java.html" class="el_source">Genre.java</a></td><td class="bar" id="b11"><img src="../jacoco-resources/greenbar.gif" width="7" height="10" title="56" alt="56"/></td><td class="ctr2" id="c1">100 %</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">0</td><td class="ctr2" id="g8">3</td><td class="ctr1" id="h11">0</td><td class="ctr2" id="i8">6</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k8">3</td><td class="ctr1" id="l11">0</td><td class="ctr2" id="m11">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>musichub.business</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <span class="el_package">musichub.business</span></div><h1>musichub.business</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">1 588 of 2 239</td><td class="ctr2">29 %</td><td class="bar">175 of 194</td><td class="ctr2">9 %</td><td class="ctr1">149</td><td class="ctr2">187</td><td class="ctr1">393</td><td class="ctr2">533</td><td class="ctr1">53</td><td class="ctr2">84</td><td class="ctr1">8</td><td class="ctr2">15</td></tr></tfoot><tbody><tr><td id="a6"><a href="MusicHub.java.html" class="el_source">MusicHub.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="1 000" alt="1 000"/></td><td class="ctr2" id="c7">0 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="140" alt="140"/></td><td class="ctr2" id="e4">0 %</td><td class="ctr1" id="f0">101</td><td class="ctr2" id="g0">101</td><td class="ctr1" id="h0">234</td><td class="ctr2" id="i0">234</td><td class="ctr1" id="j0">31</td><td class="ctr2" id="k0">31</td><td class="ctr1" id="l0">4</td><td class="ctr2" id="m0">4</td></tr><tr><td id="a0"><a href="Album.java.html" class="el_source">Album.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="39" height="10" title="330" alt="330"/></td><td class="ctr2" id="c8">0 %</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="12" height="10" title="14" alt="14"/></td><td class="ctr2" id="e5">0 %</td><td class="ctr1" id="f1">16</td><td class="ctr2" id="g2">16</td><td class="ctr1" id="h1">84</td><td class="ctr2" id="i1">84</td><td class="ctr1" id="j1">9</td><td class="ctr2" id="k1">9</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a1"><a href="AudioBook.java.html" class="el_source">AudioBook.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="14" height="10" title="117" alt="117"/><img src="../jacoco-resources/greenbar.gif" width="5" height="10" title="47" alt="47"/></td><td class="ctr2" id="c6">28 %</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="6" height="10" title="8" alt="8"/><img src="../jacoco-resources/greenbar.gif" width="1" height="10" title="2" alt="2"/></td><td class="ctr2" id="e2">20 %</td><td class="ctr1" id="f2">12</td><td class="ctr2" id="g1">17</td><td class="ctr1" id="h3">27</td><td class="ctr2" id="i4">39</td><td class="ctr1" id="j2">4</td><td class="ctr2" id="k2">9</td><td class="ctr1" id="l5">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a2"><a href="AudioElement.java.html" class="el_source">AudioElement.java</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="10" height="10" title="91" alt="91"/><img src="../jacoco-resources/greenbar.gif" width="21" height="10" title="181" alt="181"/></td><td class="ctr2" id="c5">66 %</td><td class="bar" id="d3"><img src="../jacoco-resources/redbar.gif" width="6" height="10" title="8" alt="8"/><img src="../jacoco-resources/greenbar.gif" width="1" height="10" title="2" alt="2"/></td><td class="ctr2" id="e3">20 %</td><td class="ctr1" id="f3">10</td><td class="ctr2" id="g3">15</td><td class="ctr1" id="h2">31</td><td class="ctr2" id="i2">73</td><td class="ctr1" id="j3">4</td><td class="ctr2" id="k3">9</td><td class="ctr1" id="l6">0</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a10"><a href="PlayList.java.html" class="el_source">PlayList.java</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="3" height="10" title="32" alt="32"/><img src="../jacoco-resources/greenbar.gif" width="20" height="10" title="170" alt="170"/></td><td class="ctr2" id="c4">84 %</td><td class="bar" id="d4"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="5" alt="5"/><img src="../jacoco-resources/greenbar.gif" width="7" height="10" title="9" alt="9"/></td><td class="ctr2" id="e1">64 %</td><td class="ctr1" id="f4">5</td><td class="ctr2" id="g4">14</td><td class="ctr1" id="h4">9</td><td class="ctr2" id="i3">53</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k4">7</td><td class="ctr1" id="l7">0</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a7"><a href="NoAlbumFoundException.java.html" class="el_source">NoAlbumFoundException.java</a></td><td class="bar" id="b5"/><td class="ctr2" id="c9">0 %</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h5">2</td><td class="ctr2" id="i9">2</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k9">1</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a9"><a href="NoPlayListFoundException.java.html" class="el_source">NoPlayListFoundException.java</a></td><td class="bar" id="b6"/><td class="ctr2" id="c10">0 %</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h6">2</td><td class="ctr2" id="i10">2</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k10">1</td><td class="ctr1" id="l3">1</td><td class="ctr2" id="m6">1</td></tr><tr><td id="a8"><a href="NoElementFoundException.java.html" class="el_source">NoElementFoundException.java</a></td><td class="bar" id="b7"/><td class="ctr2" id="c11">0 %</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f7">1</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h7">2</td><td class="ctr2" id="i11">2</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k11">1</td><td class="ctr1" id="l4">1</td><td class="ctr2" id="m7">1</td></tr><tr><td id="a5"><a href="Language.java.html" class="el_source">Language.java</a></td><td class="bar" id="b8"><img src="../jacoco-resources/greenbar.gif" width="5" height="10" title="46" alt="46"/></td><td class="ctr2" id="c2">93 %</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f8">1</td><td class="ctr2" id="g6">3</td><td class="ctr1" id="h8">1</td><td class="ctr2" id="i6">6</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k6">3</td><td class="ctr1" id="l8">0</td><td class="ctr2" id="m8">1</td></tr><tr><td id="a3"><a href="Category.java.html" class="el_source">Category.java</a></td><td class="bar" id="b9"><img src="../jacoco-resources/greenbar.gif" width="5" height="10" title="46" alt="46"/></td><td class="ctr2" id="c3">93 %</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f9">1</td><td class="ctr2" id="g7">3</td><td class="ctr1" id="h9">1</td><td class="ctr2" id="i7">6</td><td class="ctr1" id="j8">1</td><td class="ctr2" id="k7">3</td><td class="ctr1" id="l9">0</td><td class="ctr2" id="m9">1</td></tr><tr><td id="a11"><a href="Song.java.html" class="el_source">Song.java</a></td><td class="bar" id="b10"><img src="../jacoco-resources/greenbar.gif" width="12" height="10" title="105" alt="105"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d5"><img src="../jacoco-resources/greenbar.gif" width="5" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">100 %</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g5">12</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i5">26</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k5">7</td><td class="ctr1" id="l10">0</td><td class="ctr2" id="m10">1</td></tr><tr><td id="a4"><a href="Genre.java.html" class="el_source">Genre.java</a></td><td class="bar" id="b11"><img src="../jacoco-resources/greenbar.gif" width="6" height="10" title="56" alt="56"/></td><td class="ctr2" id="c1">100 %</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">0</td><td class="ctr2" id="g8">3</td><td class="ctr1" id="h11">0</td><td class="ctr2" id="i8">6</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k8">3</td><td class="ctr1" id="l11">0</td><td class="ctr2" id="m11">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.main/Main.html b/target/site/jacoco/musichub.main/Main.html
          index 3666c2b..f24445f 100644
          --- a/target/site/jacoco/musichub.main/Main.html
          +++ b/target/site/jacoco/musichub.main/Main.html
          @@ -1 +1 @@
          -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Main</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.html" class="el_package">musichub.main</a> &gt; <span class="el_class">Main</span></div><h1>Main</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">625 of 625</td><td class="ctr2">0 %</td><td class="bar">42 of 42</td><td class="ctr2">0 %</td><td class="ctr1">31</td><td class="ctr2">31</td><td class="ctr1">215</td><td class="ctr2">215</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="Main.java.html#L19" class="el_method">main(String[])</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="579" alt="579"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="42" alt="42"/></td><td class="ctr2" id="e0">0 %</td><td class="ctr1" id="f0">29</td><td class="ctr2" id="g0">29</td><td class="ctr1" id="h0">199</td><td class="ctr2" id="i0">199</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="Main.java.html#L276" class="el_method">printAvailableCommands()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="43" alt="43"/></td><td class="ctr2" id="c1">0 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">15</td><td class="ctr2" id="i1">15</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="Main.java.html#L16" class="el_method">Main()</a></td><td class="bar" id="b2"/><td class="ctr2" id="c2">0 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Main</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.html" class="el_package">musichub.main</a> &gt; <span class="el_class">Main</span></div><h1>Main</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">722 of 722</td><td class="ctr2">0 %</td><td class="bar">43 of 43</td><td class="ctr2">0 %</td><td class="ctr1">32</td><td class="ctr2">32</td><td class="ctr1">251</td><td class="ctr2">251</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="Main.java.html#L19" class="el_method">main(String[])</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="673" alt="673"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="43" alt="43"/></td><td class="ctr2" id="e0">0 %</td><td class="ctr1" id="f0">30</td><td class="ctr2" id="g0">30</td><td class="ctr1" id="h0">234</td><td class="ctr2" id="i0">234</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="Main.java.html#L318" class="el_method">printAvailableCommands()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="46" alt="46"/></td><td class="ctr2" id="c1">0 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">16</td><td class="ctr2" id="i1">16</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="Main.java.html#L16" class="el_method">Main()</a></td><td class="bar" id="b2"/><td class="ctr2" id="c2">0 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.main/Main.java.html b/target/site/jacoco/musichub.main/Main.java.html
          index 121cc55..d2b3fb0 100644
          --- a/target/site/jacoco/musichub.main/Main.java.html
          +++ b/target/site/jacoco/musichub.main/Main.java.html
          @@ -31,7 +31,7 @@ import static musichub.util.Policy.showTerm;
           <span class="nc bnc" id="L31" title="All 2 branches missed.">        if (choice.length() == 0) System.exit(0);</span>
           
           <span class="nc bnc" id="L33" title="All 2 branches missed.">        while (!choice.equals(&quot;&quot;)) { //if the user puts nothing, quit the loop/system</span>
          -<span class="nc bnc" id="L34" title="All 16 branches missed.">            switch (choice.charAt(0)) {</span>
          +<span class="nc bnc" id="L34" title="All 17 branches missed.">            switch (choice.charAt(0)) {</span>
                           case 'q': //added the option directly in the switch instead of the loop
           <span class="nc" id="L36">                    System.exit(0);</span>
                           case 'h':
          @@ -54,240 +54,283 @@ import static musichub.util.Policy.showTerm;
           <span class="nc" id="L54">                    	List&lt;Song&gt; songs = theHub.getAlbumSongsSortedByGenre(albumTitle);</span>
           <span class="nc" id="L55">                        System.out.println(songs);</span>
           <span class="nc" id="L56">                    } catch (NoAlbumFoundException ex) {</span>
          -<span class="nc" id="L57">                        System.out.println(&quot;No album found with the requested title &quot; + ex.getMessage());</span>
          -<span class="nc" id="L58">                    }</span>
          -<span class="nc" id="L59">                    printAvailableCommands();</span>
          -<span class="nc" id="L60">                    choice = scan.nextLine();</span>
          -<span class="nc" id="L61">                    break;</span>
          +<span class="nc" id="L57">                        LogHandler.write(&quot;No album found with the requested title&quot;, &quot;WARNING&quot;);</span>
          +<span class="nc" id="L58">                        System.out.println(&quot;No album found with the requested title &quot; + ex.getMessage());</span>
          +<span class="nc" id="L59">                    }</span>
          +<span class="nc" id="L60">                    printAvailableCommands();</span>
          +<span class="nc" id="L61">                    choice = scan.nextLine();</span>
          +<span class="nc" id="L62">                    break;</span>
                           case 'd':
                               //songs of an album
          -<span class="nc" id="L64">                    System.out.println(&quot;Songs of an album will be displayed; enter the album name, available albums are:&quot;);</span>
          -<span class="nc" id="L65">                    System.out.println(theHub.getAlbumsTitlesSortedByDate());</span>
          +<span class="nc" id="L65">                    System.out.println(&quot;Songs of an album will be displayed; enter the album name, available albums are:&quot;);</span>
          +<span class="nc" id="L66">                    System.out.println(theHub.getAlbumsTitlesSortedByDate());</span>
           
          -<span class="nc" id="L67">                    albumTitle = scan.nextLine();</span>
          +<span class="nc" id="L68">                    albumTitle = scan.nextLine();</span>
                               try {
          -<span class="nc" id="L69">                    	List&lt;AudioElement&gt; songs = theHub.getAlbumSongs(albumTitle);</span>
          -<span class="nc" id="L70">                        System.out.println(theHub.getAlbumSongs(albumTitle));</span>
          -<span class="nc" id="L71">                        String song = scan.nextLine();</span>
          -<span class="nc" id="L72">                        theHub.getAudioElement(songs, song);</span>
          -<span class="nc" id="L73">                    } catch (NoAlbumFoundException ex) {</span>
          -<span class="nc" id="L74">                        System.out.println(&quot;No album found with the requested title &quot; + ex.getMessage());</span>
          -<span class="nc" id="L75">                    }</span>
          -<span class="nc" id="L76">                    printAvailableCommands();</span>
          -<span class="nc" id="L77">                    choice = scan.nextLine();</span>
          -<span class="nc" id="L78">                    break;</span>
          +<span class="nc" id="L70">                    	List&lt;AudioElement&gt; songs = theHub.getAlbumSongs(albumTitle);</span>
          +<span class="nc" id="L71">                        System.out.println(theHub.getAlbumSongs(albumTitle));</span>
          +<span class="nc" id="L72">                        String song = scan.nextLine();</span>
          +<span class="nc" id="L73">                        theHub.getAudioElement(songs, song);</span>
          +<span class="nc" id="L74">                    } catch (NoAlbumFoundException ex) {</span>
          +<span class="nc" id="L75">                        LogHandler.write(&quot;No album found with the requested title&quot;, &quot;WARNING&quot;);</span>
          +<span class="nc" id="L76">                        System.out.println(&quot;No album found with the requested title &quot; + ex.getMessage());</span>
          +<span class="nc" id="L77">                    }</span>
          +<span class="nc" id="L78">                    printAvailableCommands();</span>
          +<span class="nc" id="L79">                    choice = scan.nextLine();</span>
          +<span class="nc" id="L80">                    break;</span>
                           case 'u':
                               //audiobooks ordered by author
          -<span class="nc" id="L81">                    System.out.println(theHub.getAudiobooksTitlesSortedByAuthor());</span>
          -<span class="nc" id="L82">                    printAvailableCommands();</span>
          -<span class="nc" id="L83">                    choice = scan.nextLine();</span>
          -<span class="nc" id="L84">                    break;</span>
          +<span class="nc" id="L83">                    System.out.println(theHub.getAudiobooksTitlesSortedByAuthor());</span>
          +<span class="nc" id="L84">                    printAvailableCommands();</span>
          +<span class="nc" id="L85">                    choice = scan.nextLine();</span>
          +<span class="nc" id="L86">                    break;</span>
                           case 'c':
                               // add a new song
          -<span class="nc" id="L87">                    System.out.println(&quot;Enter a new song: &quot;);</span>
          -<span class="nc" id="L88">                    System.out.println(&quot;Song title: &quot;);</span>
          -<span class="nc" id="L89">                    String title = scan.nextLine();</span>
          -<span class="nc" id="L90">                    System.out.println(&quot;Song genre (jazz, classic, hiphop, rock, pop, rap):&quot;);</span>
          -<span class="nc" id="L91">                    String genre = scan.nextLine();</span>
          -<span class="nc" id="L92">                    System.out.println(&quot;Song artist: &quot;);</span>
          -<span class="nc" id="L93">                    String artist = scan.nextLine();</span>
          -<span class="nc" id="L94">                    System.out.println(&quot;Song length in seconds: &quot;);</span>
          -<span class="nc" id="L95">                    int length = Integer.parseInt(scan.nextLine());</span>
          +<span class="nc" id="L89">                    System.out.println(&quot;Enter a new song: &quot;);</span>
          +<span class="nc" id="L90">                    System.out.println(&quot;Song title: &quot;);</span>
          +<span class="nc" id="L91">                    String title = scan.nextLine();</span>
          +<span class="nc" id="L92">                    System.out.println(&quot;Song genre (jazz, classic, hiphop, rock, pop, rap):&quot;);</span>
          +<span class="nc" id="L93">                    String genre = scan.nextLine();</span>
          +<span class="nc" id="L94">                    System.out.println(&quot;Song artist: &quot;);</span>
          +<span class="nc" id="L95">                    String artist = scan.nextLine();</span>
           
          -<span class="nc" id="L97">                    System.out.println(&quot;Song content: &quot;);</span>
          -<span class="nc" id="L98">                    String content = scan.nextLine();</span>
          -<span class="nc bnc" id="L99" title="All 2 branches missed.">                    if (!isPathValid(content)) {</span>
          -<span class="nc" id="L100">                        String logMsg = &quot;The music file was not found with the path you've provided or the extension is not .wav&quot;;</span>
          -<span class="nc" id="L101">                        LogHandler.write(logMsg, &quot;WARNING&quot;); //write a line in the log file</span>
          -<span class="nc" id="L102">                        System.out.println(logMsg + &quot;\nType h for available commands&quot;);</span>
          -<span class="nc" id="L103">                        choice = scan.nextLine();</span>
          -<span class="nc" id="L104">                        break;</span>
          +                    int length;
          +                    try {
          +<span class="nc" id="L99">                        System.out.println(&quot;Song length in seconds: &quot;);</span>
          +<span class="nc" id="L100">                        length = Integer.parseInt(scan.nextLine());</span>
          +<span class="nc" id="L101">                    } catch (NumberFormatException ex) {</span>
          +<span class="nc" id="L102">                        String logMsg = &quot;You've not provided a number for the length.&quot;;</span>
          +<span class="nc" id="L103">                        LogHandler.write(logMsg, &quot;ERROR&quot;); //write a line in the log file</span>
          +<span class="nc" id="L104">                        System.err.println(logMsg);</span>
          +<span class="nc" id="L105">                        System.out.println(&quot;Type h for available commands&quot;);</span>
          +<span class="nc" id="L106">                        choice = scan.nextLine();</span>
          +<span class="nc" id="L107">                        break;</span>
          +<span class="nc" id="L108">                    }</span>
          +
          +<span class="nc" id="L110">                    System.out.println(&quot;Song content: &quot;);</span>
          +<span class="nc" id="L111">                    String content = scan.nextLine();</span>
          +<span class="nc bnc" id="L112" title="All 2 branches missed.">                    if (!isPathValid(content)) {</span>
          +<span class="nc" id="L113">                        String logMsg = &quot;The music file cannot be found with the path you've provided or the extension is not .wav&quot;;</span>
          +<span class="nc" id="L114">                        LogHandler.write(logMsg, &quot;ERROR&quot;); //write a line in the log file</span>
          +<span class="nc" id="L115">                        System.err.println(logMsg);</span>
          +<span class="nc" id="L116">                        System.out.println(&quot;Type h for available commands&quot;);</span>
          +<span class="nc" id="L117">                        choice = scan.nextLine();</span>
          +<span class="nc" id="L118">                        break;</span>
                               }
           
          -<span class="nc" id="L107">                    Song s = new Song(title, artist, length, content, genre);</span>
          -<span class="nc" id="L108">                    theHub.addElement(s);</span>
          -<span class="nc" id="L109">                    System.out.println(&quot;New element list: &quot;);</span>
          -<span class="nc" id="L110">                    Iterator&lt;AudioElement&gt; it = theHub.elements();</span>
          -<span class="nc bnc" id="L111" title="All 2 branches missed.">                    while (it.hasNext()) System.out.println(it.next().getTitle());</span>
          -<span class="nc" id="L112">                    System.out.println(&quot;Song created!&quot;);</span>
          -<span class="nc" id="L113">                    printAvailableCommands();</span>
          -<span class="nc" id="L114">                    choice = scan.nextLine();</span>
          -<span class="nc" id="L115">                    break;</span>
          +<span class="nc" id="L121">                    Song s = new Song(title, artist, length, content, genre);</span>
          +<span class="nc" id="L122">                    theHub.addElement(s);</span>
          +<span class="nc" id="L123">                    System.out.println(&quot;New element list: &quot;);</span>
          +<span class="nc" id="L124">                    Iterator&lt;AudioElement&gt; it = theHub.elements();</span>
          +<span class="nc bnc" id="L125" title="All 2 branches missed.">                    while (it.hasNext()) System.out.println(it.next().getTitle());</span>
          +<span class="nc" id="L126">                    LogHandler.write(&quot;Song successfully created&quot;, &quot;INFO&quot;);</span>
          +<span class="nc" id="L127">                    System.out.println(&quot;Song created!&quot;);</span>
          +<span class="nc" id="L128">                    printAvailableCommands();</span>
          +<span class="nc" id="L129">                    choice = scan.nextLine();</span>
          +<span class="nc" id="L130">                    break;</span>
                           case 'a':
                               // add a new album
          -<span class="nc" id="L118">                    System.out.println(&quot;Enter a new album: &quot;);</span>
          -<span class="nc" id="L119">                    System.out.println(&quot;Album title: &quot;);</span>
          -<span class="nc" id="L120">                    String aTitle = scan.nextLine();</span>
          -<span class="nc" id="L121">                    System.out.println(&quot;Album artist: &quot;);</span>
          -<span class="nc" id="L122">                    String aArtist = scan.nextLine();</span>
          -<span class="nc" id="L123">                    System.out.println(&quot;Album length in seconds: &quot;);</span>
          -<span class="nc" id="L124">                    int aLength = Integer.parseInt(scan.nextLine());</span>
          -<span class="nc" id="L125">                    System.out.println(&quot;Album date as YYYY-DD-MM: &quot;);</span>
          -<span class="nc" id="L126">                    String aDate = scan.nextLine();</span>
          -<span class="nc" id="L127">                    Album a = new Album(aTitle, aArtist, aLength, aDate);</span>
          -<span class="nc" id="L128">                    theHub.addAlbum(a);</span>
          -<span class="nc" id="L129">                    System.out.println(&quot;New list of albums: &quot;);</span>
          -<span class="nc" id="L130">                    Iterator&lt;Album&gt; ita = theHub.albums();</span>
          -<span class="nc bnc" id="L131" title="All 2 branches missed.">                    while (ita.hasNext()) System.out.println(ita.next().getTitle());</span>
          -<span class="nc" id="L132">                    System.out.println(&quot;Album created!&quot;);</span>
          -<span class="nc" id="L133">                    printAvailableCommands();</span>
          -<span class="nc" id="L134">                    choice = scan.nextLine();</span>
          -<span class="nc" id="L135">                    break;</span>
          +<span class="nc" id="L133">                    System.out.println(&quot;Enter a new album: &quot;);</span>
          +<span class="nc" id="L134">                    System.out.println(&quot;Album title: &quot;);</span>
          +<span class="nc" id="L135">                    String aTitle = scan.nextLine();</span>
          +<span class="nc" id="L136">                    System.out.println(&quot;Album artist: &quot;);</span>
          +<span class="nc" id="L137">                    String aArtist = scan.nextLine();</span>
          +<span class="nc" id="L138">                    System.out.println(&quot;Album length in seconds: &quot;);</span>
          +<span class="nc" id="L139">                    int aLength = Integer.parseInt(scan.nextLine());</span>
          +<span class="nc" id="L140">                    System.out.println(&quot;Album date as YYYY-DD-MM: &quot;);</span>
          +<span class="nc" id="L141">                    String aDate = scan.nextLine();</span>
          +<span class="nc" id="L142">                    Album a = new Album(aTitle, aArtist, aLength, aDate);</span>
          +<span class="nc" id="L143">                    theHub.addAlbum(a);</span>
          +<span class="nc" id="L144">                    System.out.println(&quot;New list of albums: &quot;);</span>
          +<span class="nc" id="L145">                    Iterator&lt;Album&gt; ita = theHub.albums();</span>
          +<span class="nc bnc" id="L146" title="All 2 branches missed.">                    while (ita.hasNext()) System.out.println(ita.next().getTitle());</span>
          +<span class="nc" id="L147">                    LogHandler.write(&quot;Album successfully created&quot;, &quot;INFO&quot;);</span>
          +<span class="nc" id="L148">                    System.out.println(&quot;Album created!&quot;);</span>
          +<span class="nc" id="L149">                    printAvailableCommands();</span>
          +<span class="nc" id="L150">                    choice = scan.nextLine();</span>
          +<span class="nc" id="L151">                    break;</span>
                           case '+':
                               //add a song to an album:
          -<span class="nc" id="L138">                    System.out.println(&quot;Add an existing song to an existing album&quot;);</span>
          -<span class="nc" id="L139">                    System.out.println(&quot;Type the name of the song you wish to add. Available songs: &quot;);</span>
          -<span class="nc" id="L140">                    Iterator&lt;AudioElement&gt; itae = theHub.elements();</span>
          -<span class="nc bnc" id="L141" title="All 2 branches missed.">                    while (itae.hasNext()) {</span>
          -<span class="nc" id="L142">                        AudioElement ae = itae.next();</span>
          -<span class="nc bnc" id="L143" title="All 2 branches missed.">                        if (ae instanceof Song) System.out.println(ae.getTitle());</span>
          -<span class="nc" id="L144">                    }</span>
          -<span class="nc" id="L145">                    String songTitle = scan.nextLine();</span>
          +<span class="nc" id="L154">                    System.out.println(&quot;Add an existing song to an existing album&quot;);</span>
          +<span class="nc" id="L155">                    System.out.println(&quot;Type the name of the song you wish to add. Available songs: &quot;);</span>
          +<span class="nc" id="L156">                    Iterator&lt;AudioElement&gt; itae = theHub.elements();</span>
          +<span class="nc bnc" id="L157" title="All 2 branches missed.">                    while (itae.hasNext()) {</span>
          +<span class="nc" id="L158">                        AudioElement ae = itae.next();</span>
          +<span class="nc bnc" id="L159" title="All 2 branches missed.">                        if (ae instanceof Song) System.out.println(ae.getTitle());</span>
          +<span class="nc" id="L160">                    }</span>
          +<span class="nc" id="L161">                    String songTitle = scan.nextLine();</span>
           
          -<span class="nc" id="L147">                    System.out.println(&quot;Type the name of the album you wish to enrich. Available albums: &quot;);</span>
          -<span class="nc" id="L148">                    Iterator&lt;Album&gt; ait = theHub.albums();</span>
          -<span class="nc bnc" id="L149" title="All 2 branches missed.">                    while (ait.hasNext()) {</span>
          -<span class="nc" id="L150">                        Album al = ait.next();</span>
          -<span class="nc" id="L151">                        System.out.println(al.getTitle());</span>
          -<span class="nc" id="L152">                    }</span>
          -<span class="nc" id="L153">                    String titleAlbum = scan.nextLine();</span>
          +<span class="nc" id="L163">                    System.out.println(&quot;Type the name of the album you wish to enrich. Available albums: &quot;);</span>
          +<span class="nc" id="L164">                    Iterator&lt;Album&gt; ait = theHub.albums();</span>
          +<span class="nc bnc" id="L165" title="All 2 branches missed.">                    while (ait.hasNext()) {</span>
          +<span class="nc" id="L166">                        Album al = ait.next();</span>
          +<span class="nc" id="L167">                        System.out.println(al.getTitle());</span>
          +<span class="nc" id="L168">                    }</span>
          +<span class="nc" id="L169">                    String titleAlbum = scan.nextLine();</span>
                               try {
          -<span class="nc" id="L155">                        theHub.addElementToAlbum(songTitle, titleAlbum);</span>
          -<span class="nc" id="L156">                    } catch (NoAlbumFoundException | NoElementFoundException ex) {</span>
          -<span class="nc" id="L157">                        System.out.println(ex.getMessage());</span>
          -<span class="nc" id="L158">                    }</span>
          -<span class="nc" id="L159">                    System.out.println(&quot;Song added to the album!&quot;);</span>
          -<span class="nc" id="L160">                    printAvailableCommands();</span>
          -<span class="nc" id="L161">                    choice = scan.nextLine();</span>
          -<span class="nc" id="L162">                    break;</span>
          +<span class="nc" id="L171">                        theHub.addElementToAlbum(songTitle, titleAlbum);</span>
          +<span class="nc" id="L172">                    } catch (NoAlbumFoundException | NoElementFoundException ex) {</span>
          +<span class="nc" id="L173">                        System.out.println(ex.getMessage());</span>
          +<span class="nc" id="L174">                    }</span>
          +<span class="nc" id="L175">                    LogHandler.write(&quot;Song successfully added to the album&quot;, &quot;INFO&quot;);</span>
          +<span class="nc" id="L176">                    System.out.println(&quot;Song added to the album!&quot;);</span>
          +<span class="nc" id="L177">                    printAvailableCommands();</span>
          +<span class="nc" id="L178">                    choice = scan.nextLine();</span>
          +<span class="nc" id="L179">                    break;</span>
                           case 'l':
                               // add a new audiobook
          -<span class="nc" id="L165">                    System.out.println(&quot;Enter a new audiobook: &quot;);</span>
          -<span class="nc" id="L166">                    System.out.println(&quot;AudioBook title: &quot;);</span>
          -<span class="nc" id="L167">                    String bTitle = scan.nextLine();</span>
          -<span class="nc" id="L168">                    System.out.println(&quot;AudioBook category (youth, novel, theater, documentary, speech)&quot;);</span>
          -<span class="nc" id="L169">                    String bCategory = scan.nextLine();</span>
          -<span class="nc" id="L170">                    System.out.println(&quot;AudioBook artist: &quot;);</span>
          -<span class="nc" id="L171">                    String bArtist = scan.nextLine();</span>
          -<span class="nc" id="L172">                    System.out.println(&quot;AudioBook length in seconds: &quot;);</span>
          -<span class="nc" id="L173">                    int bLength = Integer.parseInt(scan.nextLine());</span>
          -<span class="nc" id="L174">                    System.out.println(&quot;AudioBook content: &quot;);</span>
          -<span class="nc" id="L175">                    String bContent = scan.nextLine();</span>
          -<span class="nc" id="L176">                    System.out.println(&quot;AudioBook language (french, english, italian, spanish, german)&quot;);</span>
          -<span class="nc" id="L177">                    String bLanguage = scan.nextLine();</span>
          -<span class="nc" id="L178">                    AudioBook b = new AudioBook(bTitle, bArtist, bLength, bContent, bLanguage, bCategory);</span>
          -<span class="nc" id="L179">                    theHub.addElement(b);</span>
          -<span class="nc" id="L180">                    System.out.println(&quot;Audiobook created! New element list: &quot;);</span>
          -<span class="nc" id="L181">                    Iterator&lt;AudioElement&gt; itl = theHub.elements();</span>
          -<span class="nc bnc" id="L182" title="All 2 branches missed.">                    while (itl.hasNext()) System.out.println(itl.next().getTitle());</span>
          -<span class="nc" id="L183">                    printAvailableCommands();</span>
          -<span class="nc" id="L184">                    choice = scan.nextLine();</span>
          -<span class="nc" id="L185">                    break;</span>
          +<span class="nc" id="L182">                    System.out.println(&quot;Enter a new audiobook: &quot;);</span>
          +<span class="nc" id="L183">                    System.out.println(&quot;AudioBook title: &quot;);</span>
          +<span class="nc" id="L184">                    String bTitle = scan.nextLine();</span>
          +<span class="nc" id="L185">                    System.out.println(&quot;AudioBook category (youth, novel, theater, documentary, speech)&quot;);</span>
          +<span class="nc" id="L186">                    String bCategory = scan.nextLine();</span>
          +<span class="nc" id="L187">                    System.out.println(&quot;AudioBook artist: &quot;);</span>
          +<span class="nc" id="L188">                    String bArtist = scan.nextLine();</span>
          +<span class="nc" id="L189">                    System.out.println(&quot;AudioBook length in seconds: &quot;);</span>
          +<span class="nc" id="L190">                    int bLength = Integer.parseInt(scan.nextLine());</span>
          +<span class="nc" id="L191">                    System.out.println(&quot;AudioBook content: &quot;);</span>
          +<span class="nc" id="L192">                    String bContent = scan.nextLine();</span>
          +<span class="nc" id="L193">                    System.out.println(&quot;AudioBook language (french, english, italian, spanish, german)&quot;);</span>
          +<span class="nc" id="L194">                    String bLanguage = scan.nextLine();</span>
          +<span class="nc" id="L195">                    AudioBook b = new AudioBook(bTitle, bArtist, bLength, bContent, bLanguage, bCategory);</span>
          +<span class="nc" id="L196">                    theHub.addElement(b);</span>
          +<span class="nc" id="L197">                    LogHandler.write(&quot;Audiobook successfully created&quot;, &quot;INFO&quot;);</span>
          +<span class="nc" id="L198">                    System.out.println(&quot;Audiobook created! New element list: &quot;);</span>
          +<span class="nc" id="L199">                    Iterator&lt;AudioElement&gt; itl = theHub.elements();</span>
          +<span class="nc bnc" id="L200" title="All 2 branches missed.">                    while (itl.hasNext()) System.out.println(itl.next().getTitle());</span>
          +<span class="nc" id="L201">                    printAvailableCommands();</span>
          +<span class="nc" id="L202">                    choice = scan.nextLine();</span>
          +<span class="nc" id="L203">                    break;</span>
                           case 'p':
                               //create a new playlist from existing elements
          -<span class="nc" id="L188">                    System.out.println(&quot;Add an existing song or audiobook to a new playlist&quot;);</span>
          -<span class="nc" id="L189">                    System.out.println(&quot;Existing playlists:&quot;);</span>
          -<span class="nc" id="L190">                    Iterator&lt;PlayList&gt; itpl = theHub.playlists();</span>
          -<span class="nc bnc" id="L191" title="All 2 branches missed.">                    while (itpl.hasNext()) {</span>
          -<span class="nc" id="L192">                        PlayList pl = itpl.next();</span>
          -<span class="nc" id="L193">                        System.out.println(pl.getTitle());</span>
          -<span class="nc" id="L194">                    }</span>
          -<span class="nc" id="L195">                    System.out.println(&quot;Type the name of the playlist you wish to create:&quot;);</span>
          -<span class="nc" id="L196">                    String playListTitle = scan.nextLine();</span>
          -<span class="nc" id="L197">                    PlayList pl = new PlayList(playListTitle);</span>
          -<span class="nc" id="L198">                    theHub.addPlaylist(pl);</span>
          -<span class="nc" id="L199">                    System.out.println(&quot;Available elements: &quot;);</span>
          +<span class="nc" id="L206">                    System.out.println(&quot;Add an existing song or audiobook to a new playlist&quot;);</span>
          +<span class="nc" id="L207">                    System.out.println(&quot;Existing playlists:&quot;);</span>
          +<span class="nc" id="L208">                    Iterator&lt;PlayList&gt; itpl = theHub.playlists();</span>
          +<span class="nc bnc" id="L209" title="All 2 branches missed.">                    while (itpl.hasNext()) {</span>
          +<span class="nc" id="L210">                        PlayList pl = itpl.next();</span>
          +<span class="nc" id="L211">                        System.out.println(pl.getTitle());</span>
          +<span class="nc" id="L212">                    }</span>
          +<span class="nc" id="L213">                    System.out.println(&quot;Type the name of the playlist you wish to create:&quot;);</span>
          +<span class="nc" id="L214">                    String playListTitle = scan.nextLine();</span>
          +<span class="nc" id="L215">                    PlayList pl = new PlayList(playListTitle);</span>
          +<span class="nc" id="L216">                    theHub.addPlaylist(pl);</span>
          +<span class="nc" id="L217">                    System.out.println(&quot;Available elements: &quot;);</span>
           
          -<span class="nc" id="L201">                    Iterator&lt;AudioElement&gt; itael = theHub.elements();</span>
          -<span class="nc bnc" id="L202" title="All 2 branches missed.">                    while (itael.hasNext()) {</span>
          -<span class="nc" id="L203">                        AudioElement ae = itael.next();</span>
          -<span class="nc" id="L204">                        System.out.println(ae.getTitle());</span>
          -<span class="nc" id="L205">                    }</span>
          -<span class="nc bnc" id="L206" title="All 2 branches missed.">                    while (choice.charAt(0) != 'n') {</span>
          -<span class="nc" id="L207">                        System.out.println(&quot;Type the name of the audio element you wish to add or 'n' to exit:&quot;);</span>
          -<span class="nc" id="L208">                        String elementTitle = scan.nextLine();</span>
          +<span class="nc" id="L219">                    Iterator&lt;AudioElement&gt; itael = theHub.elements();</span>
          +<span class="nc bnc" id="L220" title="All 2 branches missed.">                    while (itael.hasNext()) {</span>
          +<span class="nc" id="L221">                        AudioElement ae = itael.next();</span>
          +<span class="nc" id="L222">                        System.out.println(ae.getTitle());</span>
          +<span class="nc" id="L223">                    }</span>
          +<span class="nc bnc" id="L224" title="All 2 branches missed.">                    while (choice.charAt(0) != 'n') {</span>
          +<span class="nc" id="L225">                        System.out.println(&quot;Type the name of the audio element you wish to add or 'n' to exit:&quot;);</span>
          +<span class="nc" id="L226">                        String elementTitle = scan.nextLine();</span>
                                   try {
          -<span class="nc" id="L210">                            theHub.addElementToPlayList(elementTitle, playListTitle);</span>
          -<span class="nc" id="L211">                        } catch (NoPlayListFoundException | NoElementFoundException ex) {</span>
          -<span class="nc" id="L212">                            System.out.println(ex.getMessage());</span>
          -<span class="nc" id="L213">                        }</span>
          +<span class="nc" id="L228">                            theHub.addElementToPlayList(elementTitle, playListTitle);</span>
          +<span class="nc" id="L229">                        } catch (NoPlayListFoundException | NoElementFoundException ex) {</span>
          +<span class="nc" id="L230">                            System.out.println(ex.getMessage());</span>
          +<span class="nc" id="L231">                        }</span>
           
          -<span class="nc" id="L215">                        System.out.println(&quot;Type y to add a new one, n to end&quot;);</span>
          -<span class="nc" id="L216">                        choice = scan.nextLine();</span>
          -<span class="nc" id="L217">                    }</span>
          -<span class="nc" id="L218">                    System.out.println(&quot;Playlist created!&quot;);</span>
          -<span class="nc" id="L219">                    printAvailableCommands();</span>
          -<span class="nc" id="L220">                    choice = scan.nextLine();</span>
          -<span class="nc" id="L221">                    break;</span>
          +<span class="nc" id="L233">                        System.out.println(&quot;Type y to add a new one, n to end&quot;);</span>
          +<span class="nc" id="L234">                        choice = scan.nextLine();</span>
          +<span class="nc" id="L235">                    }</span>
          +<span class="nc" id="L236">                    LogHandler.write(&quot;Playlist successfully created&quot;, &quot;INFO&quot;);</span>
          +<span class="nc" id="L237">                    System.out.println(&quot;Playlist created!&quot;);</span>
          +<span class="nc" id="L238">                    printAvailableCommands();</span>
          +<span class="nc" id="L239">                    choice = scan.nextLine();</span>
          +<span class="nc" id="L240">                    break;</span>
                           case '-':
                               //delete a playlist
          -<span class="nc" id="L224">                    System.out.println(&quot;Delete an existing playlist. Available playlists:&quot;);</span>
          -<span class="nc" id="L225">                    Iterator&lt;PlayList&gt; itp = theHub.playlists();</span>
          -<span class="nc bnc" id="L226" title="All 2 branches missed.">                    while (itp.hasNext()) {</span>
          -<span class="nc" id="L227">                        PlayList p = itp.next();</span>
          -<span class="nc" id="L228">                        System.out.println(p.getTitle());</span>
          -<span class="nc" id="L229">                    }</span>
          -<span class="nc" id="L230">                    String plTitle = scan.nextLine();</span>
          +<span class="nc" id="L243">                    System.out.println(&quot;Delete an existing playlist. Available playlists:&quot;);</span>
          +<span class="nc" id="L244">                    Iterator&lt;PlayList&gt; itp = theHub.playlists();</span>
          +<span class="nc bnc" id="L245" title="All 2 branches missed.">                    while (itp.hasNext()) {</span>
          +<span class="nc" id="L246">                        PlayList p = itp.next();</span>
          +<span class="nc" id="L247">                        System.out.println(p.getTitle());</span>
          +<span class="nc" id="L248">                    }</span>
          +<span class="nc" id="L249">                    String plTitle = scan.nextLine();</span>
                               try {
          -<span class="nc" id="L232">                        theHub.deletePlayList(plTitle);</span>
          -<span class="nc" id="L233">                    } catch (NoPlayListFoundException ex) {</span>
          -<span class="nc" id="L234">                        System.out.println(ex.getMessage());</span>
          -<span class="nc" id="L235">                    }</span>
          -<span class="nc" id="L236">                    System.out.println(&quot;Playlist deleted!&quot;);</span>
          -<span class="nc" id="L237">                    printAvailableCommands();</span>
          -<span class="nc" id="L238">                    choice = scan.nextLine();</span>
          -<span class="nc" id="L239">                    break;</span>
          +<span class="nc" id="L251">                        theHub.deletePlayList(plTitle);</span>
          +<span class="nc" id="L252">                    } catch (NoPlayListFoundException ex) {</span>
          +<span class="nc" id="L253">                        System.out.println(ex.getMessage());</span>
          +<span class="nc" id="L254">                    }</span>
          +<span class="nc" id="L255">                    LogHandler.write(&quot;Playlist successfully deleted&quot;, &quot;INFO&quot;);</span>
          +<span class="nc" id="L256">                    System.out.println(&quot;Playlist deleted!&quot;);</span>
          +<span class="nc" id="L257">                    printAvailableCommands();</span>
          +<span class="nc" id="L258">                    choice = scan.nextLine();</span>
          +<span class="nc" id="L259">                    break;</span>
                           case 's':
                               //save elements, albums, playlists
          -<span class="nc" id="L242">                    theHub.saveElements();</span>
          -<span class="nc" id="L243">                    theHub.saveAlbums();</span>
          -<span class="nc" id="L244">                    theHub.savePlayLists();</span>
          -<span class="nc" id="L245">                    System.out.println(&quot;Elements, albums and playlists saved!&quot;);</span>
          -<span class="nc" id="L246">                    printAvailableCommands();</span>
          -<span class="nc" id="L247">                    choice = scan.nextLine();</span>
          -<span class="nc" id="L248">                    break;</span>
          +<span class="nc" id="L262">                    theHub.saveElements();</span>
          +<span class="nc" id="L263">                    theHub.saveAlbums();</span>
          +<span class="nc" id="L264">                    theHub.savePlayLists();</span>
          +<span class="nc" id="L265">                    LogHandler.write(&quot;Elements, albums and playlists successfully saved&quot;, &quot;INFO&quot;);</span>
          +<span class="nc" id="L266">                    System.out.println(&quot;Elements, albums and playlists saved!&quot;);</span>
          +<span class="nc" id="L267">                    printAvailableCommands();</span>
          +<span class="nc" id="L268">                    choice = scan.nextLine();</span>
          +<span class="nc" id="L269">                    break;</span>
                           case 'r':
                               //search a music
                               try {
          -<span class="nc" id="L252">                        theHub.searchAudioElement();</span>
          +<span class="nc" id="L273">                        theHub.searchAudioElement();</span>
                               }
          -<span class="nc" id="L254">                    catch (NoElementFoundException e){</span>
          -<span class="nc" id="L255">                        System.err.println(e.getMessage());</span>
          +<span class="nc" id="L275">                    catch (NoElementFoundException e){</span>
          +<span class="nc" id="L276">                        System.err.println(e.getMessage());</span>
                               }
          -<span class="nc" id="L257">                    catch (java.io.FileNotFoundException e){</span>
          -<span class="nc" id="L258">                        System.err.println(e.getMessage()+&quot; Please create a file with the extension .wav inside the song folder at root of the app&quot;);</span>
          -<span class="nc" id="L259">                    }</span>
          -<span class="nc" id="L260">                    printAvailableCommands();</span>
          +<span class="nc" id="L278">                    catch (java.io.FileNotFoundException e){</span>
          +<span class="nc" id="L279">                        LogHandler.write(&quot;Please create a file with the extension .wav inside the song folder at root of the app&quot;, &quot;ERROR&quot;);</span>
          +<span class="nc" id="L280">                        System.err.println(e.getMessage() + &quot; Please create a file with the extension .wav inside the song folder at root of the app&quot;);</span>
          +<span class="nc" id="L281">                    }</span>
          +<span class="nc" id="L282">                    printAvailableCommands();</span>
          +<span class="nc" id="L283">                    choice = scan.nextLine();</span>
          +<span class="nc" id="L284">                    break;</span>
                           case 'o':
                               //consult the app logs
          -<span class="nc" id="L263">                    LogHandler.read();</span>
          -<span class="nc" id="L264">                    System.out.println(&quot;Type h for available commands&quot;);</span>
          -<span class="nc" id="L265">                    choice = scan.nextLine();</span>
          -<span class="nc" id="L266">                    break;</span>
          +<span class="nc" id="L287">                    LogHandler.read();</span>
          +<span class="nc" id="L288">                    System.out.println(&quot;Type h for available commands&quot;);</span>
          +<span class="nc" id="L289">                    choice = scan.nextLine();</span>
          +<span class="nc" id="L290">                    break;</span>
          +                case 'm':
          +                    //songs of a playlist
          +<span class="nc" id="L293">                    System.out.println(&quot;Songs of a playlist will be displayed; enter the playlist name, available playlists are:&quot;);</span>
          +<span class="nc" id="L294">                    System.out.println(theHub.getPlayListsTitles());</span>
          +
          +<span class="nc" id="L296">                    playListTitle = scan.nextLine();</span>
          +                    try {
          +<span class="nc" id="L298">                        List&lt;AudioElement&gt; songs = theHub.getPlayListSongs(playListTitle);</span>
          +<span class="nc" id="L299">                        System.out.println(theHub.getPlayListSongs(playListTitle));</span>
          +<span class="nc" id="L300">                        String song = scan.nextLine();</span>
          +<span class="nc" id="L301">                        theHub.getAudioElement(songs, song);</span>
          +<span class="nc" id="L302">                    } catch (NoPlayListFoundException ex) {</span>
          +<span class="nc" id="L303">                        LogHandler.write(&quot;No playlist found with the requested title&quot;, &quot;WARNING&quot;);</span>
          +<span class="nc" id="L304">                        System.out.println(&quot;No playlist found with the requested title &quot; + ex.getMessage());</span>
          +<span class="nc" id="L305">                    }</span>
          +<span class="nc" id="L306">                    printAvailableCommands();</span>
          +<span class="nc" id="L307">                    choice = scan.nextLine();</span>
          +<span class="nc" id="L308">                    break;</span>
                           default:
           
          -<span class="nc" id="L269">                    break;</span>
          +<span class="nc" id="L311">                    break;</span>
                       }
                   }
          -<span class="nc" id="L272">        scan.close();</span>
          -<span class="nc" id="L273">    }</span>
          +<span class="nc" id="L314">        scan.close();</span>
          +<span class="nc" id="L315">    }</span>
           
               private static void printAvailableCommands() {
          -<span class="nc" id="L276">        System.out.println(&quot;t: display the album titles, ordered by date&quot;);</span>
          -<span class="nc" id="L277">        System.out.println(&quot;g: display songs of an album, ordered by genre&quot;);</span>
          -<span class="nc" id="L278">        System.out.println(&quot;d: display songs of an album&quot;);</span>
          -<span class="nc" id="L279">        System.out.println(&quot;u: display audiobooks ordered by author&quot;);</span>
          -<span class="nc" id="L280">        System.out.println(&quot;r: search audio elements&quot;);</span>
          -<span class="nc" id="L281">        System.out.println(&quot;c: add a new song&quot;);</span>
          -<span class="nc" id="L282">        System.out.println(&quot;a: add a new album&quot;);</span>
          -<span class="nc" id="L283">        System.out.println(&quot;+: add a song to an album&quot;);</span>
          -<span class="nc" id="L284">        System.out.println(&quot;l: add a new audiobook&quot;);</span>
          -<span class="nc" id="L285">        System.out.println(&quot;p: create a new playlist from existing songs and audio books&quot;);</span>
          -<span class="nc" id="L286">        System.out.println(&quot;-: delete an existing playlist&quot;);</span>
          -<span class="nc" id="L287">        System.out.println(&quot;s: save elements, albums, playlists&quot;);</span>
          -<span class="nc" id="L288">        System.out.println(&quot;o: consult the app logs&quot;);</span>
          -<span class="nc" id="L289">        System.out.println(&quot;q: quit program&quot;);</span>
          -<span class="nc" id="L290">    }</span>
          +<span class="nc" id="L318">        System.out.println(&quot;t: display the album titles, ordered by date&quot;);</span>
          +<span class="nc" id="L319">        System.out.println(&quot;g: display songs of an album, ordered by genre&quot;);</span>
          +<span class="nc" id="L320">        System.out.println(&quot;d: display songs of an album&quot;);</span>
          +<span class="nc" id="L321">        System.out.println(&quot;u: display audiobooks ordered by author&quot;);</span>
          +<span class="nc" id="L322">        System.out.println(&quot;r: search audio elements&quot;);</span>
          +<span class="nc" id="L323">        System.out.println(&quot;c: add a new song&quot;);</span>
          +<span class="nc" id="L324">        System.out.println(&quot;a: add a new album&quot;);</span>
          +<span class="nc" id="L325">        System.out.println(&quot;+: add a song to an album&quot;);</span>
          +<span class="nc" id="L326">        System.out.println(&quot;l: add a new audiobook&quot;);</span>
          +<span class="nc" id="L327">        System.out.println(&quot;p: create a new playlist from existing songs and audio books&quot;);</span>
          +<span class="nc" id="L328">        System.out.println(&quot;m: display songs of a playlist&quot;);</span>
          +<span class="nc" id="L329">        System.out.println(&quot;-: delete an existing playlist&quot;);</span>
          +<span class="nc" id="L330">        System.out.println(&quot;s: save elements, albums, playlists&quot;);</span>
          +<span class="nc" id="L331">        System.out.println(&quot;o: consult the app logs&quot;);</span>
          +<span class="nc" id="L332">        System.out.println(&quot;q: quit program&quot;);</span>
          +<span class="nc" id="L333">    }</span>
           
           }
           </pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.main/index.html b/target/site/jacoco/musichub.main/index.html
          index cd2b4c7..9101830 100644
          --- a/target/site/jacoco/musichub.main/index.html
          +++ b/target/site/jacoco/musichub.main/index.html
          @@ -1 +1 @@
          -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>musichub.main</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <span class="el_package">musichub.main</span></div><h1>musichub.main</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">625 of 625</td><td class="ctr2">0 %</td><td class="bar">42 of 42</td><td class="ctr2">0 %</td><td class="ctr1">31</td><td class="ctr2">31</td><td class="ctr1">215</td><td class="ctr2">215</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="Main.html" class="el_class">Main</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="625" alt="625"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="42" alt="42"/></td><td class="ctr2" id="e0">0 %</td><td class="ctr1" id="f0">31</td><td class="ctr2" id="g0">31</td><td class="ctr1" id="h0">215</td><td class="ctr2" id="i0">215</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>musichub.main</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <span class="el_package">musichub.main</span></div><h1>musichub.main</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">722 of 722</td><td class="ctr2">0 %</td><td class="bar">43 of 43</td><td class="ctr2">0 %</td><td class="ctr1">32</td><td class="ctr2">32</td><td class="ctr1">251</td><td class="ctr2">251</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="Main.html" class="el_class">Main</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="722" alt="722"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="43" alt="43"/></td><td class="ctr2" id="e0">0 %</td><td class="ctr1" id="f0">32</td><td class="ctr2" id="g0">32</td><td class="ctr1" id="h0">251</td><td class="ctr2" id="i0">251</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.main/index.source.html b/target/site/jacoco/musichub.main/index.source.html
          index 60b6575..a2635d9 100644
          --- a/target/site/jacoco/musichub.main/index.source.html
          +++ b/target/site/jacoco/musichub.main/index.source.html
          @@ -1 +1 @@
          -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>musichub.main</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <span class="el_package">musichub.main</span></div><h1>musichub.main</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">625 of 625</td><td class="ctr2">0 %</td><td class="bar">42 of 42</td><td class="ctr2">0 %</td><td class="ctr1">31</td><td class="ctr2">31</td><td class="ctr1">215</td><td class="ctr2">215</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="Main.java.html" class="el_source">Main.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="625" alt="625"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="42" alt="42"/></td><td class="ctr2" id="e0">0 %</td><td class="ctr1" id="f0">31</td><td class="ctr2" id="g0">31</td><td class="ctr1" id="h0">215</td><td class="ctr2" id="i0">215</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>musichub.main</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <span class="el_package">musichub.main</span></div><h1>musichub.main</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">722 of 722</td><td class="ctr2">0 %</td><td class="bar">43 of 43</td><td class="ctr2">0 %</td><td class="ctr1">32</td><td class="ctr2">32</td><td class="ctr1">251</td><td class="ctr2">251</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="Main.java.html" class="el_source">Main.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="722" alt="722"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="43" alt="43"/></td><td class="ctr2" id="e0">0 %</td><td class="ctr1" id="f0">32</td><td class="ctr2" id="g0">32</td><td class="ctr1" id="h0">251</td><td class="ctr2" id="i0">251</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.util/Policy.html b/target/site/jacoco/musichub.util/Policy.html
          index 11ce779..e87278e 100644
          --- a/target/site/jacoco/musichub.util/Policy.html
          +++ b/target/site/jacoco/musichub.util/Policy.html
          @@ -1 +1 @@
          -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Policy</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.html" class="el_package">musichub.util</a> &gt; <span class="el_class">Policy</span></div><h1>Policy</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">53 of 53</td><td class="ctr2">0 %</td><td class="bar">5 of 5</td><td class="ctr2">0 %</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">20</td><td class="ctr2">20</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="Policy.java.html#L27" class="el_method">showTerm()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="39" alt="39"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="5" alt="5"/></td><td class="ctr2" id="e0">0 %</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">15</td><td class="ctr2" id="i0">15</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="Policy.java.html#L21" class="el_method">Policy()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="21" height="10" title="7" alt="7"/></td><td class="ctr2" id="c1">0 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="Policy.java.html#L128" class="el_method">printAgreement()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="21" height="10" title="7" alt="7"/></td><td class="ctr2" id="c2">0 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h1">3</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Policy</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.html" class="el_package">musichub.util</a> &gt; <span class="el_class">Policy</span></div><h1>Policy</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">60 of 60</td><td class="ctr2">0 %</td><td class="bar">5 of 5</td><td class="ctr2">0 %</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">24</td><td class="ctr2">24</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="Policy.java.html#L33" class="el_method">showTerm()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="46" alt="46"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="5" alt="5"/></td><td class="ctr2" id="e0">0 %</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">19</td><td class="ctr2" id="i0">19</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="Policy.java.html#L22" class="el_method">Policy()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="18" height="10" title="7" alt="7"/></td><td class="ctr2" id="c1">0 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="Policy.java.html#L73" class="el_method">printAgreement()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="18" height="10" title="7" alt="7"/></td><td class="ctr2" id="c2">0 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h1">3</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.util/Policy.java.html b/target/site/jacoco/musichub.util/Policy.java.html
          index 2eeb294..9739279 100644
          --- a/target/site/jacoco/musichub.util/Policy.java.html
          +++ b/target/site/jacoco/musichub.util/Policy.java.html
          @@ -1,9 +1,10 @@
           <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Policy.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.source.html" class="el_package">musichub.util</a> &gt; <span class="el_source">Policy.java</span></div><h1>Policy.java</h1><pre class="source lang-java linenums">package musichub.util;
           
          +import java.io.IOException;
           import java.util.Scanner;
           
           /**
          - * Class ...
          + * Class offering methods to prompt a policy agreement form to the user.
            *
            * @author Anthony BOULANT
            * @version 1.0
          @@ -18,115 +19,59 @@ public final class Policy {
                * @author Anthony BOULANT
                */
           
          -<span class="nc" id="L21">    public Policy() {</span>
          -<span class="nc" id="L22">        throw new AssertionError(&quot;You just can't instantiate this class.&quot;);</span>
          +<span class="nc" id="L22">    public Policy() {</span>
          +<span class="nc" id="L23">        throw new AssertionError(&quot;You just can't instantiate this class.&quot;);</span>
               }
           
          +    /**
          +     * Method prompting the whole policy agreement process
          +     *
          +     * @author Anthony BOULANT
          +     */
               public static void showTerm() {
           
          -<span class="nc" id="L27">        String termsAndConditions = &quot;Terms and Conditions\n&quot; +</span>
          -                &quot;\n&quot; +
          -                &quot;\n&quot; +
          -                &quot;In using this website you are deemed to have read and agreed to the following terms and conditions:\n&quot; +
          -                &quot;\n&quot; +
          -                &quot;\n&quot; +
          -                &quot;The following terminology applies to these Terms and Conditions, Privacy Statement and Disclaimer Notice and any or all Agreements: \&quot;Client\&quot;, “You” and “Your” refers to you, the person accessing this website and accepting the Company’s terms and conditions. \&quot;The Company\&quot;, “Ourselves”, “We” and \&quot;Us\&quot;, refers to our Company. “Party”, “Parties”, or “Us”, refers to both the Client and ourselves, or either the Client or ourselves. All terms refer to the offer, acceptance and consideration of payment necessary to undertake the process of our assistance to the Client in the most appropriate manner, whether by formal meetings of a fixed duration, or any other means, for the express purpose of meeting the Client’s needs in respect of provision of the Company’s stated services/products, in accordance with and subject to, prevailing English Law. Any use of the above terminology or other words in the singular, plural, capitalisation and/or he/she or they, are taken as interchangeable and therefore as referring to same.\n&quot; +
          -                &quot;\n&quot; +
          -                &quot;\n&quot; +
          -                &quot;Privacy Statement\n&quot; +
          -                &quot;We are committed to protecting your privacy. Authorized employees within the company on a need to know basis only use any information collected from individual customers. We constantly review our systems and data to ensure the best possible service to our customers. Parliament has created specific offences for unauthorised actions against computer systems and data. We will investigate any such actions with a view to prosecuting and/or taking civil proceedings to recover damages against those responsible\n&quot; +
          -                &quot;\n&quot; +
          -                &quot;\n&quot; +
          -                &quot;Confidentiality\n&quot; +
          -                &quot;We are registered under the Data Protection Act 1998 and as such, any information concerning the Client and their respective Client Records may be passed to third parties. However, Client records are regarded as confidential and therefore will not be divulged to any third party, other than if legally required to do so to the appropriate authorities. Clients have the right to request sight of, and copies of any and all Client Records we keep, on the proviso that we are given reasonable notice of such a request. Clients are requested to retain copies of any literature issued in relation to the provision of our services. Where appropriate, we shall issue Client’s with appropriate written information, handouts or copies of records as part of an agreed contract, for the benefit of both parties.\n&quot; +
          -                &quot;\n&quot; +
          -                &quot;We will not sell, share, or rent your personal information to any third party or use your e-mail address for unsolicited mail. Any emails sent by this Company will only be in connection with the provision of agreed services and products.\n&quot; +
          -                &quot;\n&quot; +
          -                &quot;\n&quot; +
          -                &quot;Disclaimer\n&quot; +
          -                &quot;Exclusions and Limitations \n&quot; +
          -                &quot;The information on this web site is provided on an \&quot;as is\&quot; basis. To the fullest extent permitted by law, this Company:\n&quot; +
          -                &quot;\uF0A7\texcludes all representations and warranties relating to this website and its contents or which is or may be provided by any affiliates or any other third party, including in relation to any inaccuracies or omissions in this website and/or the Company’s literature; and \n&quot; +
          -                &quot;\uF0A7\texcludes all liability for damages arising out of or in connection with your use of this website. This includes, without limitation, direct loss, loss of business or profits (whether or not the loss of such profits was foreseeable, arose in the normal course of things or you have advised this Company of the possibility of such potential loss), damage caused to your computer, computer software, systems and programs and the data thereon or any other direct or indirect, consequential and incidental damages. \n&quot; +
          -                &quot;This Company does not however exclude liability for death or personal injury caused by its negligence. The above exclusions and limitations apply only to the extent permitted by law. None of your statutory rights as a consumer are affected. \n&quot; +
          -                &quot;\n&quot; +
          -                &quot;\n&quot; +
          -                &quot;\n&quot; +
          -                &quot;\n&quot; +
          -                &quot;\n&quot; +
          -                &quot;\n&quot; +
          -                &quot;Cancellation Policy\n&quot; +
          -                &quot;Minimum 24 hours’ notice of cancellation required. Notification for instance, in person, via email, mobile phone ‘text message’ and/or fax, or any other means will be accepted subject to confirmation in writing. We reserve the right to levy a £30 charge to cover any subsequent administrative expenses.\n&quot; +
          -                &quot;\n&quot; +
          -                &quot;\n&quot; +
          -                &quot;Termination of Agreements and Refunds Policy\n&quot; +
          -                &quot;Both the Client and we have the right to terminate any Services Agreement for any reason, including the ending of services that are already underway. No refunds shall be offered, where a Service is deemed to have begun and is, for all intents and purposes, underway. Any monies that have been paid to us which constitute payment in respect of the provision of unused Services, shall be refunded.\n&quot; +
          -                &quot;\n&quot; +
          -                &quot;\n&quot; +
          -                &quot;Availability \n&quot; +
          -                &quot;Unless otherwise stated, the services featured on this website are only available in France, or in relation to postings from France. All advertising is intended solely for the France market. You are solely responsible for evaluating the fitness for a particular purpose of any downloads, programs and text available through this site. Redistribution or republication of any part of this site or its content is prohibited, including such by framing or other similar or any other means, without the express written consent of the Company. The Company does not warrant that the service from this site will be uninterrupted, timely or error free, although it is provided to the best ability. By using this service you thereby indemnify this Company, its employees, agents and affiliates against any loss or damage, in whatever manner, howsoever caused.\n&quot; +
          -                &quot;\n&quot; +
          -                &quot;\n&quot; +
          -                &quot;\n&quot; +
          -                &quot;Copyright Notice \n&quot; +
          -                &quot;Copyright and other relevant intellectual property rights exists on all text relating to the Company’s services and the full content of this application. \n&quot; +
          -                &quot;\n&quot; +
          -                &quot;\n&quot; +
          -                &quot;Communication\n&quot; +
          -                &quot;We have several different e-mail addresses for different queries. These, &amp; other contact information, can be found on our Contact Us link on our website or via Company literature or via the Company’s stated telephone, facsimile or mobile telephone numbers.\n&quot; +
          -                &quot;\n&quot; +
          -                &quot;\n&quot; +
          -                &quot;Force Majeure\n&quot; +
          -                &quot;Neither party shall be liable to the other for any failure to perform any obligation under any Agreement which is due to an event beyond the control of such party including but not limited to any Act of God, terrorism, war, Political insurgence, insurrection, riot, civil unrest, act of civil or military authority, uprising, earthquake, flood or any other natural or manmade eventuality outside of our control, which causes the termination of an agreement or contract entered into, nor which could have been reasonably foreseen. Any Party affected by such event shall forthwith inform the other Party of the same and shall use all reasonable endeavours to comply with the terms and conditions of any Agreement contained herein.\n&quot; +
          -                &quot;\n&quot; +
          -                &quot;\n&quot; +
          -                &quot;Waiver\n&quot; +
          -                &quot;Failure of either Party to insist upon strict performance of any provision of this or any Agreement or the failure of either Party to exercise any right or remedy to which it, he or they are entitled hereunder shall not constitute a waiver thereof and shall not cause a diminution of the obligations under this or any Agreement. No waiver of any of the provisions of this or any Agreement shall be effective unless it is expressly stated to be such and signed by both Parties.\n&quot; +
          -                &quot;\n&quot; +
          -                &quot;\n&quot; +
          -                &quot;General\n&quot; +
          -                &quot;The laws of France govern these terms and conditions. By accessing this application, you consent to these terms and conditions and to the exclusive jurisdiction of the English courts in all disputes arising out of such access. If any of these terms are deemed invalid or unenforceable for any reason (including, but not limited to the exclusions and limitations set out above), then the invalid or unenforceable provision will be severed from these terms and the remaining terms will continue to apply. Failure of the Company to enforce any of the provisions set out in these Terms and Conditions and any Agreement, or failure to exercise any option to terminate, shall not be construed as waiver of such provisions and shall not affect the validity of these Terms and Conditions or of any Agreement or any part thereof, or the right thereafter to enforce each and every provision. These Terms and Conditions shall not be amended, modified, varied or supplemented except in writing and signed by duly authorised representatives of the Company.\n&quot; +
          -                &quot;\n&quot; +
          -                &quot;\n&quot; +
          -                &quot;Notification of Changes\n&quot; +
          -                &quot;The Company reserves the right to change these conditions from time to time as it sees fit and your continued use of the site will signify your acceptance of any adjustment to these terms. If there are any changes to our privacy policy, we will announce that these changes have been made on our home page and on other key pages on our site. If there are any changes in how we use our site customers’ Personally Identifiable Information, notification by e-mail or postal mail will be made to those affected by this change. Any changes to our privacy policy will be posted on our web site 30 days prior to these changes taking place. You are therefore advised to re-read this statement on a regular basis\n&quot; +
          -                &quot;\n&quot; +
          -                &quot;\n&quot; +
          -                &quot;These terms and conditions form part of the Agreement between the Client and ourselves. Your accessing of this website and/or undertaking of a booking or Agreement indicates your understanding, agreement to and acceptance, of the Disclaimer Notice and the full Terms and Conditions contained herein. Your statutory Consumer Rights are unaffected.    \n&quot; +
          -                &quot;© Company Name 2021 All Rights Reserved\n&quot; +
          -                &quot;\n&quot; +
          -                &quot;\n&quot; +
          -                &quot;\n&quot; +
          -                &quot;\n&quot; +
          -                &quot;\n&quot; +
          -                &quot;\n&quot; +
          -                &quot;\n&quot; +
          -                &quot;\n&quot; +
          -                &quot;\n&quot;;
          +<span class="nc" id="L33">        String termsAndConditions = &quot;&quot;&quot;</span>
          +                Terms and Conditions
          +                In using this website you are deemed to have read and agreed to the following terms and conditions:
          +                Privacy Statement
          +                We are committed to protecting your privacy. Authorized employees within the company on a need to know basis only use any information collected from individual customers. We constantly review our systems and data to ensure the best possible service to our customers. Parliament has created specific offences for unauthorised actions against computer systems and data. We will investigate any such actions with a view to prosecuting and/or taking civil proceedings to recover damages against those responsible
          +                These terms and conditions form part of the Agreement between the Client and ourselves. Your accessing of this website and/or undertaking of a booking or Agreement indicates your understanding, agreement to and acceptance, of the Disclaimer Notice and the full Terms and Conditions contained herein. Your statutory Consumer Rights are unaffected.   s
          +                © Company Name 2021 All Rights Reserved
          +                &quot;&quot;&quot;;
           
          -<span class="nc" id="L107">        printAgreement();</span>
          -<span class="nc" id="L108">        Scanner scan = new Scanner(System.in);</span>
          -<span class="nc" id="L109">        String choice = scan.nextLine().toLowerCase();</span>
          +<span class="nc" id="L42">        printAgreement();</span>
          +<span class="nc" id="L43">        Scanner scan = new Scanner(System.in);</span>
          +<span class="nc" id="L44">        String choice = scan.nextLine().toLowerCase();</span>
           
          -<span class="nc bnc" id="L111" title="All 2 branches missed.">        while (!choice.equals(&quot;y&quot;)) {</span>
          -<span class="nc bnc" id="L112" title="All 3 branches missed.">            switch (choice.charAt(0)) {</span>
          -<span class="nc" id="L113">                case 'n' -&gt; System.exit(0);</span>
          -<span class="nc" id="L114">                case 'r' -&gt; {</span>
          -<span class="nc" id="L115">                    System.out.println(termsAndConditions);</span>
          -<span class="nc" id="L116">                    printAgreement();</span>
          -<span class="nc" id="L117">                    choice = scan.nextLine().toLowerCase();</span>
          +<span class="nc bnc" id="L46" title="All 2 branches missed.">        while (!choice.equals(&quot;y&quot;)) {</span>
          +<span class="nc bnc" id="L47" title="All 3 branches missed.">            switch (choice.charAt(0)) {</span>
          +<span class="nc" id="L48">                case 'n' -&gt; System.exit(0);</span>
          +<span class="nc" id="L49">                case 'r' -&gt; {</span>
          +<span class="nc" id="L50">                    System.out.println(termsAndConditions);</span>
          +<span class="nc" id="L51">                    printAgreement();</span>
          +<span class="nc" id="L52">                    choice = scan.nextLine().toLowerCase();</span>
                           }
          -<span class="nc" id="L119">                default -&gt; {</span>
          -<span class="nc" id="L120">                    printAgreement();</span>
          -<span class="nc" id="L121">                    choice = scan.nextLine().toLowerCase();</span>
          +<span class="nc" id="L54">                default -&gt; {</span>
          +<span class="nc" id="L55">                    printAgreement();</span>
          +<span class="nc" id="L56">                    choice = scan.nextLine().toLowerCase();</span>
                           }
                       }
                   }
          -<span class="nc" id="L125">    }</span>
          +        try {
          +<span class="nc" id="L61">            LogHandler.write(&quot;Terms accepted by the user.&quot;, &quot;INFO&quot;);</span>
          +<span class="nc" id="L62">        } catch (IOException e) {</span>
          +<span class="nc" id="L63">            e.printStackTrace();</span>
          +<span class="nc" id="L64">        }</span>
          +<span class="nc" id="L65">    }</span>
           
          +    /**
          +     * Method printing the commands the user can use.
          +     *
          +     * @author Anthony BOULANT
          +     */
               private static void printAgreement() {
          -<span class="nc" id="L128">        System.out.println(&quot;By using our app, do you accept our Terms and Conditions ?&quot;);</span>
          -<span class="nc" id="L129">        System.out.println(&quot;[YES : y    NO :  n    READ : r]&quot;);</span>
          -<span class="nc" id="L130">    }</span>
          +<span class="nc" id="L73">        System.out.println(&quot;By using our app, do you accept our Terms and Conditions ?&quot;);</span>
          +<span class="nc" id="L74">        System.out.println(&quot;[YES : y    NO :  n    READ : r]&quot;);</span>
          +<span class="nc" id="L75">    }</span>
           }
           </pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.util/index.html b/target/site/jacoco/musichub.util/index.html
          index 936c84a..59a15e9 100644
          --- a/target/site/jacoco/musichub.util/index.html
          +++ b/target/site/jacoco/musichub.util/index.html
          @@ -1 +1 @@
          -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>musichub.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <span class="el_package">musichub.util</span></div><h1>musichub.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">59 of 210</td><td class="ctr2">71 %</td><td class="bar">5 of 9</td><td class="ctr2">44 %</td><td class="ctr1">6</td><td class="ctr2">17</td><td class="ctr1">24</td><td class="ctr2">66</td><td class="ctr1">3</td><td class="ctr2">12</td><td class="ctr1">1</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a2"><a href="Policy.html" class="el_class">Policy</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="88" height="10" title="53" alt="53"/></td><td class="ctr2" id="c3">0 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="5" alt="5"/></td><td class="ctr2" id="e1">0 %</td><td class="ctr1" id="f0">6</td><td class="ctr2" id="g0">6</td><td class="ctr1" id="h0">20</td><td class="ctr2" id="i1">20</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a3"><a href="XMLHandler.html" class="el_class">XMLHandler</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="10" height="10" title="6" alt="6"/><img src="../jacoco-resources/greenbar.gif" width="110" height="10" title="66" alt="66"/></td><td class="ctr2" id="c2">91 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">4</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i0">25</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a0"><a href="LogHandler.html" class="el_class">LogHandler</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="76" height="10" title="46" alt="46"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g3">3</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">11</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">3</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a1"><a href="PathValidation.html" class="el_class">PathValidation</a></td><td class="bar" id="b3"><img src="../jacoco-resources/greenbar.gif" width="65" height="10" title="39" alt="39"/></td><td class="ctr2" id="c1">100 %</td><td class="bar" id="d1"><img src="../jacoco-resources/greenbar.gif" width="96" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100 %</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g2">4</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">10</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">2</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>musichub.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <span class="el_package">musichub.util</span></div><h1>musichub.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">66 of 217</td><td class="ctr2">69 %</td><td class="bar">5 of 9</td><td class="ctr2">44 %</td><td class="ctr1">6</td><td class="ctr2">17</td><td class="ctr1">28</td><td class="ctr2">70</td><td class="ctr1">3</td><td class="ctr2">12</td><td class="ctr1">1</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a2"><a href="Policy.html" class="el_class">Policy</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="100" height="10" title="60" alt="60"/></td><td class="ctr2" id="c3">0 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="5" alt="5"/></td><td class="ctr2" id="e1">0 %</td><td class="ctr1" id="f0">6</td><td class="ctr2" id="g0">6</td><td class="ctr1" id="h0">24</td><td class="ctr2" id="i1">24</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a3"><a href="XMLHandler.html" class="el_class">XMLHandler</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="10" height="10" title="6" alt="6"/><img src="../jacoco-resources/greenbar.gif" width="110" height="10" title="66" alt="66"/></td><td class="ctr2" id="c2">91 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">4</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i0">25</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a0"><a href="LogHandler.html" class="el_class">LogHandler</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="76" height="10" title="46" alt="46"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g3">3</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">11</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">3</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a1"><a href="PathValidation.html" class="el_class">PathValidation</a></td><td class="bar" id="b3"><img src="../jacoco-resources/greenbar.gif" width="65" height="10" title="39" alt="39"/></td><td class="ctr2" id="c1">100 %</td><td class="bar" id="d1"><img src="../jacoco-resources/greenbar.gif" width="96" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100 %</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g2">4</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">10</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">2</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/site/jacoco/musichub.util/index.source.html b/target/site/jacoco/musichub.util/index.source.html
          index b7009ee..f534830 100644
          --- a/target/site/jacoco/musichub.util/index.source.html
          +++ b/target/site/jacoco/musichub.util/index.source.html
          @@ -1 +1 @@
          -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>musichub.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <span class="el_package">musichub.util</span></div><h1>musichub.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">59 of 210</td><td class="ctr2">71 %</td><td class="bar">5 of 9</td><td class="ctr2">44 %</td><td class="ctr1">6</td><td class="ctr2">17</td><td class="ctr1">24</td><td class="ctr2">66</td><td class="ctr1">3</td><td class="ctr2">12</td><td class="ctr1">1</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a2"><a href="Policy.java.html" class="el_source">Policy.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="88" height="10" title="53" alt="53"/></td><td class="ctr2" id="c3">0 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="5" alt="5"/></td><td class="ctr2" id="e1">0 %</td><td class="ctr1" id="f0">6</td><td class="ctr2" id="g0">6</td><td class="ctr1" id="h0">20</td><td class="ctr2" id="i1">20</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a3"><a href="XMLHandler.java.html" class="el_source">XMLHandler.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="10" height="10" title="6" alt="6"/><img src="../jacoco-resources/greenbar.gif" width="110" height="10" title="66" alt="66"/></td><td class="ctr2" id="c2">91 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">4</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i0">25</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a0"><a href="LogHandler.java.html" class="el_source">LogHandler.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="76" height="10" title="46" alt="46"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g3">3</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">11</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">3</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a1"><a href="PathValidation.java.html" class="el_source">PathValidation.java</a></td><td class="bar" id="b3"><img src="../jacoco-resources/greenbar.gif" width="65" height="10" title="39" alt="39"/></td><td class="ctr2" id="c1">100 %</td><td class="bar" id="d1"><img src="../jacoco-resources/greenbar.gif" width="96" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100 %</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g2">4</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">10</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">2</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>musichub.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <span class="el_package">musichub.util</span></div><h1>musichub.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">66 of 217</td><td class="ctr2">69 %</td><td class="bar">5 of 9</td><td class="ctr2">44 %</td><td class="ctr1">6</td><td class="ctr2">17</td><td class="ctr1">28</td><td class="ctr2">70</td><td class="ctr1">3</td><td class="ctr2">12</td><td class="ctr1">1</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a2"><a href="Policy.java.html" class="el_source">Policy.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="100" height="10" title="60" alt="60"/></td><td class="ctr2" id="c3">0 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="5" alt="5"/></td><td class="ctr2" id="e1">0 %</td><td class="ctr1" id="f0">6</td><td class="ctr2" id="g0">6</td><td class="ctr1" id="h0">24</td><td class="ctr2" id="i1">24</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a3"><a href="XMLHandler.java.html" class="el_source">XMLHandler.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="10" height="10" title="6" alt="6"/><img src="../jacoco-resources/greenbar.gif" width="110" height="10" title="66" alt="66"/></td><td class="ctr2" id="c2">91 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">4</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i0">25</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a0"><a href="LogHandler.java.html" class="el_source">LogHandler.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="76" height="10" title="46" alt="46"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g3">3</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">11</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">3</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a1"><a href="PathValidation.java.html" class="el_source">PathValidation.java</a></td><td class="bar" id="b3"><img src="../jacoco-resources/greenbar.gif" width="65" height="10" title="39" alt="39"/></td><td class="ctr2" id="c1">100 %</td><td class="bar" id="d1"><img src="../jacoco-resources/greenbar.gif" width="96" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100 %</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g2">4</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">10</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">2</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
          \ No newline at end of file
          diff --git a/target/spoteezer-0.1.0-shaded.jar b/target/spoteezer-0.1.0-shaded.jar
          index 4c8e6af..424434b 100644
          Binary files a/target/spoteezer-0.1.0-shaded.jar and b/target/spoteezer-0.1.0-shaded.jar differ
          diff --git a/target/spoteezer-0.1.0.jar b/target/spoteezer-0.1.0.jar
          index 4c8e6af..424434b 100644
          Binary files a/target/spoteezer-0.1.0.jar and b/target/spoteezer-0.1.0.jar differ
          diff --git a/target/surefire-reports/TEST-musichub.business.CategoryTest.xml b/target/surefire-reports/TEST-musichub.business.CategoryTest.xml
          index bb2ca30..e925716 100644
          --- a/target/surefire-reports/TEST-musichub.business.CategoryTest.xml
          +++ b/target/surefire-reports/TEST-musichub.business.CategoryTest.xml
          @@ -15,7 +15,7 @@
               <property name="sun.java.launcher" value="SUN_STANDARD"/>
               <property name="user.country" value="FR"/>
               <property name="sun.boot.library.path" value="C:\Users\SoftA\.jdks\openjdk-16.0.1\bin"/>
          -    <property name="sun.java.command" value="C:\Users\SoftA\AppData\Local\Temp\surefire9308943938457390564\surefirebooter14738086644009111251.jar C:\Users\SoftA\AppData\Local\Temp\surefire9308943938457390564 2021-06-27T22-23-26_881-jvmRun1 surefire7843695504690115096tmp surefire_04088083116107885099tmp"/>
          +    <property name="sun.java.command" value="C:\Users\SoftA\AppData\Local\Temp\surefire12987402337600427303\surefirebooter13413967179469073364.jar C:\Users\SoftA\AppData\Local\Temp\surefire12987402337600427303 2021-06-28T23-36-31_184-jvmRun1 surefire14735445854373430078tmp surefire_017738082907736466932tmp"/>
               <property name="jdk.debug" value="release"/>
               <property name="surefire.test.class.path" value="C:\Users\SoftA\Documents\spoteezer\target\test-classes;C:\Users\SoftA\Documents\spoteezer\target\classes;C:\Users\SoftA\.m2\repository\org\junit\jupiter\junit-jupiter-api\5.0.2\junit-jupiter-api-5.0.2.jar;C:\Users\SoftA\.m2\repository\org\opentest4j\opentest4j\1.0.0\opentest4j-1.0.0.jar;C:\Users\SoftA\.m2\repository\org\junit\platform\junit-platform-commons\1.0.2\junit-platform-commons-1.0.2.jar;C:\Users\SoftA\.m2\repository\org\junit\jupiter\junit-jupiter-engine\5.0.2\junit-jupiter-engine-5.0.2.jar;C:\Users\SoftA\.m2\repository\org\junit\platform\junit-platform-engine\1.0.2\junit-platform-engine-1.0.2.jar;"/>
               <property name="sun.cpu.endian" value="little"/>
          @@ -30,7 +30,7 @@
               <property name="line.separator" value="&#10;"/>
               <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
               <property name="java.specification.name" value="Java Platform API Specification"/>
          -    <property name="surefire.real.class.path" value="C:\Users\SoftA\AppData\Local\Temp\surefire9308943938457390564\surefirebooter14738086644009111251.jar"/>
          +    <property name="surefire.real.class.path" value="C:\Users\SoftA\AppData\Local\Temp\surefire12987402337600427303\surefirebooter13413967179469073364.jar"/>
               <property name="user.script" value=""/>
               <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
               <property name="java.runtime.version" value="16.0.1+9-24"/>
          diff --git a/target/surefire-reports/TEST-musichub.business.LanguageTest.xml b/target/surefire-reports/TEST-musichub.business.LanguageTest.xml
          index 5ebb15c..62f74fc 100644
          --- a/target/surefire-reports/TEST-musichub.business.LanguageTest.xml
          +++ b/target/surefire-reports/TEST-musichub.business.LanguageTest.xml
          @@ -15,7 +15,7 @@
               <property name="sun.java.launcher" value="SUN_STANDARD"/>
               <property name="user.country" value="FR"/>
               <property name="sun.boot.library.path" value="C:\Users\SoftA\.jdks\openjdk-16.0.1\bin"/>
          -    <property name="sun.java.command" value="C:\Users\SoftA\AppData\Local\Temp\surefire9308943938457390564\surefirebooter14738086644009111251.jar C:\Users\SoftA\AppData\Local\Temp\surefire9308943938457390564 2021-06-27T22-23-26_881-jvmRun1 surefire7843695504690115096tmp surefire_04088083116107885099tmp"/>
          +    <property name="sun.java.command" value="C:\Users\SoftA\AppData\Local\Temp\surefire12987402337600427303\surefirebooter13413967179469073364.jar C:\Users\SoftA\AppData\Local\Temp\surefire12987402337600427303 2021-06-28T23-36-31_184-jvmRun1 surefire14735445854373430078tmp surefire_017738082907736466932tmp"/>
               <property name="jdk.debug" value="release"/>
               <property name="surefire.test.class.path" value="C:\Users\SoftA\Documents\spoteezer\target\test-classes;C:\Users\SoftA\Documents\spoteezer\target\classes;C:\Users\SoftA\.m2\repository\org\junit\jupiter\junit-jupiter-api\5.0.2\junit-jupiter-api-5.0.2.jar;C:\Users\SoftA\.m2\repository\org\opentest4j\opentest4j\1.0.0\opentest4j-1.0.0.jar;C:\Users\SoftA\.m2\repository\org\junit\platform\junit-platform-commons\1.0.2\junit-platform-commons-1.0.2.jar;C:\Users\SoftA\.m2\repository\org\junit\jupiter\junit-jupiter-engine\5.0.2\junit-jupiter-engine-5.0.2.jar;C:\Users\SoftA\.m2\repository\org\junit\platform\junit-platform-engine\1.0.2\junit-platform-engine-1.0.2.jar;"/>
               <property name="sun.cpu.endian" value="little"/>
          @@ -30,7 +30,7 @@
               <property name="line.separator" value="&#10;"/>
               <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
               <property name="java.specification.name" value="Java Platform API Specification"/>
          -    <property name="surefire.real.class.path" value="C:\Users\SoftA\AppData\Local\Temp\surefire9308943938457390564\surefirebooter14738086644009111251.jar"/>
          +    <property name="surefire.real.class.path" value="C:\Users\SoftA\AppData\Local\Temp\surefire12987402337600427303\surefirebooter13413967179469073364.jar"/>
               <property name="user.script" value=""/>
               <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
               <property name="java.runtime.version" value="16.0.1+9-24"/>
          diff --git a/target/surefire-reports/TEST-musichub.business.PlayListTest.xml b/target/surefire-reports/TEST-musichub.business.PlayListTest.xml
          index dde9373..5c92f89 100644
          --- a/target/surefire-reports/TEST-musichub.business.PlayListTest.xml
          +++ b/target/surefire-reports/TEST-musichub.business.PlayListTest.xml
          @@ -1,5 +1,5 @@
           <?xml version="1.0" encoding="UTF-8"?>
          -<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd" name="musichub.business.PlayListTest" time="0.018" tests="5" errors="0" skipped="0" failures="0">
          +<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd" name="musichub.business.PlayListTest" time="0.019" tests="5" errors="0" skipped="0" failures="0">
             <properties>
               <property name="java.specification.version" value="16"/>
               <property name="sun.cpu.isalist" value="amd64"/>
          @@ -15,7 +15,7 @@
               <property name="sun.java.launcher" value="SUN_STANDARD"/>
               <property name="user.country" value="FR"/>
               <property name="sun.boot.library.path" value="C:\Users\SoftA\.jdks\openjdk-16.0.1\bin"/>
          -    <property name="sun.java.command" value="C:\Users\SoftA\AppData\Local\Temp\surefire9308943938457390564\surefirebooter14738086644009111251.jar C:\Users\SoftA\AppData\Local\Temp\surefire9308943938457390564 2021-06-27T22-23-26_881-jvmRun1 surefire7843695504690115096tmp surefire_04088083116107885099tmp"/>
          +    <property name="sun.java.command" value="C:\Users\SoftA\AppData\Local\Temp\surefire12987402337600427303\surefirebooter13413967179469073364.jar C:\Users\SoftA\AppData\Local\Temp\surefire12987402337600427303 2021-06-28T23-36-31_184-jvmRun1 surefire14735445854373430078tmp surefire_017738082907736466932tmp"/>
               <property name="jdk.debug" value="release"/>
               <property name="surefire.test.class.path" value="C:\Users\SoftA\Documents\spoteezer\target\test-classes;C:\Users\SoftA\Documents\spoteezer\target\classes;C:\Users\SoftA\.m2\repository\org\junit\jupiter\junit-jupiter-api\5.0.2\junit-jupiter-api-5.0.2.jar;C:\Users\SoftA\.m2\repository\org\opentest4j\opentest4j\1.0.0\opentest4j-1.0.0.jar;C:\Users\SoftA\.m2\repository\org\junit\platform\junit-platform-commons\1.0.2\junit-platform-commons-1.0.2.jar;C:\Users\SoftA\.m2\repository\org\junit\jupiter\junit-jupiter-engine\5.0.2\junit-jupiter-engine-5.0.2.jar;C:\Users\SoftA\.m2\repository\org\junit\platform\junit-platform-engine\1.0.2\junit-platform-engine-1.0.2.jar;"/>
               <property name="sun.cpu.endian" value="little"/>
          @@ -30,7 +30,7 @@
               <property name="line.separator" value="&#10;"/>
               <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
               <property name="java.specification.name" value="Java Platform API Specification"/>
          -    <property name="surefire.real.class.path" value="C:\Users\SoftA\AppData\Local\Temp\surefire9308943938457390564\surefirebooter14738086644009111251.jar"/>
          +    <property name="surefire.real.class.path" value="C:\Users\SoftA\AppData\Local\Temp\surefire12987402337600427303\surefirebooter13413967179469073364.jar"/>
               <property name="user.script" value=""/>
               <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
               <property name="java.runtime.version" value="16.0.1+9-24"/>
          @@ -56,7 +56,7 @@
               <property name="java.class.version" value="60.0"/>
             </properties>
             <testcase name="testGetTitle" classname="musichub.business.PlayListTest" time="0.002"/>
          -  <testcase name="testPlaylistClass" classname="musichub.business.PlayListTest" time="0.001"/>
          +  <testcase name="testPlaylistClass" classname="musichub.business.PlayListTest" time="0"/>
             <testcase name="testPlaylistClassXML" classname="musichub.business.PlayListTest" time="0.006"/>
             <testcase name="testCreateXMLElement" classname="musichub.business.PlayListTest" time="0"/>
             <testcase name="testGetElements" classname="musichub.business.PlayListTest" time="0.001"/>
          diff --git a/target/surefire-reports/TEST-musichub.business.SongTest.xml b/target/surefire-reports/TEST-musichub.business.SongTest.xml
          index 2bfbc93..4623ab2 100644
          --- a/target/surefire-reports/TEST-musichub.business.SongTest.xml
          +++ b/target/surefire-reports/TEST-musichub.business.SongTest.xml
          @@ -1,5 +1,5 @@
           <?xml version="1.0" encoding="UTF-8"?>
          -<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd" name="musichub.business.SongTest" time="0.019" tests="6" errors="0" skipped="0" failures="0">
          +<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd" name="musichub.business.SongTest" time="0.013" tests="6" errors="0" skipped="0" failures="0">
             <properties>
               <property name="java.specification.version" value="16"/>
               <property name="sun.cpu.isalist" value="amd64"/>
          @@ -15,7 +15,7 @@
               <property name="sun.java.launcher" value="SUN_STANDARD"/>
               <property name="user.country" value="FR"/>
               <property name="sun.boot.library.path" value="C:\Users\SoftA\.jdks\openjdk-16.0.1\bin"/>
          -    <property name="sun.java.command" value="C:\Users\SoftA\AppData\Local\Temp\surefire9308943938457390564\surefirebooter14738086644009111251.jar C:\Users\SoftA\AppData\Local\Temp\surefire9308943938457390564 2021-06-27T22-23-26_881-jvmRun1 surefire7843695504690115096tmp surefire_04088083116107885099tmp"/>
          +    <property name="sun.java.command" value="C:\Users\SoftA\AppData\Local\Temp\surefire12987402337600427303\surefirebooter13413967179469073364.jar C:\Users\SoftA\AppData\Local\Temp\surefire12987402337600427303 2021-06-28T23-36-31_184-jvmRun1 surefire14735445854373430078tmp surefire_017738082907736466932tmp"/>
               <property name="jdk.debug" value="release"/>
               <property name="surefire.test.class.path" value="C:\Users\SoftA\Documents\spoteezer\target\test-classes;C:\Users\SoftA\Documents\spoteezer\target\classes;C:\Users\SoftA\.m2\repository\org\junit\jupiter\junit-jupiter-api\5.0.2\junit-jupiter-api-5.0.2.jar;C:\Users\SoftA\.m2\repository\org\opentest4j\opentest4j\1.0.0\opentest4j-1.0.0.jar;C:\Users\SoftA\.m2\repository\org\junit\platform\junit-platform-commons\1.0.2\junit-platform-commons-1.0.2.jar;C:\Users\SoftA\.m2\repository\org\junit\jupiter\junit-jupiter-engine\5.0.2\junit-jupiter-engine-5.0.2.jar;C:\Users\SoftA\.m2\repository\org\junit\platform\junit-platform-engine\1.0.2\junit-platform-engine-1.0.2.jar;"/>
               <property name="sun.cpu.endian" value="little"/>
          @@ -30,7 +30,7 @@
               <property name="line.separator" value="&#10;"/>
               <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
               <property name="java.specification.name" value="Java Platform API Specification"/>
          -    <property name="surefire.real.class.path" value="C:\Users\SoftA\AppData\Local\Temp\surefire9308943938457390564\surefirebooter14738086644009111251.jar"/>
          +    <property name="surefire.real.class.path" value="C:\Users\SoftA\AppData\Local\Temp\surefire12987402337600427303\surefirebooter13413967179469073364.jar"/>
               <property name="user.script" value=""/>
               <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
               <property name="java.runtime.version" value="16.0.1+9-24"/>
          @@ -55,9 +55,9 @@
               <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
               <property name="java.class.version" value="60.0"/>
             </properties>
          -  <testcase name="testGetGenre" classname="musichub.business.SongTest" time="0.005"/>
          +  <testcase name="testGetGenre" classname="musichub.business.SongTest" time="0"/>
             <testcase name="testToString" classname="musichub.business.SongTest" time="0.006"/>
          -  <testcase name="testSongClassXML" classname="musichub.business.SongTest" time="0.002"/>
          +  <testcase name="testSongClassXML" classname="musichub.business.SongTest" time="0.001"/>
             <testcase name="testCreateXMLElement" classname="musichub.business.SongTest" time="0"/>
             <testcase name="testSongClass" classname="musichub.business.SongTest" time="0"/>
             <testcase name="testSetGenre" classname="musichub.business.SongTest" time="0"/>
          diff --git a/target/surefire-reports/TEST-musichub.util.LogHandlerTest.xml b/target/surefire-reports/TEST-musichub.util.LogHandlerTest.xml
          index b5707c9..303888b 100644
          --- a/target/surefire-reports/TEST-musichub.util.LogHandlerTest.xml
          +++ b/target/surefire-reports/TEST-musichub.util.LogHandlerTest.xml
          @@ -1,5 +1,5 @@
           <?xml version="1.0" encoding="UTF-8"?>
          -<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd" name="musichub.util.LogHandlerTest" time="0.023" tests="3" errors="0" skipped="0" failures="0">
          +<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd" name="musichub.util.LogHandlerTest" time="0.075" tests="3" errors="0" skipped="0" failures="0">
             <properties>
               <property name="java.specification.version" value="16"/>
               <property name="sun.cpu.isalist" value="amd64"/>
          @@ -15,7 +15,7 @@
               <property name="sun.java.launcher" value="SUN_STANDARD"/>
               <property name="user.country" value="FR"/>
               <property name="sun.boot.library.path" value="C:\Users\SoftA\.jdks\openjdk-16.0.1\bin"/>
          -    <property name="sun.java.command" value="C:\Users\SoftA\AppData\Local\Temp\surefire9308943938457390564\surefirebooter14738086644009111251.jar C:\Users\SoftA\AppData\Local\Temp\surefire9308943938457390564 2021-06-27T22-23-26_881-jvmRun1 surefire7843695504690115096tmp surefire_04088083116107885099tmp"/>
          +    <property name="sun.java.command" value="C:\Users\SoftA\AppData\Local\Temp\surefire12987402337600427303\surefirebooter13413967179469073364.jar C:\Users\SoftA\AppData\Local\Temp\surefire12987402337600427303 2021-06-28T23-36-31_184-jvmRun1 surefire14735445854373430078tmp surefire_017738082907736466932tmp"/>
               <property name="jdk.debug" value="release"/>
               <property name="surefire.test.class.path" value="C:\Users\SoftA\Documents\spoteezer\target\test-classes;C:\Users\SoftA\Documents\spoteezer\target\classes;C:\Users\SoftA\.m2\repository\org\junit\jupiter\junit-jupiter-api\5.0.2\junit-jupiter-api-5.0.2.jar;C:\Users\SoftA\.m2\repository\org\opentest4j\opentest4j\1.0.0\opentest4j-1.0.0.jar;C:\Users\SoftA\.m2\repository\org\junit\platform\junit-platform-commons\1.0.2\junit-platform-commons-1.0.2.jar;C:\Users\SoftA\.m2\repository\org\junit\jupiter\junit-jupiter-engine\5.0.2\junit-jupiter-engine-5.0.2.jar;C:\Users\SoftA\.m2\repository\org\junit\platform\junit-platform-engine\1.0.2\junit-platform-engine-1.0.2.jar;"/>
               <property name="sun.cpu.endian" value="little"/>
          @@ -30,7 +30,7 @@
               <property name="line.separator" value="&#10;"/>
               <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
               <property name="java.specification.name" value="Java Platform API Specification"/>
          -    <property name="surefire.real.class.path" value="C:\Users\SoftA\AppData\Local\Temp\surefire9308943938457390564\surefirebooter14738086644009111251.jar"/>
          +    <property name="surefire.real.class.path" value="C:\Users\SoftA\AppData\Local\Temp\surefire12987402337600427303\surefirebooter13413967179469073364.jar"/>
               <property name="user.script" value=""/>
               <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
               <property name="java.runtime.version" value="16.0.1+9-24"/>
          @@ -55,7 +55,7 @@
               <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
               <property name="java.class.version" value="60.0"/>
             </properties>
          -  <testcase name="testLogHandlerClass" classname="musichub.util.LogHandlerTest" time="0"/>
          -  <testcase name="testWrite" classname="musichub.util.LogHandlerTest" time="0.002"/>
          -  <testcase name="testRead" classname="musichub.util.LogHandlerTest" time="0.018"/>
          +  <testcase name="testLogHandlerClass" classname="musichub.util.LogHandlerTest" time="0.001"/>
          +  <testcase name="testWrite" classname="musichub.util.LogHandlerTest" time="0"/>
          +  <testcase name="testRead" classname="musichub.util.LogHandlerTest" time="0.071"/>
           </testsuite>
          \ No newline at end of file
          diff --git a/target/surefire-reports/TEST-musichub.util.PathValidationTest.xml b/target/surefire-reports/TEST-musichub.util.PathValidationTest.xml
          index 10ec3d9..2ed37c9 100644
          --- a/target/surefire-reports/TEST-musichub.util.PathValidationTest.xml
          +++ b/target/surefire-reports/TEST-musichub.util.PathValidationTest.xml
          @@ -1,5 +1,5 @@
           <?xml version="1.0" encoding="UTF-8"?>
          -<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd" name="musichub.util.PathValidationTest" time="0.001" tests="2" errors="0" skipped="0" failures="0">
          +<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd" name="musichub.util.PathValidationTest" time="0.002" tests="2" errors="0" skipped="0" failures="0">
             <properties>
               <property name="java.specification.version" value="16"/>
               <property name="sun.cpu.isalist" value="amd64"/>
          @@ -15,7 +15,7 @@
               <property name="sun.java.launcher" value="SUN_STANDARD"/>
               <property name="user.country" value="FR"/>
               <property name="sun.boot.library.path" value="C:\Users\SoftA\.jdks\openjdk-16.0.1\bin"/>
          -    <property name="sun.java.command" value="C:\Users\SoftA\AppData\Local\Temp\surefire9308943938457390564\surefirebooter14738086644009111251.jar C:\Users\SoftA\AppData\Local\Temp\surefire9308943938457390564 2021-06-27T22-23-26_881-jvmRun1 surefire7843695504690115096tmp surefire_04088083116107885099tmp"/>
          +    <property name="sun.java.command" value="C:\Users\SoftA\AppData\Local\Temp\surefire12987402337600427303\surefirebooter13413967179469073364.jar C:\Users\SoftA\AppData\Local\Temp\surefire12987402337600427303 2021-06-28T23-36-31_184-jvmRun1 surefire14735445854373430078tmp surefire_017738082907736466932tmp"/>
               <property name="jdk.debug" value="release"/>
               <property name="surefire.test.class.path" value="C:\Users\SoftA\Documents\spoteezer\target\test-classes;C:\Users\SoftA\Documents\spoteezer\target\classes;C:\Users\SoftA\.m2\repository\org\junit\jupiter\junit-jupiter-api\5.0.2\junit-jupiter-api-5.0.2.jar;C:\Users\SoftA\.m2\repository\org\opentest4j\opentest4j\1.0.0\opentest4j-1.0.0.jar;C:\Users\SoftA\.m2\repository\org\junit\platform\junit-platform-commons\1.0.2\junit-platform-commons-1.0.2.jar;C:\Users\SoftA\.m2\repository\org\junit\jupiter\junit-jupiter-engine\5.0.2\junit-jupiter-engine-5.0.2.jar;C:\Users\SoftA\.m2\repository\org\junit\platform\junit-platform-engine\1.0.2\junit-platform-engine-1.0.2.jar;"/>
               <property name="sun.cpu.endian" value="little"/>
          @@ -30,7 +30,7 @@
               <property name="line.separator" value="&#10;"/>
               <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
               <property name="java.specification.name" value="Java Platform API Specification"/>
          -    <property name="surefire.real.class.path" value="C:\Users\SoftA\AppData\Local\Temp\surefire9308943938457390564\surefirebooter14738086644009111251.jar"/>
          +    <property name="surefire.real.class.path" value="C:\Users\SoftA\AppData\Local\Temp\surefire12987402337600427303\surefirebooter13413967179469073364.jar"/>
               <property name="user.script" value=""/>
               <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
               <property name="java.runtime.version" value="16.0.1+9-24"/>
          diff --git a/target/surefire-reports/TEST-musichub.util.XMLHandlerTest.xml b/target/surefire-reports/TEST-musichub.util.XMLHandlerTest.xml
          index 3022713..6ee5744 100644
          --- a/target/surefire-reports/TEST-musichub.util.XMLHandlerTest.xml
          +++ b/target/surefire-reports/TEST-musichub.util.XMLHandlerTest.xml
          @@ -1,5 +1,5 @@
           <?xml version="1.0" encoding="UTF-8"?>
          -<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd" name="musichub.util.XMLHandlerTest" time="0.119" tests="2" errors="0" skipped="0" failures="0">
          +<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd" name="musichub.util.XMLHandlerTest" time="0.094" tests="2" errors="0" skipped="0" failures="0">
             <properties>
               <property name="java.specification.version" value="16"/>
               <property name="sun.cpu.isalist" value="amd64"/>
          @@ -15,7 +15,7 @@
               <property name="sun.java.launcher" value="SUN_STANDARD"/>
               <property name="user.country" value="FR"/>
               <property name="sun.boot.library.path" value="C:\Users\SoftA\.jdks\openjdk-16.0.1\bin"/>
          -    <property name="sun.java.command" value="C:\Users\SoftA\AppData\Local\Temp\surefire9308943938457390564\surefirebooter14738086644009111251.jar C:\Users\SoftA\AppData\Local\Temp\surefire9308943938457390564 2021-06-27T22-23-26_881-jvmRun1 surefire7843695504690115096tmp surefire_04088083116107885099tmp"/>
          +    <property name="sun.java.command" value="C:\Users\SoftA\AppData\Local\Temp\surefire12987402337600427303\surefirebooter13413967179469073364.jar C:\Users\SoftA\AppData\Local\Temp\surefire12987402337600427303 2021-06-28T23-36-31_184-jvmRun1 surefire14735445854373430078tmp surefire_017738082907736466932tmp"/>
               <property name="jdk.debug" value="release"/>
               <property name="surefire.test.class.path" value="C:\Users\SoftA\Documents\spoteezer\target\test-classes;C:\Users\SoftA\Documents\spoteezer\target\classes;C:\Users\SoftA\.m2\repository\org\junit\jupiter\junit-jupiter-api\5.0.2\junit-jupiter-api-5.0.2.jar;C:\Users\SoftA\.m2\repository\org\opentest4j\opentest4j\1.0.0\opentest4j-1.0.0.jar;C:\Users\SoftA\.m2\repository\org\junit\platform\junit-platform-commons\1.0.2\junit-platform-commons-1.0.2.jar;C:\Users\SoftA\.m2\repository\org\junit\jupiter\junit-jupiter-engine\5.0.2\junit-jupiter-engine-5.0.2.jar;C:\Users\SoftA\.m2\repository\org\junit\platform\junit-platform-engine\1.0.2\junit-platform-engine-1.0.2.jar;"/>
               <property name="sun.cpu.endian" value="little"/>
          @@ -30,7 +30,7 @@
               <property name="line.separator" value="&#10;"/>
               <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
               <property name="java.specification.name" value="Java Platform API Specification"/>
          -    <property name="surefire.real.class.path" value="C:\Users\SoftA\AppData\Local\Temp\surefire9308943938457390564\surefirebooter14738086644009111251.jar"/>
          +    <property name="surefire.real.class.path" value="C:\Users\SoftA\AppData\Local\Temp\surefire12987402337600427303\surefirebooter13413967179469073364.jar"/>
               <property name="user.script" value=""/>
               <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
               <property name="java.runtime.version" value="16.0.1+9-24"/>
          @@ -55,6 +55,6 @@
               <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
               <property name="java.class.version" value="60.0"/>
             </properties>
          -  <testcase name="testParseXMLFile" classname="musichub.util.XMLHandlerTest" time="0.118"/>
          +  <testcase name="testParseXMLFile" classname="musichub.util.XMLHandlerTest" time="0.093"/>
             <testcase name="testCreateXML" classname="musichub.util.XMLHandlerTest" time="0"/>
           </testsuite>
          \ No newline at end of file
          diff --git a/target/surefire-reports/musichub.business.PlayListTest.txt b/target/surefire-reports/musichub.business.PlayListTest.txt
          index c738c60..7109820 100644
          --- a/target/surefire-reports/musichub.business.PlayListTest.txt
          +++ b/target/surefire-reports/musichub.business.PlayListTest.txt
          @@ -1,4 +1,4 @@
           -------------------------------------------------------------------------------
           Test set: musichub.business.PlayListTest
           -------------------------------------------------------------------------------
          -Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.018 s - in musichub.business.PlayListTest
          +Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.019 s - in musichub.business.PlayListTest
          diff --git a/target/surefire-reports/musichub.business.SongTest.txt b/target/surefire-reports/musichub.business.SongTest.txt
          index 4e87759..b940dd9 100644
          --- a/target/surefire-reports/musichub.business.SongTest.txt
          +++ b/target/surefire-reports/musichub.business.SongTest.txt
          @@ -1,4 +1,4 @@
           -------------------------------------------------------------------------------
           Test set: musichub.business.SongTest
           -------------------------------------------------------------------------------
          -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.019 s - in musichub.business.SongTest
          +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.013 s - in musichub.business.SongTest
          diff --git a/target/surefire-reports/musichub.util.LogHandlerTest.txt b/target/surefire-reports/musichub.util.LogHandlerTest.txt
          index 14d9938..520c865 100644
          --- a/target/surefire-reports/musichub.util.LogHandlerTest.txt
          +++ b/target/surefire-reports/musichub.util.LogHandlerTest.txt
          @@ -1,4 +1,4 @@
           -------------------------------------------------------------------------------
           Test set: musichub.util.LogHandlerTest
           -------------------------------------------------------------------------------
          -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.023 s - in musichub.util.LogHandlerTest
          +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.075 s - in musichub.util.LogHandlerTest
          diff --git a/target/surefire-reports/musichub.util.PathValidationTest.txt b/target/surefire-reports/musichub.util.PathValidationTest.txt
          index 39ffd40..73b70d5 100644
          --- a/target/surefire-reports/musichub.util.PathValidationTest.txt
          +++ b/target/surefire-reports/musichub.util.PathValidationTest.txt
          @@ -1,4 +1,4 @@
           -------------------------------------------------------------------------------
           Test set: musichub.util.PathValidationTest
           -------------------------------------------------------------------------------
          -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 s - in musichub.util.PathValidationTest
          +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 s - in musichub.util.PathValidationTest
          diff --git a/target/surefire-reports/musichub.util.XMLHandlerTest.txt b/target/surefire-reports/musichub.util.XMLHandlerTest.txt
          index 8938cdc..975dc3e 100644
          --- a/target/surefire-reports/musichub.util.XMLHandlerTest.txt
          +++ b/target/surefire-reports/musichub.util.XMLHandlerTest.txt
          @@ -1,4 +1,4 @@
           -------------------------------------------------------------------------------
           Test set: musichub.util.XMLHandlerTest
           -------------------------------------------------------------------------------
          -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.119 s - in musichub.util.XMLHandlerTest
          +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.094 s - in musichub.util.XMLHandlerTest
          -- 
          cgit v1.2.3