In my project i want to pass a List of InjectableStep (which is a marker interface).
But i cannot pass my List<? super InjectableStep> or even List to the constructor of InstanceStepsFactory. It always calls the Ctor with the Object... parameter till I use the workaround and cast my List to List. I don't think that someone will provide a step implementationclass which is derived from java.util.List so the downside of a cast needed in this rare situation is very small.
See http://stackoverflow.com/a/252860/1325574 for further details of the "Producer Extends Consumer Super" idea.