def METHOD_NAME(self, o, *ops):
    """Reuse object if operands are the same objects.
    Use in your own subclass by setting e.g.
        expr = MultiFunction.reuse_if_untouched
    as a default rule.
    """
    if all(a is b for a, b in zip(o.ufl_operands, ops)):
        return o
    else:
        return o._ufl_expr_reconstruct_(*ops)