@Override
    public List<Class<?>> allClasses() {
        List<Class<?>> classes = scanner.allClasses();
        List<Class<?>> filteredClasses = new ArrayList<Class<?>>();

        for (Class<?> cls : classes) {
            if (hasAnnotatedBy(cls, annotationType)) {
                filteredClasses.add(cls);
            }
        }

        return filteredClasses;
    }