Because the unit test class and the SifterAppenderBase are in separate packages I had to expose details on the cleaner thread so the test class could trigger a wake up.
Let me know if you see anything else that needs to be addressed.