anchor.diff:            responseChunks = new Queue<ByteData>();
   
             Future readChunk() {
  -            return receive().timeout(new Duration(milliseconds: 800))
  -                .then((msg) {
  -                  if (msg.command == AdbUtil.A_WRTE) {
  -                    responseChunks.add(msg.dataBuffer);
  -                    return sendMessage(new AdbMessage(AdbUtil.A_OKAY, localID,
  -                        remoteID)).then((_) { return readChunk(); });
  -                  } else {
  -                    return new Future.error('Unexpected message from device.');
  -                  }
  -                }).catchError((e) {
  -                  if (e is TimeoutException) {
  -                    return null;
  -                  } else {
  -                    return new Future.error(e);
  -                  }
  -                });
  +            return receive().timeout(new Duration(milliseconds: 800)).then((msg) {
  +              if (msg.command == AdbUtil.A_WRTE) {
  +                responseChunks.add(msg.dataBuffer);
  +                return sendMessage(new AdbMessage(AdbUtil.A_OKAY, localID,
  +                    remoteID)).then((_) { return readChunk(); });
  +              } else {
  +                return new Future.error('Unexpected message from device.');
  +              }
  +            }).catchError((e) {
  +              if (e is TimeoutException) {
  +                return null;
  +              } else {
  +                return new Future.error(e);
  +              }
  +            });
             };
   
             return readChunk();
  
positive.code:         chrome.EnumerateDevicesAndRequestAccessOptions opts =
              new chrome.EnumerateDevicesAndRequestAccessOptions(
                  vendorId: device.vendorId, productId: device.productId);
          return chrome.usb.findDevices(opts)
              .then((List<chrome.ConnectionHandle> connections) {
                if (connections.length == 0) {
                  return new Future.error('no-connection');
                } else {
                  // It's a valid device. Use it as the result.
                  resultDevice = device;
                }
              });
        }).then((_) {
          return resultDevice;
        });
  
negative.code:       chrome.EnumerateDevicesAndRequestAccessOptions opts =
            new chrome.EnumerateDevicesAndRequestAccessOptions(
                vendorId: device.vendorId, productId: device.productId);
        return chrome.usb.findDevices(opts).then(
            (List<chrome.ConnectionHandle> connections) {
          return Future.forEach(connections, (chrome.ConnectionHandle handle) {
            return _checkDevice(handle, device);
          });
        });
      });
    }
  
  