code: @SuppressWarnings("unchecked")
    public static void addAnnotation(Executable ex, Annotation annotation) {
      ex.getAnnotation(Annotation.class);// prevent declaredAnnotations haven't initialized
      Map<Class<? extends Annotation>, Annotation> annos;
      try {
        annos = (Map<Class<? extends Annotation>, Annotation>) Field_Excutable_DeclaredAnnotations.get(ex);
      } catch (IllegalAccessException e) {
        throw new IllegalStateException(e);
      }
      if (annos.getClass() == Collections.EMPTY_MAP.getClass()) {
        annos = new HashMap<>();
        try {
          Field_Excutable_DeclaredAnnotations.set(ex, annos);
        } catch (IllegalAccessException e) {
          throw new IllegalStateException(e);
        }
      }
      annos.put(annotation.annotationType(), annotation);
    }
docs: Add annotation to Executable(Method or Constructor)<br>
  Note that you may need to give the root method.
  
  @param ex
  @param annotation
  @author XDean
  @see Executable
  @see #createAnnotationFromMap(Class, Map)
  @see ReflectUtil#getRootMethods(Class)