def METHOD_NAME(self, ciphertext, encryption_scheme, new_encryption_scheme=None):
    """
    Re-encrypt the specified secret.  If no new_encryption_scheme is
    specified (recommended), a reasonable default will be used.
    If access to the decrypted secret is not needed, this API function
    should be used to re-encrypt secrets.  In the future, this will allow
    us to keep the decrypted secrets out of the application's memory.
    Returns (ciphertext, encryption_scheme)
    """
    if self._closed:
        raise ValueError("Connection to crypto oracle already closed")
    # for now, it's all in memory anyway
    return self.encrypt(
        self.decrypt(ciphertext, encryption_scheme),
        encryption_scheme=new_encryption_scheme,
    )