@Retention(value=RUNTIME)
 @Target(value={CONSTRUCTOR,METHOD,TYPE})
 @Documented
public @interface PublicSpi
This represents code that the graphql-java project considers public SPI and has an imperative to be stable within
 major releases.
 The guarantee  is for callers of code with this annotation as well as derivations that inherit / implement this code.
 New methods will not be added (without using default methods say) that would nominally break SPI implementations
 within a major release.