code: private static Class<? extends Annotation> getContainer(Class<? extends Annotation> annoType) {
          // Since we can not refer to java.lang.annotation.Repeatable until we are
          // bootstrapping with java 8 we need to get the Repeatable annotation using
          // reflective invocations instead of just using its type and element method.
          if (REPEATABLE_CLASS != null &&
              VALUE_ELEMENT_METHOD != null) {
              // Get the Repeatable instance on the annotations declaration
              Annotation repeatable = (Annotation)annoType.getAnnotation(REPEATABLE_CLASS);
              if (repeatable != null) {
                  try {
                      // Get the value element, it should be a class
                      // indicating the containing annotation type
                      @SuppressWarnings("unchecked")
                      Class<? extends Annotation> containerType = (Class)VALUE_ELEMENT_METHOD.invoke(repeatable);
                      if (containerType == null)
                          return null;
  
                      return containerType;
                  } catch (ClassCastException | IllegalAccessException | InvocationTargetException e) {
                      return null;
                  }
              }
          }
          return null;
      }
docs: Helper to getAnnotationsByType