'Create a copy of this signature.
Arguments:
args (Tuple): Partial args to be prepended to the existing args.
kwargs (Dict): Partial kwargs to be merged with existing kwargs.
options (Dict): Partial options to be merged with
existing options.'

def clone(self, args=(), kwargs={}, **opts):

    if (args or kwargs or opts):
        (args, kwargs, opts) = self._merge(args, kwargs, opts)
    else:
        (args, kwargs, opts) = (self.args, self.kwargs, self.options)
    s = Signature.from_dict({u'task': self.task, u'args': tuple(args), u'kwargs': kwargs, u'options': deepcopy(opts), u'subtask_type': self.subtask_type, u'chord_size': self.chord_size, u'immutable': self.immutable}, app=self._app)
    s._type = self._type
    return s
