default Map<String, TypeMirror> propertyTypes() {
      throw new UnsupportedOperationException();
    }
Returns the properties to be generated by AutoValue, with their types. Each key is a property
name, and the corresponding value is the type of that property. The order of the map entries
is the same as the order of the {@code @AutoValue} properties.

<p>For example, if property {@code bar} is defined by {@code abstract String getBar()} then
this map will have an entry mapping {@code "bar"} to the {@code TypeMirror} for {@code
String}.

<p>For compatibility reasons, this method has a default implementation that throws an
exception. The AutoValue processor supplies an implementation that behaves as documented.
value/src/main/java/com/google/auto/value/extension/AutoValueExtension.java