Consider the following Class structure
public interface Base {
}
 
public class C1 implements Base {
}
 
 
public interface Repo {
    <T extends Base> T get();
}
 
public class C1Repo implements Repo{
    @Override
    public C1 get() {
        return new C1();
    }
}
Repo interface has a function that returns <T extends Base>, but my implementation returns a specific C1 class.
IntelliJ warns "Unchecked overriding: return type requires unchecked conversion. Found 'org.example.C1', required 'T' ". Is this okay? If not how would I restructure this composition?