/// <summary>
        /// Create an InflaterInputStream with the specified decompressor
        /// and the specified buffer size.
        /// </summary>
        /// <param name = "baseInputStream">
        /// The InputStream to read bytes from
        /// </param>
        /// <param name = "inflater">
        /// The decompressor to use
        /// </param>
        /// <param name = "bufferSize">
        /// Size of the buffer to use
        /// </param>
        public InteractiveInflaterInputStream(Stream baseInputStream, Inflater inflater, int bufferSize)
        {
            if (baseInputStream == null)
            {
                throw new ArgumentNullException("InflaterInputStream baseInputStream is null");
            }

            if (inflater == null)
            {
                throw new ArgumentNullException("InflaterInputStream Inflater is null");
            }

            if (bufferSize <= 0)
            {
                throw new ArgumentOutOfRangeException("bufferSize");
            }

            this.baseInputStream = baseInputStream;
            this.inf             = inflater;

            //inputBuffer = new InteractiveInflaterInputBuffer(baseInputStream);
            inputBuffer = new InteractiveInflaterInputBuffer(baseInputStream, bufferSize);
        }
		/// <summary>
		/// Create an InflaterInputStream with the specified decompressor
		/// and the specified buffer size.
		/// </summary>
		/// <param name = "baseInputStream">
		/// The InputStream to read bytes from
		/// </param>
		/// <param name = "inflater">
		/// The decompressor to use
		/// </param>
		/// <param name = "bufferSize">
		/// Size of the buffer to use
		/// </param>
		public InteractiveInflaterInputStream(Stream baseInputStream, Inflater inflater, int bufferSize)
		{
			if (baseInputStream == null)
			{
				throw new ArgumentNullException("InflaterInputStream baseInputStream is null");
			}

			if (inflater == null)
			{
				throw new ArgumentNullException("InflaterInputStream Inflater is null");
			}

			if (bufferSize <= 0)
			{
				throw new ArgumentOutOfRangeException("bufferSize");
			}

			this.baseInputStream = baseInputStream;
			this.inf = inflater;

			//inputBuffer = new InteractiveInflaterInputBuffer(baseInputStream);
			inputBuffer = new InteractiveInflaterInputBuffer(baseInputStream, bufferSize);
		}