/// <summary>Closes the underlying stream, releases the unmanaged resources used by the <see cref="System.IO.StreamReader"></see>, and optionally releases the managed resources.</summary>
		/// <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources. </param>
		protected override void Dispose(bool disposing)
		{
			try
			{
				base.Dispose(disposing);
			}
			finally
			{
				this.stream = null;
				this.encoding = null;
			}
		}
		public UnbufferedStreamReader(UnbufferedStream stream)
			: base(stream)
		{
			this.stream = stream;
			Peek();
			encoding = CurrentEncoding;
			buffer = null;
			bufferCount = 0;
			Init();
		}