private function createPreference(array $variantTokenList, array $paramBundleList, $serverField, $fromField)
    {
        $builder = $this->getBuilder($fromField)
            ->setFromField($fromField)
            ->setFromServer($serverField)
            ->setVariant(implode('', $variantTokenList));

        // Look for quality factor, discarding accept-extens
        foreach ($paramBundleList as $paramBundle) {
            // Correct format for quality factor
            if ($this->isQualityFactor($paramBundle)) {
                $builder = $builder->setQualityFactor($paramBundle[2]);
                break;
            }
        }

        return $builder->get();
    }