anchor.diff:      futures[k] = completers[k].future;
     }
   
  -  Future ff() {   //  print("-- $num");
  +  Future ff() {
       if (num == 2) {
         num++;
         // refurn not completed future
  -      return futures[2];//c.future;
  +      return futures[2];
       }
       if (num < N) {
         completers[num].complete(true);
  
positive.code: 
    asyncMultiStart(2);
    f.then((fValue) {
    //  print("++ +$num");//print(f);
      Expect.equals(4, num);
      asyncEnd();
    })
    .catchError((e) {//print("+++ $e");
      Expect.fail("Should not be here: error $e");
      asyncEnd();
    });
  
negative.code:   Future f1 = futures[2].timeout(new Duration(milliseconds:1),
        onTimeout: ontimeout);
  
    f1.then((fValue) {
      Expect.equals(null, fValue);
      Expect.equals(3, num);
      // complete not commpleted future with true
  