PeerGroup: print a log warn if there's no blockchain.
Correct the default thread used by AbstractBlockChain.addListener()
Refactor bloom filter calculations out of PeerGroup into a separate FilterMerger class.
Require PeerFilterProviders to expose a lock, and use them to avoid a race that occurs during Bloom filter construction.

It's possible in some uses to cause the Wallet to create two batches of keys one after the other, but independently such that the second batch of keys is derived (with HDWs) whilst the filter is being recalculated from the first. This in turn could race with filter calculation and cause asserts or miscalculated filters.
Add a simple API that lets you tag wallets with arbitrary string->byte[] pairs.