Currently it stops at the first `Failure` and passes it along to the caller. The caller can then decide what to do. Currently the user is `ProjectIndexJob` which will delete the index and try again if it gets an `CorruptIndexException` or `IOException`. If it gets `InvalidPresentationCompilerException` it stops entierly. Currently I don't deal with reoccurring exceptions, I think we could add a ticket for this