GraphQLQueryParam graphQlComplexDsl =
param().name("person") .vars(GraphQLVarPair.var("id", "1"))
.subParams(
param().name("id").build(),
param().name("name").build()
).build();
graphQlComplexDsl.toString() // query { person("1") { id, name } }
Сделал SemaphoreSlimManager для кэширования по пользователю.
Все прекрасно работает.