String getUniqueName(CharSequence base) {
      String name = base.toString();
      for (int differentiator = 2; !uniqueNames.add(name); differentiator++) {
        name = base.toString() + differentiator;
      }
      return name;
    }
Generates a unique name using {@code base}. If {@code base} has not yet been added, it will
be returned as-is. If your {@code base} is healthy, this will always return {@code base}.
factory/src/main/java/com/google/auto/factory/processor/FactoryDescriptor.java