@Override
    public Optional<AnnotationMirror> visitIntersection(IntersectionType t, Void unused) {
      return nullableIn(t.getAnnotationMirrors())
          .map(Optional::of)
          .orElseGet(() -> visitAll(t.getBounds()));
    }
Returns a list that is either empty or contains a single element that is an appropriate
{@code @Nullable} type-annotation.
value/src/main/java/com/google/auto/value/processor/Nullables.java