I'm actually not too fond of the way this method came out... The original premise of this method is a bit messy and not particularly useful I think.  A lot of care is taken to retain and sloppily combine both the $params and the Request object's $query property, and the tests are all written around this expectation.  I think it would be more useful to simply have one override the other and not worry about merging.  The merging could be done by the caller of the function prior to passing in the array of parameters in cases where retaining and amending the original query is important.

That would, however, be a BC break and I'd have to rewrite the tests.  Thoughts?

If not, I think I'll just remove this part of the commit.