This fixes #40 by override the setParentFuture function from FutureListenableFuture.  It requires an instanceof check, but such is life.
Unit tests to cover the added verification I added for issue #40