these should probably all be private[util] (here and WrappedJavaHashMap and TimeStampedWeakValueMap)