diff --git a/user/super/com/google/gwt/junit/translatable/org/junit/runner/RunWith.java b/user/super/com/google/gwt/junit/translatable/org/junit/runner/RunWith.java
new file mode 100644
index 0000000..e46cafc
--- /dev/null
+++ b/user/super/com/google/gwt/junit/translatable/org/junit/runner/RunWith.java
@@ -0,0 +1,23 @@
+/*
+ * Copyright 2017 Google Inc.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.junit.runner;
+
+/**
+ * Translatable version of JUnit's {@code RunWith}.
+ */
+public @interface RunWith {
+    Class<? extends Runner> value();
+}
diff --git a/user/super/com/google/gwt/junit/translatable/org/junit/runner/Runner.java b/user/super/com/google/gwt/junit/translatable/org/junit/runner/Runner.java
new file mode 100644
index 0000000..9d2ffef
--- /dev/null
+++ b/user/super/com/google/gwt/junit/translatable/org/junit/runner/Runner.java
@@ -0,0 +1,21 @@
+/*
+ * Copyright 2017 Google Inc.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.junit.runner;
+
+/**
+ * Translatable version of JUnit's {@code Runner}.
+ */
+public abstract class Runner { }
diff --git a/user/super/com/google/gwt/junit/translatable/org/junit/runners/Suite.java b/user/super/com/google/gwt/junit/translatable/org/junit/runners/Suite.java
new file mode 100644
index 0000000..e102b02
--- /dev/null
+++ b/user/super/com/google/gwt/junit/translatable/org/junit/runners/Suite.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright 2017 Google Inc.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.junit.runners;
+
+import org.junit.runner.Runner;
+
+/**
+ * Translatable version of JUnit's {@code Suite}.
+ */
+public class Suite extends Runner {
+    /**
+     * Translatable version of JUnit's {@code SuiteClasses}.
+     */
+    public @interface SuiteClasses {
+        Class<?>[] value();
+    }
+}
