+ boolean isEmpty();
+
+ /**
+ * Returns whether this album is an identitiy’s root album.
+ *
+ * @return {@code true} if this album is an identity’s root album, {@code
+ * false} otherwise
+ */
+ boolean isRoot();
+
+ /**
+ * Returns the parent album of this album.
+ *
+ * @return The parent album of this album, or {@code null} if this album does
+ * not have a parent
+ */
+ Album getParent();
+
+ /**
+ * Returns the title of this album.
+ *
+ * @return The title of this album
+ */
+ String getTitle();
+
+ /**
+ * Returns the description of this album.
+ *
+ * @return The description of this album
+ */
+ String getDescription();
+
+ AlbumBuilder newAlbumBuilder() throws IllegalStateException;
+
+ ImageBuilder newImageBuilder() throws IllegalStateException;