anchor.diff:  library bwu_docker.src.remote_api.dart;
   
   import 'dart:convert' show JSON;
  -import 'dart:async' show Future, Stream;
  +import 'dart:async' show Future, Stream, ByteStream;
   import 'package:http/http.dart' as http;
   import 'data_structures.dart';
   
  
positive.code:       return JSON.decode(response.body);
      }
      return null;
    }
  
    /// Request the list of containers from the Docker service.
  
negative.code:   /// 200 – no error, no upgrade header found
    /// 404 – no such container
    /// 500 – server error
    Future<Stream> logs(Container container, {bool follow, bool stdout,
        bool stderr, bool timestamps, dynamic tail}) async {
      assert(stdout == true || stderr == true);
      final query = {};
      if (follow != null) query['follow'] = follow.toString();
      if (stdout != null) query['stdout'] = stdout.toString();
      if (stderr != null) query['stderr'] = stderr.toString();
      if (timestamps != null) query['timestamps'] = timestamps.toString();
      if (tail != null) {
        assert(tail == 'all' || tail is int);
        query['tail'] = tail.toString();
      }
  
      return _getStream('/containers/${container.id}/logs', query: query);
    }
  
    /// Inspect changes on container id's filesystem
    /// Status Codes:
    /// 200 - no error
    /// 404 - no such container
    /// 500 - server error
    Future<ChangesResponse> changes(Container container) async {
      final List response = await _get('/containers/${container.id}/changes');
      return new ChangesResponse.fromJson(response);
    }
  
    /// Export a container
    /// Status Codes:
    /// 200 - no error
    /// 404 - no such container
    /// 500 - server error
    Future<http.ByteStream> export(Container container) async {
      return _getStream('/containers/${container.id}/export');
    }
  }
  