For migrating existing code I have: ``` @NoRepositoryBean public interface MyJpaDao<T, ID> extends Repository<T, ID>, QueryByExampleExecutor<T> { T findById(ID id); } ``` with DAO: ``` public interface UserDAO extends MyJpaDao<User, Long> { } ``` i would expect: `User findById(Long id);` but generated is `Optional<User> findById(Long id);` if I duplicate `User findById(Long id);` in **UserDAO**, it works as expected. Why?