anchor.diff:     * Retrieve the content of the sink as a [Uint8List].
      */
     Uint8List toUint8List([int offset = 0, int length]) {
  -    if (_buffer == null)
  -      throw new StateError("This sink has already been closed.");
  +    _ensureNotClosed();
       if(length == null)
         length = _count;
       if(offset < 0 || length < 0 || (offset + length) > _count || (offset + length) < 0)
         throw new ArgumentError("Offset and length values of $offset and $length invalid for sink size $_count");
  -    return new Uint8List.view(_buffer.buffer, offset, length);
  +    return _buffer.buffer.asUint8List(offset, length);
     }
   
     /**
      * Retrieve the content of the sink as a [ByteData] object.
      */
     ByteData toByteData() {
  -    if (_buffer == null)
  -      throw new StateError("This sink has already been closed.");
  -    return new ByteData.view(_buffer.buffer, 0, _count);
  +    _ensureNotClosed();
  +    return _buffer.buffer.asByteData(0, _count);
     }
   
     /**
  
positive.code:    */
    @override
    void close() {
      if(_buffer == null)
        throw new StateError("This sink has already been closed.");
      _buffer = null;
      _count = null;
    }
  
negative.code:    * Get the current size of the content of the sink.
     */
    int get size {
      _ensureNotClosed();
      return _count;
    }
  
  