Creates maybe a new Self with the specified parameter in the Query.
If the value is empty or if the parameter to be added equal the existing
entry the same instance of Self will be returned.
If a parameter with the given name already exists the values will be
replaced.

Creates maybe a new Self with the specified parameter in the Query.
If the value is empty or if the parameter to be added equal the existing
entry the same instance of Self will be returned.
If a parameter with the given key already exists the values will be
replaced.

Creates maybe a new Self with the specified parameter in the Query.
If a parameter with the given key already exists the values will be
replaced. If the parameter to be added equal the existing entry the same
instance of Self will be returned.