Now that the API has a remove(...) method, the map implementation
can be changed from WeakHashMap to ConcurrentHashMap.
diff --git a/src/main/java/org/eclipse/jetty/npn/NextProtoNego.java b/src/main/java/org/eclipse/jetty/npn/NextProtoNego.java
index 4729fbe..295f119 100644
--- a/src/main/java/org/eclipse/jetty/npn/NextProtoNego.java
+++ b/src/main/java/org/eclipse/jetty/npn/NextProtoNego.java
@@ -19,10 +19,10 @@
 
 package org.eclipse.jetty.npn;
 
-import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 import java.util.WeakHashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import javax.net.ssl.SSLEngine;
 import javax.net.ssl.SSLSocket;
 
@@ -102,7 +102,7 @@
      */
     public static boolean debug = false;
 
-    private static Map<Object, Provider> objects = Collections.synchronizedMap(new WeakHashMap<Object, Provider>());
+    private static Map<Object, Provider> objects = new ConcurrentHashMap<>();
 
     private NextProtoNego()
     {