Optional<AnnotationMirror> kotlinMetadataAnnotation(Element element) {
    return element.getAnnotationMirrors().stream()
        .filter(
            a ->
                asTypeElement(a.getAnnotationType())
                    .getQualifiedName()
                    .contentEquals(KOTLIN_METADATA_NAME))
        .<AnnotationMirror>map(a -> a) // get rid of that stupid wildcard
        .findFirst();
  }
Use Kotlin reflection to build {@link Executable} instances for the constructors in {@code
ofClass} that include information about which parameters have default values.

@param metadata the {@code @kotlin.Metadata} annotation on {@code ofClass}
@param ofClass the class whose constructors should be returned
value/src/main/java/com/google/auto/value/processor/KotlinMetadata.java