private FieldSpec buildCacheField(TypeName type, String name) {
        FieldSpec.Builder builder = FieldSpec.builder(type, name, PRIVATE, TRANSIENT, VOLATILE);
        if (lazyInitAnnotation.isPresent()) {
          builder.addAnnotation(lazyInitAnnotation.get());
          builder.addAnnotation(SUPPRESS_WARNINGS);
        }
        return builder.build();
      }
Builds a {@link FieldSpec} for use in property caching. Field will be {@code private
transient volatile} and have the given type and name. If the @LazyInit annotation is
available it is added as well.
value/src/main/java/com/google/auto/value/extension/memoized/processor/MemoizeExtension.java