public static function fromConfig($config, $quiet = false)
    {
        $builder = static::create();

        foreach ($config as $key => $value) {
            $method = "set$key";
            if (method_exists($builder, $method)) {
                $builder->$method($value);
                unset($config[$key]);
            }
        }

        if ($quiet === false && count($config) > 0) {
            $unknown = implode(array_keys($config));
            throw new \RuntimeException("Unknown parameters provided: $unknown");
        }

        return $builder->build();
    }
public static function fromConfig($config, $quiet = false)
    {
        $builder = static::create();

        foreach ($config as $key => $value) {
            $method = "set$key";
            if (method_exists($builder, $method)) {
                $builder->$method($value);
                unset($config[$key]);
            }
        }

        if ($quiet === false && count($config) > 0) {
            $unknown = implode(array_keys($config));
            throw new \RuntimeException("Unknown parameters provided: $unknown");
        }

        return $builder->build();
    }
@param array $config
@param bool  $quiet

@inheritdoc

@return mixed