def METHOD_NAME(self):
    """Return a separate copy of this hashing object.
    An update to this copy won't affect the original object.
    """
    # Call __new__ directly to avoid the expensive __init__.
    other = self.__class__.__new__(self.__class__)
    other.digest_cons = self.digest_cons
    other.digest_size = self.digest_size
    other.inner = self.inner.METHOD_NAME()
    other.outer = self.outer.METHOD_NAME()
    return other