public static Optional<AnnotationSpec> generatedAnnotationSpec(
      Elements elements, SourceVersion sourceVersion, Class<?> processorClass, String comments) {
    return generatedAnnotationSpecBuilder(elements, sourceVersion, processorClass)
        .map(annotation -> annotation.addMember("comments", "$S", comments).build());
  }
Returns {@code @Generated(value = "processorClass", comments = "comments")} for the target
{@code SourceVersion}.

<p>Returns {@code javax.annotation.processing.Generated} for JDK 9 and newer, {@code
javax.annotation.Generated} for earlier releases, and Optional#empty()} if the annotation is
not available.
common/src/main/java/com/google/auto/common/GeneratedAnnotationSpecs.java