Add missing @Nonnull to return types in JRE APIs

These are used by J2CL to correctly generate nullabiltiy for
JsDoc types.

Change-Id: Ia529cd8476b749964c37d3127d488918c1c00ddf
diff --git a/user/super/com/google/gwt/emul/java/lang/Enum.java b/user/super/com/google/gwt/emul/java/lang/Enum.java
index 715ec69..0d9fef0 100644
--- a/user/super/com/google/gwt/emul/java/lang/Enum.java
+++ b/user/super/com/google/gwt/emul/java/lang/Enum.java
@@ -22,6 +22,8 @@
 
 import java.io.Serializable;
 
+import javax.annotation.Nonnull;
+
 import jsinterop.annotations.JsIgnore;
 import jsinterop.annotations.JsType;
 
@@ -115,6 +117,7 @@
     return super.hashCode();
   }
 
+  @Nonnull
   public final String name() {
     return name != null ? name : "" + ordinal;
   }
diff --git a/user/super/com/google/gwt/emul/java/lang/Throwable.java b/user/super/com/google/gwt/emul/java/lang/Throwable.java
index 5032d65..856776e 100644
--- a/user/super/com/google/gwt/emul/java/lang/Throwable.java
+++ b/user/super/com/google/gwt/emul/java/lang/Throwable.java
@@ -22,8 +22,11 @@
 import java.io.PrintStream;
 import java.io.Serializable;
 
+import javax.annotation.Nonnull;
+
 import javaemul.internal.JsUtils;
 import javaemul.internal.annotations.DoNotInline;
+
 import jsinterop.annotations.JsMethod;
 import jsinterop.annotations.JsProperty;
 import jsinterop.annotations.JsType;
@@ -286,6 +289,7 @@
   }
 
   @JsMethod
+  @Nonnull
   public static Throwable of(Object e) {
     // If the JS error is already mapped to a Java Exception, use it.
     if (e != null) {
diff --git a/user/super/com/google/gwt/emul/java/util/List.java b/user/super/com/google/gwt/emul/java/util/List.java
index 6107482..8cb824f 100644
--- a/user/super/com/google/gwt/emul/java/util/List.java
+++ b/user/super/com/google/gwt/emul/java/util/List.java
@@ -19,6 +19,8 @@
 
 import java.util.function.UnaryOperator;
 
+import javax.annotation.Nonnull;
+
 import jsinterop.annotations.JsIgnore;
 import jsinterop.annotations.JsMethod;
 import jsinterop.annotations.JsType;
@@ -82,5 +84,6 @@
     return Spliterators.spliterator(this, Spliterator.ORDERED);
   }
 
+  @Nonnull
   List<E> subList(int fromIndex, int toIndex);
 }
diff --git a/user/super/com/google/gwt/emul/java/util/Map.java b/user/super/com/google/gwt/emul/java/util/Map.java
index 86f0f94..06106eb 100644
--- a/user/super/com/google/gwt/emul/java/util/Map.java
+++ b/user/super/com/google/gwt/emul/java/util/Map.java
@@ -22,6 +22,8 @@
 import java.util.function.BiFunction;
 import java.util.function.Function;
 
+import javax.annotation.Nonnull;
+
 import jsinterop.annotations.JsIgnore;
 import jsinterop.annotations.JsType;
 
@@ -141,6 +143,7 @@
 
   boolean isEmpty();
 
+  @Nonnull
   Set<K> keySet();
 
   @JsIgnore
@@ -203,5 +206,6 @@
 
   int size();
 
+  @Nonnull
   Collection<V> values();
 }
diff --git a/user/test/com/google/gwt/core/client/impl/StackTraceEmulTest.java b/user/test/com/google/gwt/core/client/impl/StackTraceEmulTest.java
index 6a3822a..97e8978 100644
--- a/user/test/com/google/gwt/core/client/impl/StackTraceEmulTest.java
+++ b/user/test/com/google/gwt/core/client/impl/StackTraceEmulTest.java
@@ -67,7 +67,7 @@
     String[] methodNames = getTraceJava();
 
     StackTraceElement[] expectedTrace = new StackTraceElement[] {
-        createSTE(methodNames[0], "Throwable.java", 66),
+        createSTE(methodNames[0], "Throwable.java", 69),
         createSTE(methodNames[1], "Exception.java", 29),
         createSTE(methodNames[2], "StackTraceExamples.java", 57),
         createSTE(methodNames[3], "StackTraceExamples.java", 52),