Transfers options for all backends from one object to another.
        Drops any options defined in the supplied drop list.

def transfer_options(cls, obj, new_obj, backend=None):
        """
        Transfers options for all backends from one object to another.
        Drops any options defined in the supplied drop list.
        """
        backend = cls.current_backend if backend is None else backend
        type_name = type(new_obj).__name__
        group = type_name if obj.group == type(obj).__name__ else obj.group
        spec = '.'.join([s for s in (type_name, group, obj.label) if s])
        options = []
        for group in Options._option_groups:
            opts = cls.lookup_options(backend, obj, group)
            if opts and opts.kwargs: options.append(Options(group, **opts.kwargs))
        if options:
            StoreOptions.set_options(new_obj, {spec: options}, backend)