At the beginning the option_separator is set to "?", after the first option is added it is switched to "&" to correctly expand URL to .../path?opt1&opt2&opt3...  See the full code, in diff it's not obvious.

*(This is IMHO a little bit strange, I'd do it in a completely different way, but for SP3 I'd prefer the diff as small as possible so I simply just extended the current code.)*