There is a bug in setGetVar. Bug occurs for links with '&' as entity (default value for $separator = '&'). PHP function
parse_url works correctly only where ulr params are seprated by & not by entity. So this line is wrong
$parts = parse_url($uri);
befor that sholud be one of this lines:
$uri = str_replace('&', '&', $uri); or
$uri = str_replace($separator, '&', $uri);