anchor.diff:    final Container appContainer;
     final PreferenceStore _prefs;
   
  +  TcpClient _client;
     List<DeviceInfo> _knownDevices = [];
   
     MobileDeploy(this.appContainer, this._prefs) {
  
positive.code:       monitor.worked(4);
  
        // Send this payload to the USB code.
        return _fetchAndroidDevice();
      }).then((deviceResult) {
        _device = deviceResult;
  
        return _device.sendHttpRequest(httpRequest, 2424).timeout(
            new Duration(minutes: 5), onTimeout: () {
              return new Future.error(
                  'Push timed out: Total time exceeds 5 minutes');
            });
      }).then((msg) {
        monitor.worked(3);
        String resp = new String.fromCharCodes(msg);
  
negative.code: 
    Future _sendHttpPush(String target, ProgressMonitor monitor) {
      List<int> httpRequest;
      return archiveContainer(appContainer, true).then((List<int> archivedData) {
        monitor.worked(3);
        httpRequest = _buildHttpRequest(target, archivedData);
        monitor.worked(5);
        return _sendRequest(httpRequest, target);
      }).then((List<int> responseBytes) {
        String response = new String.fromCharCodes(responseBytes);
        List<String> lines = response.split('\n');
  