'Create a clone of this collection. This is used by the methods
below to provide a chainable interface that returns copies
rather than the original. This allows things like:
>>> base = collection.filter(Param1=1)
>>> query1 = base.filter(Param2=2)
>>> query2 = base.filter(Param3=3)
>>> query1.params
{\'Param1\': 1, \'Param2\': 2}
>>> query2.params
{\'Param1\': 1, \'Param3\': 3}
:rtype: :py:class:`ResourceCollection`
:return: A clone of this resource collection'

def _clone(self, **kwargs):

    params = copy.deepcopy(self._params)
    merge_dicts(params, kwargs, append_lists=True)
    clone = self.__class__(self._model, self._parent, self._handler, **params)
    return clone
