iOS5: o método willSendRequestForAuthenticationChallenge está sendo executado de maneira recursiva

Eu estou usando o código abaixo para autenticação do usuário com o servidor remoto.Se eu estou dando nome de usuário e senha corretos, não há nenhum problema porque a autenticação está acontecendo e estou recebendo a resposta do servidor.

Mas quando estou dando credenciais erradas, esse método é chamado de maneira recursiva, por isso não posso quebrar isso.

Por favor me ajude, como quebrar isso para que eu possa mostrar a mensagem de alerta de falha na autenticação.

- (void)connection:(NSURLConnection *)connection willSendRequestForAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
{

    NSURLCredential *credential = [NSURLCredential credentialWithUser:@"username"
                                                             password:@"password"
                                                          persistence:NSURLCredentialPersistenceForSession];
    [[challenge sender] useCredential:credential forAuthenticationChallenge:challenge];    
}

questionAnswers(2)

yourAnswerToTheQuestion