public interface Feature<T extends Feature<T>>
SourceBuilder, such as Java language-level features, or Guava
types and methods.
A feature will typically provide a FeatureType constant that can be passed to
SourceBuilder#feature(FeatureType) to determine the current status of a feature.
For instance, to determine whether java.util.Objects is available for use:
code.feature(SOURCE_LEVEL).javaUtilObjects().isPresent()