* Returns all classes (deduced or specified) that the object is "for".
* @param object the source object
* @return a set of classes
*/
private Set<Class<?>> getForClasses(Object object) {
ForClass annotation = AnnotationUtils.findAnnotation(object.getClass(), ForClass.class);
if (annotation == null) {
return Collections.emptySet();
}
Set<Class<?>> forClasses = new HashSet<Class<?>>();
forClasses.addAll(Arrays.asList(annotation.value()));
if (forClasses.isEmpty()) {
Class<?> deduced = this.deducer.getForClass(object);
if (deduced != null) {
forClasses.add(deduced);
}