I have an Interface IParent, an abstract class implementing it AbstractChild and a class extending the abstract class ConcreteChild. One other class Foo requires an instance of a Supplier<IParent>.
My problem is that I have an instance of a Supplier<ConceretChild> and I cannot cast it to the Supplier<IParent> I need or just pass it straight up.
The only thing I have tried is of course:
((Supplier<IParent>)childSupplier)
Compiler says cannot cast from Supplier<Child> to Supplier<Parent>.