@Override public Task<Void> deactivate(){
  try {
    if (isDeactivated()) {
      return Task.done();
    }
    return executionSerializer.offerJob(key,null,10000);
  }
 catch (  Throwable ex) {
    ex.printStackTrace();
    return Task.done();
  }
}

@ Override public Task < Void > deactivate ( ) { try { if ( isDeactivated ( ) ) { return Task . done ( ) ; } return executionSerializer . offerJob ( key , null , 10000 ) ; } catch ( Throwable ex ) { ex . printStackTrace ( ) ; return Task . done ( ) ; } }
this must not fail . if errors it should log them instead of throwing
