code: public Set<String> getSupportedOptions() {
      SupportedOptions so = this.getClass().getAnnotation(SupportedOptions.class);
      if (so == null) {
        return ImmutableSet.of();
      } else {
        return ImmutableSet.copyOf(so.value());
      }
    }
docs: Analogous to {@link Processor#getSupportedOptions()}, here to allow extensions to report their
  own.
  
  <p>By default, if the extension class is annotated with {@link SupportedOptions}, this will
  return a set with the strings in the annotation. If the class is not so annotated, an empty set
  is returned.
  
  @return the set of options recognized by this extension or an empty set if none
  @see SupportedOptions