Using `<C extends Configuration, S extends Service<C>>` and replacing `<? extends Service>` with `<? extends S>` should remove the unchecked assignment on line 50.