after<R>  method 
Implementation
FutureOr<R> after<R>(R exec()) {
  if (isCompleted) {
    return exec();
  } else {
    return future.then((_) => exec());
  }
}
FutureOr<R> after<R>(R exec()) {
  if (isCompleted) {
    return exec();
  } else {
    return future.then((_) => exec());
  }
}