Map<String, Map<String, Object>> annotations = (Map<String, Map<String, Object>>) props.get("annotations");
if (annotations != null) {
for (Map.Entry<String, Map<String, Object>> entry : annotations.entrySet()) {
String annotationClass = entry.getKey();
Map<String, Object> annotationValues = entry.getValue();
AnnotationVisitor av = getter.visitAnnotation("L" + getInternalName(annotationClass) + ";", true);
for (Map.Entry<String, Object> values : annotationValues.entrySet()) {
final String paramName = values.getKey();
Object paramValue = values.getValue();
if (Class.class.isAssignableFrom(paramValue.getClass())) {
paramValue = org.objectweb.asm.Type.getType("L" + getInternalName(paramValue.getClass().getName()) + ";");