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 bcb8fe6..da390f4 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/reviewnotes/ExportReviewNotes.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/reviewnotes/ExportReviewNotes.java
@@ -14,7 +14,6 @@
 
 package com.googlesource.gerrit.plugins.reviewnotes;
 
-import com.google.common.base.Predicate;
 import com.google.common.collect.ImmutableListMultimap;
 import com.google.common.collect.ListMultimap;
 import com.google.gerrit.reviewdb.client.Change;
@@ -78,12 +77,8 @@
 
   private ListMultimap<Project.NameKey, ChangeNotes> mergedChanges() {
     try (ReviewDb db = database.open()) {
-      return notesFactory.create(db, new Predicate<ChangeNotes>() {
-        @Override
-        public boolean apply(ChangeNotes notes) {
-          return notes.getChange().getStatus() == Change.Status.MERGED;
-        }
-      });
+      return notesFactory.create(
+          db, notes -> notes.getChange().getStatus() == Change.Status.MERGED);
     } catch (OrmException | IOException e) {
       stderr.println("Cannot read changes from database " + e.getMessage());
       return ImmutableListMultimap.of();
