Merge submittable review when its topic is removed

No e2e test added because topics cannot be changed via Gerrit SSH API:
https://bugs.chromium.org/p/gerrit/issues/detail?id=778

Change-Id: I4fbc5cc27edd8fe616f77284212edb36e07ef597
diff --git a/src/main/java/com/criteo/gerrit/plugins/automerge/AutomaticMerger.java b/src/main/java/com/criteo/gerrit/plugins/automerge/AutomaticMerger.java
index 113b8e9..efe90c1 100644
--- a/src/main/java/com/criteo/gerrit/plugins/automerge/AutomaticMerger.java
+++ b/src/main/java/com/criteo/gerrit/plugins/automerge/AutomaticMerger.java
@@ -27,6 +27,7 @@
 import com.google.gerrit.server.change.Submit;
 import com.google.gerrit.server.data.AccountAttribute;
 import com.google.gerrit.server.data.ChangeAttribute;
+import com.google.gerrit.server.events.ChangeEvent;
 import com.google.gerrit.server.events.CommentAddedEvent;
 import com.google.gerrit.server.events.Event;
 import com.google.gerrit.server.events.PatchSetCreatedEvent;
@@ -87,11 +88,10 @@
 
   @Override
   synchronized public void onEvent(final Event event) {
-    if (event instanceof TopicChangedEvent) {
-      onTopicChanged((TopicChangedEvent)event);
-    }
-    else if (event instanceof PatchSetCreatedEvent) {
-      onPatchSetCreated((PatchSetCreatedEvent)event);
+    if (event instanceof TopicChangedEvent ||
+        event instanceof PatchSetCreatedEvent) {
+      Change change = Change.from(((ChangeEvent)event).change.get());
+      onNewOrChangedPatchSet(change);
     }
     else if (event instanceof CommentAddedEvent) {
       onCommentAdded((CommentAddedEvent)event);
@@ -103,21 +103,10 @@
     }
   }
 
-
-  private void onTopicChanged(final TopicChangedEvent event) {
-    Change change = Change.from(event.change.get());
-    if (!atomicityHelper.isAtomicReview(change)) {
-      return;
-    }
-    processNewAtomicPatchSet(change);
-  }
-
-  private void onPatchSetCreated(final PatchSetCreatedEvent event) {
-    Change change = Change.from(event.change.get());
+  private void onNewOrChangedPatchSet(Change change) {
     if (atomicityHelper.isAtomicReview(change)) {
       processNewAtomicPatchSet(change);
     }
-
     try {
       autoSubmitIfMergeable(change);
     } catch (OrmException | RestApiException | IOException | UpdateException e) {