public void getBuffer(long buffernumber, byte[] toArray, int startingAt, int length)
{
if (buffernumber>=this.nextBufferNumber())
{
throw new BufferFileException("last buffer is "+this.nextBufferNumber()+" not "+buffernumber);
}
if (length>this.buffersize)
{
throw new BufferFileException("buffer size too small for retrieval "+buffersize+" need "+length);
}
long seekPosition = this.bufferSeek(buffernumber);
this.fromfile.Seek(seekPosition, System.IO.SeekOrigin.Begin);
this.fromfile.Read(toArray, startingAt, length);
}