text: public override int Read(byte[] dst, int pos, int cnt){try{int n = 0;while (n < cnt){int r = this.inf.Inflate(dst, pos + n, cnt - n);if (r == 0){if (this.inf.IsFinished){break;}if (this.inf.IsNeedingInput){this._enclosing.OnObjectData(this.src, this._enclosing.buf, this.p, this._enclosing.bAvail);this._enclosing.Use(this._enclosing.bAvail);this.p = this._enclosing.Fill(this.src, 1);this.inf.SetInput(this._enclosing.buf, this.p, this._enclosing.bAvail);}else{throw new CorruptObjectException(MessageFormat.Format(JGitText.Get().packfileCorruptionDetected, JGitText.Get().unknownZlibError));}}else{n += r;}}this.actualSize += n;return 0 < n ? n : -1;}catch (SharpZipBaseException dfe){throw new CorruptObjectException(MessageFormat.Format(JGitText.Get().packfileCorruptionDetected, dfe.Message));}}