code: private List<Annotation> buildDeclaredAnnotationList(final Annotation annotation) {
          final List<Annotation> list = Arrays.stream(annotation.annotationType().getDeclaredAnnotations())
                  .collect(Collectors.toList());
          list.add(annotation);
          return list;
      }
docs: Retrieve declared annotations from parent one and build set of them all
  
  @param annotation parent annotation
  @return parent annotation and its declared ones