diff --git a/src/main/java/com/googlesource/gerrit/plugins/reviewnotes/ExportReviewNotes.java b/src/main/java/com/googlesource/gerrit/plugins/reviewnotes/ExportReviewNotes.java
index da390f4..7736652 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/reviewnotes/ExportReviewNotes.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/reviewnotes/ExportReviewNotes.java
@@ -16,6 +16,7 @@
 
 import com.google.common.collect.ImmutableListMultimap;
 import com.google.common.collect.ListMultimap;
+import com.google.common.collect.Maps;
 import com.google.gerrit.reviewdb.client.Change;
 import com.google.gerrit.reviewdb.client.Project;
 import com.google.gerrit.reviewdb.server.ReviewDb;
@@ -104,24 +105,8 @@
         return null;
       }
 
-      final Project.NameKey name = changes.keySet().iterator().next();
-      final List<ChangeNotes> list = changes.removeAll(name);
-      return new Map.Entry<Project.NameKey, List<ChangeNotes>>() {
-        @Override
-        public Project.NameKey getKey() {
-          return name;
-        }
-
-        @Override
-        public List<ChangeNotes> getValue() {
-          return list;
-        }
-
-        @Override
-        public List<ChangeNotes> setValue(List<ChangeNotes> value) {
-          throw new UnsupportedOperationException();
-        }
-      };
+      Project.NameKey name = changes.keySet().iterator().next();
+      return Maps.immutableEntry(name, changes.removeAll(name));
     }
   }
 
