code: public void init(StreamImpl source)
    {
      _disableClose = false;
      _isDisableCloseSource = false;
      _readTime = 0;
  
      if (_source != null && _source != source) {
        close();
      }
  
      if (source == null) {
        throw new IllegalArgumentException();
      }
  
      _source = source;
  
      if (source.canRead()) {
        if (_tempRead == null) {
          _tempRead = TempBuffer.create();
          _readBuffer = _tempRead.buffer();
        }
      }
      _readOffset = 0;
      _readLength = 0;
  
      _readEncoding = null;
      _readEncodingName = "ISO-8859-1";
    }
docs: Initializes the stream with a given source.
  
  @param source Underlying source for the stream.
  @param sibling Sibling write stream