OK, I was able to get to the result I am trying to achieve, but I'm thinking there has to be a better way. First I used the waitForSearchIndexingToComplete() method to make sure everything was done before moving on. That worked, but I don't think it is a good way to go because if somebody recently added a bunch of documents then my plugin won't finish until all of the indexing is complete.
The next thing I tried was implementing a GeneiousServiceListener and using a CountDownLatch to monitor the number of results appearing in my folder. Unfortunately, the childService for the result gets added before the BLAST operation is done with the original document, so I couldn't use that. However, I noticed that the childService icon changes three times (four if there are no results, but then a dialog box appears, which effectively makes the plugin wait). So, now I have a CountDownLatch, started with a count of three times the number of results I expect, counting down every time iconsChanged() is called. and wait for that before moving on.
This is working, but it just seems like a horrible sloppy hack and I was hoping you might be able to suggest a better strategy? Thanks!