protected function failure(
        \fpoirotte\Pssht\Transport $transport,
        array &$context,
        $partial = false
    ) {
        if (!is_bool($partial)) {
            throw new \InvalidArgumentException();
        }

        $remaining  = $context['authMethods'];
        unset($remaining['none']);
        $remaining  = array_keys($remaining);
        $response   = new \fpoirotte\Pssht\Messages\USERAUTH\FAILURE($remaining, $partial);
        $transport->writeMessage($response);
        return true;
    }