default Optional<BuilderContext> builder() {
      return Optional.empty();
    }
Returns a representation of the {@code Builder} associated with the {@code @AutoValue} class,
if there is one.

<p>This method returns {@link Optional#empty()} if called from within the {@link #applicable}
method. If an Extension needs {@code Builder} information to decide whether it is applicable,
it should return {@code true} from the {@link #applicable} method and then return {@code
null} from the {@link #generateClass} method if it does not need to generate a class after
all.

<p>The default implementation of this method returns {@link Optional#empty()} for
compatibility with extensions which may have implemented this interface themselves.
value/src/main/java/com/google/auto/value/extension/AutoValueExtension.java