@Override
  public Set<String> getSupportedAnnotationTypes() {
    @Nullable SupportedAnnotations annotations = getClass().getAnnotation(Generator.SupportedAnnotations.class);
    if (annotations != null) {
      Set<String> annotationNames = Sets.newHashSet();
      for (Class<?> c : annotations.value()) {
        annotationNames.add(c.getCanonicalName());
      }
      return ImmutableSet.copyOf(annotationNames);
    }
    return super.getSupportedAnnotationTypes();
  }
Override process method and call {@link #invoke(org.immutables.generator.Templates.Invokable)}
from inside it passing invokable fragments from generated template instances.
generator/src/org/immutables/generator/AbstractGenerator.java