+ private Function<String, Iterable<Album>> getAlbum() {
+ return new Function<String, Iterable<Album>>() {
+ @Override
+ public Iterable<Album> apply(String input) {
+ return (input == null) ? Collections.<Album>emptyList() : getAlbum(input).asSet();
+ }
+ };
+ }
+
+ private Function<String, Iterable<Image>> getImage() {
+ return new Function<String, Iterable<Image>>() {
+ @Override
+ public Iterable<Image> apply(String input) {
+ return (input == null) ? Collections.<Image>emptyList() : getImage(input).asSet();
+ }
+ };
+ }
+
+ static <T> Function<Optional<T>, Iterable<T>> unwrap() {
+ return new Function<Optional<T>, Iterable<T>>() {
+ @Override
+ public Iterable<T> apply(Optional<T> input) {
+ return (input == null) ? Collections.<T>emptyList() : input.asSet();
+ }
+ };
+ }
+