#17 and #30 moved the "suitability check" of a rule to DataFectehr runtime to work around a problem in SchemaDirectiveWiring when the true schema is not built at the time it is called back.
The workaround means that the DataFetcher is not as fast as it could be on 1st access.
We need to move back to early rule suitability checks at schema build time to ensure the most performant system.
This can only be done once graphql-java is fixed
See graphql-java/graphql-java#2070