docs: protected CompletableFuture<FieldValueInfo> resolveFieldWithInfo(ExecutionContext executionContext, ExecutionStrategyParameters parameters) {
          GraphQLFieldDefinition fieldDef = getFieldDef(executionContext, parameters, parameters.getField().getSingleField());
  
          Instrumentation instrumentation = executionContext.getInstrumentation();
          InstrumentationContext<ExecutionResult> fieldCtx = instrumentation.beginField(
                  new InstrumentationFieldParameters(executionContext, fieldDef, createExecutionStepInfo(executionContext, parameters, fieldDef, null))
          );
  
          CompletableFuture<FetchedValue> fetchFieldFuture = fetchField(executionContext, parameters);
          CompletableFuture<FieldValueInfo> result = fetchFieldFuture.thenApply((fetchedValue) ->
                  completeField(executionContext, parameters, fetchedValue));
  
          CompletableFuture<ExecutionResult> executionResultFuture = result.thenCompose(FieldValueInfo::getFieldValue);
  
          fieldCtx.onDispatched(executionResultFuture);
          executionResultFuture.whenComplete(fieldCtx::onCompleted);
          return result;
      }