public CtClass makeAnnotation(String name) throws RuntimeException {
  try {
    CtClass cc=makeInterface(name,get("java.lang.annotation.Annotation"));
    cc.setModifiers(cc.getModifiers() | Modifier.ANNOTATION);
    return cc;
  }
 catch (  NotFoundException e) {
    throw new RuntimeException(e.getMessage(),e);
  }
}

public CtClass makeAnnotation ( String name ) throws RuntimeException { try { CtClass cc = makeInterface ( name , get ( "java.lang.annotation.Annotation" ) ) ; cc . setModifiers ( cc . getModifiers ( ) | Modifier . ANNOTATION ) ; return cc ; } catch ( NotFoundException e ) { throw new RuntimeException ( e . getMessage ( ) , e ) ; } }
creates a new annotation . if there already exists a class / interface with the same name , the new interface overwrites that previous one .
