private ImmutableList<String> targetEnclosingSimpleNames() {
    ImmutableList.Builder<String> simpleNames = ImmutableList.builder();
    for (Element element = targetType().getEnclosingElement();
        !element.getKind().equals(PACKAGE);
        element = element.getEnclosingElement()) {
      simpleNames.add(element.getSimpleName().toString());
    }
    return simpleNames.build().reverse();
  }
This is a value object that mirrors the static declaration of an {@link AutoFactory} annotation.

@author Gregory Kick
factory/src/main/java/com/google/auto/factory/processor/AutoFactoryDeclaration.java