def METHOD_NAME(self):
    """Return a copy ("clone") of the hash object.
    The copy will have the same internal state as the original hash
    object.
    This can be used to efficiently compute the digests of strings that
    share a common initial substring.
    :return: A hash object of the same type
    """
    clone = SHA512Hash(None, self._truncate)
    result = _raw_sha512_lib.SHA512_copy(self._state.get(),
                                         clone._state.get())
    if result:
        raise ValueError("Error %d while copying SHA512" % result)
    return clone