public override void Write(byte[] buffer, int offset, int count) {
if (offset < 0) {
throw new System.ArgumentOutOfRangeException("offset", offset, "offset is negative");
}
if (count < 0) {
throw new System.ArgumentOutOfRangeException("count", count, "count is negative");
}
if (count > this.chunkSize - this.Position) {
throw new System.ArgumentOutOfRangeException("count", count, "count is overflow");
}
this.source.Write(buffer, offset, count);
this.position += count;
}