code: private function createDefaultResponseContentNegotiationResult(
          string $type,
          ?string $language,
          array $acceptCharsetHeaders
      ): ContentNegotiationResult {
          // Default to the first registered media type formatter that can write the input type
          $selectedMediaTypeFormatter = null;
  
          foreach ($this->mediaTypeFormatters as $mediaTypeFormatter) {
              if ($mediaTypeFormatter->canWriteType($type)) {
                  $selectedMediaTypeFormatter = $mediaTypeFormatter;
                  break;
              }
          }
  
          if ($selectedMediaTypeFormatter === null) {
              return new ContentNegotiationResult(null, null, null, $language);
          }
  
          $encoding = $this->encodingMatcher->getBestEncodingMatch(
              $selectedMediaTypeFormatter,
              $acceptCharsetHeaders,
              null
          );
  
          return new ContentNegotiationResult(
              $selectedMediaTypeFormatter,
              $selectedMediaTypeFormatter->getDefaultMediaType(),
              $encoding,
              $language
          );
      }
docs: Creates the default content negotiation result in case no Accept header was specified
  
  @param string $type The type to negotiate
  @param string|null $language The selected language
  @param AcceptCharsetHeaderValue[] $acceptCharsetHeaders The list of Accept-Charset headers
  @return ContentNegotiationResult The content negotiation result