This actually looks more like the JVM getting internally confused about types. This kind of thing can happen if you do something that causes on-the-fly application reloads, where the JVM is trying to garbage collect actual Java class definitions and then re-load them. If you are reloading your application without restarting the JVM, you might find that this happens only after a reload.
One thing you could try: turn on the (very verbose) JVM class loading logs. This may show you that basic classes (such as the commons-collection library) are being reloaded by the JVM for some reason. Then once this happens, sometime later, this exception might arise.
Leave a comment: