code: public static boolean hasAnnotationDeepRegex(Class<?> memberDeclaringClass, String metaAnnotationRegex)
      {
          
          if (memberDeclaringClass.getName().matches(metaAnnotationRegex))
          {
              return true;
          }
          
          for (Annotation anno : memberDeclaringClass.getAnnotations())
          {
              Class<? extends Annotation> annoClass = anno.annotationType();
              if (!annoClass.getPackage().getName().startsWith("java.lang") && hasAnnotationDeepRegex(annoClass, metaAnnotationRegex))
              {
                  return true;
              }
          }
          
          return false;
      }
docs: Indicates if the class name or at least the name of one of its annotations matches the regex.
  <p>
  Notice that the classes with a package name starting with "java.lang" will be ignored.
  </p>
  @param memberDeclaringClass the class to check
  @param metaAnnotationRegex the regex to match
  @return true if the regex matches, false otherwise