private Task WriteAvailableMicrotypesOverview(ControllerActionDescriptor action, Stream stream)
        {
            var method = action.MethodInfo;

            var contentMicrotypes       = GetContentMicrotypesForAction(method);
            var runtimeMicrotypes       = GetRuntimeMicrotypesForAction(method);
            var introspectionMicrotypes = _options.Microtypes.IntrospectionMicrotypes;

            var overview = new IntrospectionOverviewData(contentMicrotypes, runtimeMicrotypes, introspectionMicrotypes);

            var enrichedRestResult = new EnrichedRestResult(
                new IntrospectionOverviewMicrotype(overview),
                Enumerable.Empty <IRuntimeMicrotype>());

            return(JsonSerializer.SerializeAsync(
                       stream,
                       enrichedRestResult,
                       _options.JsonSerializerOptions));
        }
 public IntrospectionOverviewMicrotype(IntrospectionOverviewData overview)
 {
     this.Content = overview ?? throw new ArgumentNullException(nameof(overview));
 }