+ @Override
+ public void remove() throws IllegalStateException {
+ synchronized (album) {
+ album.images.remove(getId());
+ album.imageIds.remove(getId());
+ if (getId().equals(album.albumImage)) {
+ album.albumImage = from(album.images.values()).transform(GET_ID).first().orNull();
+ }
+ }
+ }
+