if (annotation instanceof Valid || annotation instanceof Validate) {
desc.setCascaded(true);
} else if (ConvertGroup.class.isInstance(annotation) && ReturnAccess.class.isInstance(access)) { // access is just tested to ensure to not read it twice with cross parameter
final ConvertGroup cg = ConvertGroup.class.cast(annotation);
desc.addGroupConversion(new GroupConversionDescriptorImpl(new Group(cg.from()), new Group(cg.to())));
} else if (ConvertGroup.List.class.isInstance(annotation) && ReturnAccess.class.isInstance(access)) {
final ConvertGroup.List cgl = ConvertGroup.List.class.cast(annotation);
for (final ConvertGroup cg : cgl.value()) {
desc.addGroupConversion(new GroupConversionDescriptorImpl(new Group(cg.from()), new Group(cg.to())));
}