@Test
public void testRun() throws Exception
{

    requestNotifier.run();
    verify( messenger ).sendMessage( eq( peer ), any( Message.class ), anyString(), anyInt(), anyMap() );
    doThrow( messageException ).when( messenger )
                               .sendMessage( eq( peer ), any( Message.class ), anyString(), anyInt(), anyMap() );
    requestNotifier.run();
    verify( messageException ).printStackTrace( any( PrintStream.class ) );
    doThrow( exception ).when( requestListener ).onRequest( payload );
    requestNotifier.run();
    verify( exception ).printStackTrace( any( PrintStream.class ) );
}