code: public static List<Element> getEnclosedElementsByAnnotation(Element parent,
  			Class<? extends Annotation> annotation, ElementKind kind) {
  		List<? extends Element> elements = parent.getEnclosedElements();
  		List<Element> results = new ArrayList<Element>();
  
  		for (Element element : elements) {
  			if (kind != null && element.getKind() != kind) {
  				continue;
  			}
  			Object key = element.getAnnotation(annotation);
  			if (key == null) {
  				continue;
  			}
  			results.add(element);
  		}
  
  		return results;
  	}
docs: Retrieves {@link Element}s matching the given annoation and kind (only if given,) from children of the given root.
  @param parent The element search from.
  @param annotation Annotation looking for
  @param kind {@link ElementKind} looking for
  @return {@link Element}s matched
  @author vvakame