private void assignRandomNumbers() {
        Validate.notNull(this.artists, "Can't assign random numbers to a null collection of artists");
        for (Artist artist : this.artists) {
            artist.setRandom(Math.random());
            List<Album> albums = artist.getAlbums();
            if (albums != null) {
                for (Album album : albums) {
                    album.setRandom(Math.random());
                    List<Track> tracks = album.getTracks();
                    if (tracks != null) {
                        for (Track track : tracks) {
                            track.setRandom(Math.random());
                            List<Tag> tags = track.getTags();
                            if (tags != null) {
                                for (Tag tag : tags) {
                                    tag.setRandom(Math.random());
                                }
                            }
                        }
                    }
                }
            }
        }
    }