private static String generateIdentifier(String name, Set<String> existingNames) {
      if (!SourceVersion.isKeyword(name)) {
        return name;
      }
      for (int i = 0; ; i++) {
        String newName = name + i;
        if (!existingNames.contains(newName)) {
          return newName;
        }
      }
    }
An extension that implements the {@link com.google.auto.value.extension.memoized.Memoized}
contract.
value/src/main/java/com/google/auto/value/extension/memoized/processor/MemoizeExtension.java