Ответ 1
См. java.lang.annotation.Documented
Указывает, что аннотации с типом должны быть задокументированы javadoc и аналогичными инструментами по умолчанию. Этот тип должен использоваться для аннотирования деклараций типов, аннотации которых влияют на использование аннотированных элементов их клиентами. Если объявление типа аннотируется с Documented, его аннотации становятся частью общедоступного API аннотированных элементов.
Пример:
import java.lang.annotation.Documented;
@Documented
public @interface MyAnnotation {
}