anchor.diff:    final Container appContainer;
     final PreferenceStore _prefs;
   
  -  TcpClient _client;
  +  AndroidDevice _device;
     List<DeviceInfo> _knownDevices = [];
   
     MobileDeploy(this.appContainer, this._prefs) {
  
positive.code: 
    // Safe to call multiple times. It will open the device if it has not been opened yet.
    Future<AndroidDevice> _fetchAndroidDevice() {
      AndroidDevice device = new AndroidDevice(_prefs);
  
      Future doOpen(int index) {
        if (_knownDevices.length == 0) {
  
negative.code:       }
  
        DeviceInfo di = _knownDevices[index];
        return _device.open(di.vendorId, di.productId).catchError((e) {
          if ((e == 'no-device') || (e == 'no-connection')) {
            // No matching device found, try again.
            return doOpen(index + 1);
  