code: public Annotation[] getAnnotations(final Method method) throws AnnotationReadException {
          
          final Class<?> clazz = method.getDeclaringClass();
          
          if(xmlInfo != null && xmlInfo.containsClassInfo(clazz.getName())) {
              final ClassInfo classInfo = xmlInfo.getClassInfo(clazz.getName());
              
              if(classInfo.containsMethodInfo(method.getName())) {
                  final MethodInfo methodInfo = classInfo.getMethodInfo(method.getName());
                  final Map<String, Annotation> map = new HashMap<>();
                  
                  if(methodInfo.isOverride()) {
                      for(Annotation ann : method.getAnnotations()) {
                          map.put(ann.annotationType().getName(), ann);
                      }
                  }
                  
                  for(AnnotationInfo annInfo: methodInfo.getAnnotationInfos()){
                      try {
                          map.put(annInfo.getClassName(),
                                  annotationBuilder.buildAnnotation(Class.forName(annInfo.getClassName()), annInfo));
                      } catch (ClassNotFoundException e) {
                          throw new AnnotationReadException(String.format("not found class '%s'", annInfo.getClassName()), e);
                      }
                  }
                  
                  return map.values().toArray(new Annotation[map.size()]);
              }
          }
          return method.getAnnotations();
      }
docs: メソッドに付与されたアノテーションを全て取得する。
  
  @param method 取得対象のメソッド。
  @return 取得対象のアノテーションのタイプ。
  @throws AnnotationReadException