@SuppressWarnings("unchecked") protected RepositoryInvoker createInvoker(RepositoryInformation information, Object repository) { if (repository instanceof PagingAndSortingRepository) { return new PagingAndSortingRepositoryInvoker((PagingAndSortingRepository<Object, Object>) repository, information, conversionService); } else if (repository instanceof CrudRepository) { return new CrudRepositoryInvoker((CrudRepository<Object, Object>) repository, information, conversionService); } else { return new ReflectionRepositoryInvoker(repository, information, conversionService); } } }