void SetBuffer(long buffernumber, byte type, byte[] thebuffer, int start, int length, long NextBufferNumber)
{
//System.Diagnostics.Debug.WriteLine(" storing chunk type "+type+" at "+buffernumber);
if (this.buffersize<length)
{
throw new LinkedFileException("buffer size too small "+this.buffersize+"<"+length);
}
byte[] fullbuffer = new byte[length+BUFFEROVERHEAD];
fullbuffer[0] = type;
BufferFile.Store(NextBufferNumber, fullbuffer, 1);
if (thebuffer!=null)
{
Array.Copy(thebuffer, start, fullbuffer, BUFFEROVERHEAD, length);
}
this.buffers.setBuffer(buffernumber, fullbuffer, 0, fullbuffer.Length);
}