private static ImmutableSetMultimap<String, PackageAndClass> simpleNamesToNames(
      ImmutableSet<PackageAndClass> names) {
    // .collect(toImmutableSetMultimap(...)) would make this much simpler but ran into problems in
    // Google's internal build system because of multiple Guava versions.
    ImmutableSetMultimap.Builder<String, PackageAndClass> builder = ImmutableSetMultimap.builder();
    for (PackageAndClass name : names) {
      builder.put(name.className(), name);
    }
    return builder.build();
  }
If non-null, we will call this whenever the {@link #process} method is called, giving it one of
the {@code @AutoFactory} elements, and do nothing else.
factory/src/main/java/com/google/auto/factory/processor/AutoFactoryProcessor.java