diff --git a/src/main/java/com/googlesource/gerrit/plugins/reviewnotes/CreateReviewNotes.java b/src/main/java/com/googlesource/gerrit/plugins/reviewnotes/CreateReviewNotes.java
index 6c2f16d..72c9ec9 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/reviewnotes/CreateReviewNotes.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/reviewnotes/CreateReviewNotes.java
@@ -92,16 +92,16 @@
   @Inject
   CreateReviewNotes(@GerritPersonIdent final PersonIdent gerritIdent,
       final AccountCache accountCache,
-      final @AnonymousCowardName String anonymousCowardName,
+      @AnonymousCowardName final String anonymousCowardName,
       final ProjectCache projectCache,
       final ApprovalsUtil approvalsUtil,
       final ChangeControl.GenericFactory changeControlFactory,
       final IdentifiedUser.GenericFactory userFactory,
       final NotesBranchUtil.Factory notesBranchUtilFactory,
-      final @Nullable @CanonicalWebUrl String canonicalWebUrl,
-      final @Assisted ReviewDb reviewDb,
-      final @Assisted Project.NameKey project,
-      final @Assisted Repository git) {
+      @Nullable @CanonicalWebUrl final String canonicalWebUrl,
+      @Assisted final ReviewDb reviewDb,
+      @Assisted final Project.NameKey project,
+      @Assisted final Repository git) {
     this.gerritServerIdent = gerritIdent;
     this.accountCache = accountCache;
     this.anonymousCowardName = anonymousCowardName;
@@ -129,25 +129,24 @@
       return;
     }
 
