@Description("Specifies a set of entity fields that a subgraph can resolve, but only at a particular schema path (at other paths, the subgraph can\'t resolve those fields).\nIf a subgraph can always resolve a particular entity field, do not apply this directive.\nUsing this directive is always an optional optimization. It can reduce the total number of subgraphs that your graph router needs to communicate with to resolve certain operations, which can improve performance.")
@Retention(RUNTIME)
@Experimental("SmallRye GraphQL Federation is still subject to change.")
public @interface Provides
directive @provides(fields: FieldSet!) on FIELD_DEFINITION
@NonNull
@Description("A GraphQL selection set (provided as a string) of object fields and subfields that the subgraph can resolve only at this query path.\nExamples:\n\"name\"\n\"name address\"\n\"... on Person { name address }\" (valid for fields that return a union or interface)")
@NonNull String fields