diff --git a/api/src/main/java/javax/el/ELContext.java b/api/src/main/java/javax/el/ELContext.java
index 1b466cb..0b95e59 100644
--- a/api/src/main/java/javax/el/ELContext.java
+++ b/api/src/main/java/javax/el/ELContext.java
@@ -152,7 +152,7 @@
      * @param contextObject The context object to add to the collection.
      * @throws NullPointerException if key is null or contextObject is null.
      */
-    public void putContext(Class<?> key, Object contextObject) {
+    public void putContext(Class key, Object contextObject) {
         if (key == null || contextObject == null) {
             throw new NullPointerException();
         }
@@ -178,7 +178,7 @@
      * @return The context object associated with the given key, or null if no such context was found.
      * @throws NullPointerException if key is null.
      */
-    public Object getContext(Class<?> key) {
+    public Object getContext(Class key) {
         if (key == null) {
             throw new NullPointerException();
         }
diff --git a/api/src/main/java/javax/el/StandardELContext.java b/api/src/main/java/javax/el/StandardELContext.java
index 9e32f4c..1c17be7 100644
--- a/api/src/main/java/javax/el/StandardELContext.java
+++ b/api/src/main/java/javax/el/StandardELContext.java
@@ -105,7 +105,7 @@
     }
 
     @Override
-    public void putContext(Class<?> key, Object contextObject) {
+    public void putContext(Class key, Object contextObject) {
         if (delegate != null) {
             delegate.putContext(key, contextObject);
         } else {
@@ -114,7 +114,7 @@
     }
 
     @Override
-    public Object getContext(Class<?> key) {
+    public Object getContext(Class key) {
         if (delegate == null) {
             return super.getContext(key);
         }
