code: protected List<Class<? extends Annotation>> createAnnotationTypeList(Class<?>... annotations) {
          final List<Class<? extends Annotation>> annotationList = new ArrayList<Class<? extends Annotation>>();
          for (Class<?> annoType : annotations) {
              @SuppressWarnings("unchecked")
              final Class<? extends Annotation> castType = (Class<? extends Annotation>) annoType;
              annotationList.add(castType);
          }
          return annotationList;
      }
docs: for Generic headache.
  @param annotations The array of annotation. (NotNull, EmptyAllowed)
  @return The list of annotation type. (NotNull, EmptyAllowed)