code: private static SubjectAware findInternal(boolean recursive,
      Annotation... annotations)
    {
      SubjectAware subjectAware = null;
  
      for (Annotation annotation : annotations)
      {
        if (annotation.annotationType().isAssignableFrom(SubjectAware.class))
        {
          subjectAware = (SubjectAware) annotation;
  
          break;
        }
      }
  
      if ((subjectAware == null) && recursive)
      {
        for (Annotation annotation : annotations)
        {
          subjectAware = findInternal(false,
            annotation.annotationType().getAnnotations());
        }
      }
  
      return subjectAware;
    }
docs: Method description
  
  
  @param recursive
  @param annotations
  
  @return