diff --git a/src/main/java/com/gerritforge/gerrit/plugins/account/Module.java b/src/main/java/com/gerritforge/gerrit/plugins/account/Module.java
index 7278f7e..3b3f6fa 100644
--- a/src/main/java/com/gerritforge/gerrit/plugins/account/Module.java
+++ b/src/main/java/com/gerritforge/gerrit/plugins/account/Module.java
@@ -29,16 +29,19 @@
 
   @Override
   protected void configure() {
-    install(new RestApiModule() {
-      @Override
-      protected void configure() {
-        delete(ACCOUNT_KIND).to(DeleteAccount.class);
-      }
-    });
+    install(
+        new RestApiModule() {
+          @Override
+          protected void configure() {
+            delete(ACCOUNT_KIND).to(DeleteAccount.class);
+          }
+        });
 
-    bind(CapabilityDefinition.class).annotatedWith(Exports.named(DeleteAccountCapability.DELETE_ACCOUNT))
+    bind(CapabilityDefinition.class)
+        .annotatedWith(Exports.named(DeleteAccountCapability.DELETE_ACCOUNT))
         .to(DeleteAccountCapability.class);
-    bind(CapabilityDefinition.class).annotatedWith(Exports.named(DeleteOwnAccountCapability.DELETE_OWN_ACCOUNT))
+    bind(CapabilityDefinition.class)
+        .annotatedWith(Exports.named(DeleteOwnAccountCapability.DELETE_OWN_ACCOUNT))
         .to(DeleteOwnAccountCapability.class);
 
     DynamicSet.bind(binder(), TopMenu.class).to(AccountTopMenu.class);
diff --git a/src/test/java/com/gerritforge/gerrit/plugins/account/test/DeleteAccountCommandTest.java b/src/test/java/com/gerritforge/gerrit/plugins/account/test/DeleteAccountCommandTest.java
index f8fcb38..a794336 100644
--- a/src/test/java/com/gerritforge/gerrit/plugins/account/test/DeleteAccountCommandTest.java
+++ b/src/test/java/com/gerritforge/gerrit/plugins/account/test/DeleteAccountCommandTest.java
@@ -20,7 +20,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import com.gerritforge.gerrit.plugins.account.AccountPersonalInformation;
 import com.gerritforge.gerrit.plugins.account.AccountResourceFactory;
 import com.gerritforge.gerrit.plugins.account.DeleteAccount;
 import com.gerritforge.gerrit.plugins.account.DeleteAccountCommand;
@@ -52,8 +51,7 @@
     deleteAccountCommand = new DeleteAccountCommand(accountFactoryMock, deleteAccountMock);
     deleteAccountCommand.setPrintWriters(
         new PrintWriter(new ByteArrayOutputStream()), new PrintWriter(new ByteArrayOutputStream()));
-    DeleteAccountResponse resp =
-        new DeleteAccountResponse(true, new AccountPersonalInformation(userMock));
+    DeleteAccountResponse resp = new DeleteAccountResponse(true);
     when(deleteAccountMock.apply(same(accountResourceMock), any(DeleteAccount.Input.class)))
         .thenReturn(resp);
   }
