diff --git a/src/main/java/com/googlesource/gerrit/plugins/importer/client/ImportGroupScreen.java b/src/main/java/com/googlesource/gerrit/plugins/importer/client/ImportGroupScreen.java
index 76b3842..d1e4df1 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/importer/client/ImportGroupScreen.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/importer/client/ImportGroupScreen.java
@@ -14,9 +14,10 @@
 
 package com.googlesource.gerrit.plugins.importer.client;
 
-import static com.googlesource.gerrit.plugins.importer.client.TextBoxUtil.addPasswordTextBox;
-import static com.googlesource.gerrit.plugins.importer.client.TextBoxUtil.addTextBox;
-import static com.googlesource.gerrit.plugins.importer.client.TextBoxUtil.getValue;
+import static com.googlesource.gerrit.plugins.importer.client.InputUtil.addCheckBox;
+import static com.googlesource.gerrit.plugins.importer.client.InputUtil.addPasswordTextBox;
+import static com.googlesource.gerrit.plugins.importer.client.InputUtil.addTextBox;
+import static com.googlesource.gerrit.plugins.importer.client.InputUtil.getValue;
 
 import com.google.gerrit.plugin.client.Plugin;
 import com.google.gerrit.plugin.client.rpc.RestApi;
@@ -29,7 +30,6 @@
 import com.google.gwt.user.client.ui.CheckBox;
 import com.google.gwt.user.client.ui.DialogBox;
 import com.google.gwt.user.client.ui.HorizontalPanel;
-import com.google.gwt.user.client.ui.Image;
 import com.google.gwt.user.client.ui.Label;
 import com.google.gwt.user.client.ui.Panel;
 import com.google.gwt.user.client.ui.TextBox;
@@ -58,8 +58,8 @@
     nameTxt = addTextBox(this, "Group Name*", "name of the group");
     userTxt = addTextBox(this, "Remote User*", "user on remote system");
     passTxt = addPasswordTextBox(this, "Password*", "password of remote user");
-    importOwnerGroupCheckBox = addCheckBox("import owner group", "also import missing owner groups");
-    importIncludedGroupsCheckBox = addCheckBox("import included groups", "also import missing included groups");
+    importOwnerGroupCheckBox = addCheckBox(this, "import owner group", "also import missing owner groups");
+    importIncludedGroupsCheckBox = addCheckBox(this, "import included groups", "also import missing included groups");
 
     HorizontalPanel buttons = new HorizontalPanel();
     add(buttons);
@@ -80,18 +80,6 @@
     importButton.setEnabled(false);
   }
 
