private Class<?> scanPackage(String source) { while (!source.isEmpty()) { Set<BeanDefinition> components = this.scanner.findCandidateComponents(source); if (!components.isEmpty()) { Assert.state(components.size() == 1, () -> "Found multiple @" + this.annotationType.getSimpleName() + " annotated classes " + components); return ClassUtils.resolveClassName( components.iterator().next().getBeanClassName(), null); } source = getParentPackage(source); } return null; }