public static AnnotatedTypeMirror removePrefix(final Elements elements,final AnnotatedTypeMirror annoType){
  AnnotatedTypeMirror result=annoType.deepCopy(false);
  Set<AnnotationMirror> annos=annoType.getAnnotations();
  for (  AnnotationMirror anno : annos) {
    AnnotationMirror cleanedMirror=removePrefix(elements,anno);
    if (cleanedMirror != null) {
      result.addAnnotation(cleanedMirror);
    }
 else {
      result.addAnnotation(anno);
    }
  }
  return result;
}

public static AnnotatedTypeMirror removePrefix ( final Elements elements , final AnnotatedTypeMirror annoType ) { AnnotatedTypeMirror result = annoType . deepCopy ( false ) ; Set < AnnotationMirror > annos = annoType . getAnnotations ( ) ; for ( AnnotationMirror anno : annos ) { AnnotationMirror cleanedMirror = removePrefix ( elements , anno ) ; if ( cleanedMirror != null ) { result . addAnnotation ( cleanedMirror ) ; } else { result . addAnnotation ( anno ) ; } } return result ; }
removes the prefix value from an annotated type , by constructing and returning a copy of the annotated type without the prefix
