code: private function compareAcceptMediaTypeHeaders(AcceptMediaTypeHeaderValue $a, AcceptMediaTypeHeaderValue $b): int
      {
          $aQuality = $a->getQuality();
          $bQuality = $b->getQuality();
  
          if ($aQuality < $bQuality) {
              return 1;
          }
  
          if ($aQuality > $bQuality) {
              return -1;
          }
  
          $aType = $a->getType();
          $bType = $b->getType();
          $aSubType = $a->getSubType();
          $bSubType = $b->getSubType();
  
          if ($aType === '*') {
              if ($bType === '*') {
                  return 0;
              }
  
              return 1;
          }
  
          if ($aSubType === '*') {
              if ($bSubType === '*') {
                  return 0;
              }
  
              return 1;
          }
  
          // If we've gotten here, then $a had no wildcards
          if ($bType === '*' || $bSubType === '*') {
              return -1;
          }
  
          return 0;
      }
docs: Compares two media types and returns which of them is "lower" than the other
  
  @param AcceptMediaTypeHeaderValue $a The first media type to compare
  @param AcceptMediaTypeHeaderValue $b The second media type to compare
  @return int -1 if $a is lower than $b, 0 if they're even, or 1 if $a is higher than $b