-    RevWalk rw = new RevWalk(git);
-    try {
-      RevCommit n = rw.parseCommit(newObjectId);
-      rw.markStart(n);
-      if (n.getParentCount() == 1 && n.getParent(0).equals(oldObjectId)) {
-        rw.markUninteresting(rw.parseCommit(oldObjectId));
-      } else {
-        markUninteresting(git, branch, rw, oldObjectId);
+    try (RevWalk rw = new RevWalk(git)) {
+      try {
+        RevCommit n = rw.parseCommit(newObjectId);
+        rw.markStart(n);
+        if (n.getParentCount() == 1 && n.getParent(0).equals(oldObjectId)) {
+          rw.markUninteresting(rw.parseCommit(oldObjectId));
+        } else {
+          markUninteresting(git, branch, rw, oldObjectId);
+        }
+      } catch (Exception e) {
+        log.error(e.getMessage(), e);
+        return;
       }
-    } catch (Exception e) {
-      log.error(e.getMessage(), e);
-      return;
-    }
 
-    if (monitor == null) {
-      monitor = NullProgressMonitor.INSTANCE;
-    }
+      if (monitor == null) {
+        monitor = NullProgressMonitor.INSTANCE;
+      }
 
-    try {
       for (RevCommit c : rw) {
         ObjectId content = createNoteContent(loadPatchSet(c, branch));
         if (content != null) {
@@ -156,8 +155,6 @@
           getMessage().append("* ").append(c.getShortMessage()).append("\n");
         }
       }
-    } finally {
-      rw.close();
     }
   }
 
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 379f923..2b1968c 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/reviewnotes/ExportReviewNotes.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/reviewnotes/ExportReviewNotes.java
@@ -76,17 +76,11 @@
   }
 
   private List<Change> allChanges() {
-    ReviewDb db = null;
-    try {
-      db = database.open();
+    try (ReviewDb db = database.open()){
       return db.changes().all().toList();
     } catch (OrmException e) {
-      stderr.print("Cannot read changes from database " + e.getMessage());
+      stderr.println("Cannot read changes from database " + e.getMessage());
       return Collections.emptyList();
-    } finally {
-      if (db != null) {
-        db.close();
-      }
     }
   }
 
@@ -109,20 +103,14 @@
 
   private void export(ReviewDb db, Project.NameKey project, List<Change> changes)
       throws IOException, OrmException {
-    final Repository git;
-    try {
-      git = gitManager.openRepository(project);
-    } catch (RepositoryNotFoundException e) {
-      return;
-    }
-    try {
+    try (Repository git = gitManager.openRepository(project)) {
       CreateReviewNotes crn = reviewNotesFactory.create(db, project, git);
       crn.createNotes(changes, monitor);
       crn.commitNotes();
+    } catch (RepositoryNotFoundException e) {
+      stderr.println("Unable to open project: " + project.get());
     } catch (ConcurrentRefUpdateException e) {
-      stderr.print(e.getMessage());
-    } finally {
-      git.close();
+      stderr.println(e.getMessage());
     }
   }
 
@@ -156,29 +144,23 @@
   private class Worker extends Thread {
     @Override
     public void run() {
-      ReviewDb db;
-      try {
-        db = database.open();
-      } catch (OrmException e) {
-        stderr.print(e.getMessage());
-        return;
-      }
-      try {
+      try (ReviewDb db = database.open()){
         for (;;) {
           Entry<Project.NameKey, List<Change>> next = next();
           if (next != null) {
             try {
               export(db, next.getKey(), next.getValue());
             } catch (OrmException | IOException e) {
-              stderr.print(e.getMessage());
+              stderr.println(e.getMessage());
             }
           } else {
             break;
           }
         }
+      } catch (OrmException e) {
+        stderr.println(e.getMessage());
       } finally {
         monitor.endWorker();
-        db.close();
       }
     }
   }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/reviewnotes/RefUpdateListener.java b/src/main/java/com/googlesource/gerrit/plugins/reviewnotes/RefUpdateListener.java
index c839c31..d798648 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/reviewnotes/RefUpdateListener.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/reviewnotes/RefUpdateListener.java
@@ -26,7 +26,6 @@
 import com.google.inject.Inject;
 
 import org.eclipse.jgit.api.errors.ConcurrentRefUpdateException;
-import org.eclipse.jgit.errors.RepositoryNotFoundException;
 import org.eclipse.jgit.lib.Config;
 import org.eclipse.jgit.lib.ObjectId;
 import org.eclipse.jgit.lib.Repository;
@@ -95,50 +94,19 @@
 
   private void createReviewNotes(Event e) {
     Project.NameKey projectName = new Project.NameKey(e.getProjectName());
-    Repository git;
-    try {
-      git = repoManager.openRepository(projectName);
-    } catch (RepositoryNotFoundException x) {
-      log.error(x.getMessage(), x);
-      return;
-    } catch (IOException x) {
-      log.error(x.getMessage(), x);
-      return;
-    }
-
-    ReviewDb reviewDb;
-    try {
-
-      try {
-        reviewDb = schema.open();
-      } catch (OrmException x) {
-        log.error(x.getMessage(), x);
-        return;
+    try (Repository git = repoManager.openRepository(projectName);
+        ReviewDb reviewDb = schema.open()) {
+      CreateReviewNotes crn = reviewNotesFactory.create(
+          reviewDb, projectName, git);
+      if (e.getRefName().startsWith("refs/heads/")) {
+        crn.createNotes(e.getRefName(),
+            ObjectId.fromString(e.getOldObjectId()),
+            ObjectId.fromString(e.getNewObjectId()),
+            null);
+        crn.commitNotes();
       }
-
-      try {
-        CreateReviewNotes crn = reviewNotesFactory.create(
-            reviewDb, projectName, git);
-        if (e.getRefName().startsWith("refs/heads/")) {
-          crn.createNotes(e.getRefName(),
-              ObjectId.fromString(e.getOldObjectId()),
-              ObjectId.fromString(e.getNewObjectId()),
-              null);
-          crn.commitNotes();
-        }
-      } catch (OrmException x) {
-        log.error(x.getMessage(), x);
-      } catch (IOException x) {
-        log.error(x.getMessage(), x);
-      } catch (ConcurrentRefUpdateException x) {
-        log.error(x.getMessage(), x);
-      } finally {
-        reviewDb.close();
-      }
-
-    } finally {
-      git.close();
+    } catch (OrmException | IOException | ConcurrentRefUpdateException x) {
+      log.error(x.getMessage(), x);
     }
-
   }
 }
diff --git a/src/main/resources/Documentation/about.md b/src/main/resources/Documentation/about.md
index ded934b..4e76dea 100644
--- a/src/main/resources/Documentation/about.md
+++ b/src/main/resources/Documentation/about.md
@@ -1,3 +1,2 @@
 Stores review information for Gerrit changes in the refs/notes/review
 branch.
-
diff --git a/src/main/resources/Documentation/refs-notes-review.md b/src/main/resources/Documentation/refs-notes-review.md
index a504025..20fd3c7 100644
--- a/src/main/resources/Documentation/refs-notes-review.md
+++ b/src/main/resources/Documentation/refs-notes-review.md
@@ -14,8 +14,7 @@
   $ git fetch origin refs/notes/review:refs/notes/review
 ```
 
-It is also possible to [configure git][1] to always to always fetch
-`refs/notes/review`:
+It is also possible to [configure git][1] to always fetch `refs/notes/review`:
 
 ```
   $ git config --add remote.origin.fetch refs/notes/review:refs/notes/review
