Accéder aux variables de la classe interne

J'ai un bout de code qui définit un anonyme intérieur de la classe pour un gestionnaire de rappel. Ce gestionnaire doit affecter une variable locale, voir ci-dessous. J'ai besoin d'attribuer resp dans le rappel et les référer vers la fin de la fonction. J'obtiens cette erreur dans Eclipse cependant:

La dernière variable locale resp ne peut pas être affectée, car elle est définie dans un enfermant type

Comment puis-je résoudre ce problème?

DoorResult unlockDoor(final LockableDoor door) {
    final UnlockDoorResponse resp;
    final boolean sent = sendRequest(new UnlockDoorRequest(door), 
       new ResponseAction() {
        public void execute(Session session) 
               throws TimedOutException, RetryException, RecoverException {
            session.watch(UNLOCK_DOOR);
            resp = (UnlockDoorResponse)session.watch(UNLOCK_DOOR);
        }
    });
    DoorResult result;
    if (!sent) {
        return DoorResult.COMMS_ERROR;
    }
    else {
        return DoorResult.valueOf(resp.getResponseCode());
    }
}

source d'informationauteur fred basset