private void printTypeAnnotationsMethod(AbstractTypeDeclaration decl) {
   List<Annotation> runtimeAnnotations = ASTUtil.getRuntimeAnnotations(ASTUtil.getModifiers(decl));
   if (runtimeAnnotations.size() > 0) {
     println("+ (IOSObjectArray *)__annotations {");
     printAnnotationCreate(runtimeAnnotations);
   }
 }
 private void printMethodAnnotationMethods(List<MethodDeclaration> methods) {
   for (MethodDeclaration method : methods) {
     List<Annotation> runtimeAnnotations =
         ASTUtil.getRuntimeAnnotations(ASTUtil.getModifiers(method));
     if (runtimeAnnotations.size() > 0) {
       printf(
           "+ (IOSObjectArray *)__annotations_%s {\n", methodKey(Types.getMethodBinding(method)));
       printAnnotationCreate(runtimeAnnotations);
     }
     printParameterAnnotationMethods(method);
   }
 }
 private void printFieldAnnotationMethods(List<FieldDeclaration> fields) {
   for (FieldDeclaration field : fields) {
     List<Annotation> runtimeAnnotations =
         ASTUtil.getRuntimeAnnotations(ASTUtil.getModifiers(field));
     if (runtimeAnnotations.size() > 0) {
       for (VariableDeclarationFragment var : ASTUtil.getFragments(field)) {
         printf("+ (IOSObjectArray *)__annotations_%s_ {\n", var.getName().getIdentifier());
         printAnnotationCreate(runtimeAnnotations);
       }
     }
   }
 }