docs: private int writeExtensions(
        TypeElement type,
        ExtensionContext context,
        ImmutableList<AutoValueExtension> applicableExtensions) {
      int writtenSoFar = 0;
      for (AutoValueExtension extension : applicableExtensions) {
        String parentFqName = generatedSubclassName(type, writtenSoFar + 1);
        String parentSimpleName = TypeSimplifier.simpleNameOf(parentFqName);
        String classFqName = generatedSubclassName(type, writtenSoFar);
        String classSimpleName = TypeSimplifier.simpleNameOf(classFqName);
        boolean isFinal = (writtenSoFar == 0);
        String source = extension.generateClass(context, classSimpleName, parentSimpleName, isFinal);
        if (source != null) {
          source = Reformatter.fixup(source);
          writeSourceFile(classFqName, source, type);
          writtenSoFar++;
        }
      }
      return writtenSoFar;
    }