-  private CheckBox addCheckBox(String label, String infoMsg) {
-    HorizontalPanel hp = new HorizontalPanel();
-    CheckBox cb = new CheckBox(label);
-    cb.setText(label);
-    hp.add(cb);
-    Image info = new Image(ImporterPlugin.RESOURCES.info());
-    info.setTitle(infoMsg);
-    hp.add(info);
-    add(hp);
-    return cb;
-  }
-
   private void doImport() {
     ImportGroupInput in = ImportGroupInput.create();
     in.from(getValue(fromTxt));
diff --git a/src/main/java/com/googlesource/gerrit/plugins/importer/client/ImportProjectScreen.java b/src/main/java/com/googlesource/gerrit/plugins/importer/client/ImportProjectScreen.java
index ee03cb9..23dd4f7 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/importer/client/ImportProjectScreen.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/importer/client/ImportProjectScreen.java
@@ -14,9 +14,9 @@
 
 package com.googlesource.gerrit.plugins.importer.client;
 
-import static com.googlesource.gerrit.plugins.importer.client.TextBoxUtil.addPasswordTextBox;
-import static com.googlesource.gerrit.plugins.importer.client.TextBoxUtil.addTextBox;
-import static com.googlesource.gerrit.plugins.importer.client.TextBoxUtil.getValue;
+import static com.googlesource.gerrit.plugins.importer.client.InputUtil.addPasswordTextBox;
+import static com.googlesource.gerrit.plugins.importer.client.InputUtil.addTextBox;
+import static com.googlesource.gerrit.plugins.importer.client.InputUtil.getValue;
 
 import com.google.gerrit.plugin.client.Plugin;
 import com.google.gerrit.plugin.client.rpc.RestApi;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/importer/client/TextBoxUtil.java b/src/main/java/com/googlesource/gerrit/plugins/importer/client/InputUtil.java
similarity index 88%
rename from src/main/java/com/googlesource/gerrit/plugins/importer/client/TextBoxUtil.java
rename to src/main/java/com/googlesource/gerrit/plugins/importer/client/InputUtil.java
index 81d56c8..6edfe44 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/importer/client/TextBoxUtil.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/importer/client/InputUtil.java
@@ -19,6 +19,7 @@
 import com.google.gwt.event.dom.client.KeyPressEvent;
 import com.google.gwt.event.dom.client.KeyPressHandler;
 import com.google.gwt.user.client.Event;
+import com.google.gwt.user.client.ui.CheckBox;
 import com.google.gwt.user.client.ui.HorizontalPanel;
 import com.google.gwt.user.client.ui.Image;
 import com.google.gwt.user.client.ui.Label;
@@ -27,7 +28,7 @@
 import com.google.gwt.user.client.ui.TextBox;
 import com.google.gwt.user.client.ui.VerticalPanel;
 
-public class TextBoxUtil {
+public class InputUtil {
   public static TextBox addTextBox(Panel p, String label, String infoMsg) {
     return addTextBox(p, label, infoMsg, false);
   }
@@ -98,4 +99,16 @@
   public static String getValue(TextBox tb) {
     return tb.getValue().trim();
   }
+
+  public static CheckBox addCheckBox(Panel p, String label, String infoMsg) {
+    HorizontalPanel hp = new HorizontalPanel();
+    CheckBox cb = new CheckBox(label);
+    cb.setText(label);
+    hp.add(cb);
+    Image info = new Image(ImporterPlugin.RESOURCES.info());
+    info.setTitle(infoMsg);
+    hp.add(info);
+    p.add(hp);
+    return cb;
+  }
 }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/importer/client/ResumeImportDialog.java b/src/main/java/com/googlesource/gerrit/plugins/importer/client/ResumeImportDialog.java
index ab116c0..efd3fcb 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/importer/client/ResumeImportDialog.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/importer/client/ResumeImportDialog.java
@@ -14,9 +14,10 @@
 
 package com.googlesource.gerrit.plugins.importer.client;
 
-import static com.googlesource.gerrit.plugins.importer.client.TextBoxUtil.addPasswordTextBox;
-import static com.googlesource.gerrit.plugins.importer.client.TextBoxUtil.addTextBox;
-import static com.googlesource.gerrit.plugins.importer.client.TextBoxUtil.getValue;
+import static com.googlesource.gerrit.plugins.importer.client.InputUtil.addPasswordTextBox;
+import static com.googlesource.gerrit.plugins.importer.client.InputUtil.addCheckBox;
+import static com.googlesource.gerrit.plugins.importer.client.InputUtil.addTextBox;
+import static com.googlesource.gerrit.plugins.importer.client.InputUtil.getValue;
 
 import com.google.gerrit.plugin.client.Plugin;
 import com.google.gerrit.plugin.client.rpc.RestApi;
@@ -24,6 +25,7 @@
 import com.google.gwt.event.dom.client.ClickHandler;
 import com.google.gwt.user.client.rpc.AsyncCallback;
 import com.google.gwt.user.client.ui.Button;
+import com.google.gwt.user.client.ui.CheckBox;
 import com.google.gwt.user.client.ui.DialogBox;
 import com.google.gwt.user.client.ui.FlowPanel;
 import com.google.gwt.user.client.ui.Label;
@@ -39,6 +41,7 @@
   private final Button resumeButton;
   private final TextBox userTxt;
   private final TextBox passTxt;
+  private final CheckBox forceCheckBox;
 
   public ResumeImportDialog(final String project) {
     super(/* auto hide */false, /* modal */true);
@@ -57,6 +60,7 @@
         ResumeImportProjectInput in = ResumeImportProjectInput.create();
         in.user(getValue(userTxt));
         in.pass(getValue(passTxt));
+        in.force(forceCheckBox.getValue());
 
         new RestApi("config").id("server")
             .view(Plugin.get().getName(), "projects").id(project)
@@ -114,6 +118,7 @@
 
     userTxt = addTextBox(center, "Remote User*", "user on remote system");
     passTxt = addPasswordTextBox(center, "Password*", "password of remote user");
+    forceCheckBox = addCheckBox(center, "Force", "whether resume should be done forcefully");
 
     center.add(buttons);
     add(center);
diff --git a/src/main/java/com/googlesource/gerrit/plugins/importer/client/ResumeImportProjectInput.java b/src/main/java/com/googlesource/gerrit/plugins/importer/client/ResumeImportProjectInput.java
index 1635882..9bfeb82 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/importer/client/ResumeImportProjectInput.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/importer/client/ResumeImportProjectInput.java
@@ -19,6 +19,7 @@
 public class ResumeImportProjectInput extends JavaScriptObject {
   final native void user(String u) /*-{ this.user = u; }-*/;
   final native void pass(String p) /*-{ this.pass = p; }-*/;
+  final native void force(boolean f) /*-{ this.force = f; }-*/;
 
   static ResumeImportProjectInput create() {
     return (ResumeImportProjectInput) createObject();
