I am getting a strange runtime error from my code:
"Found interface [SomeInterface] but class was expected"
How can this happen? How can an interface get instantiated?
Update: (In response to some answers) I am compiling and running against the same set of libraries, but I am using Guice to inject a Provider for this particular Interface.
The problem went away when I bound an implementation to the interface (seems like the @ImplementedBy annotation was not enough).
I was more interested in the mechanics through which Guice managed to actually instantiate an interface.