@Test
public void MustInCorrectCompleteAsyncOperationWhenCompleteCallInTargetCollectionThrowException() throws ReadValueException, CompleteAsyncOperationException {

    String targetToken = "targetToken";
    List<String> allTokens = mock(List.class);
    IObject operation = mock(IObject.class);
    CloseAsyncOpMessage message = mock(CloseAsyncOpMessage.class);
    when(message.getToken()).thenReturn(targetToken);
    when(message.getOperationTokens()).thenReturn(allTokens);
    when(message.getOperation()).thenReturn(operation);
    doThrow(new CompleteAsyncOperationException("")).when(targetCollection).complete(operation);
    try {
        testActor.completeAsyncOp(message);
    } catch (InvalidArgumentException e) {
        verify(message).getToken();
        verify(message).getOperationTokens();
        verify(allTokens).remove(targetToken);
        verify(message).getOperation();
        verify(targetCollection).complete(operation);
        return;
    }
    assertTrue("Must throw exception", false);
}