@ Override public boolean isDone ( ) { boolean done = this . raw . isDone ( ) ; if ( ! triggered && done ) { this . triggered = true ; PendingFutures . removePending ( this ) ; this . trigger ( ) ; } return done ; }
This version also checks to see if we are done and we still need to call the trigger . If so it calls it .