public void Write(byte b, Context ctx)
{
if (ctx.Offset == this.buff.Count) {
this.buff.Add (b);
} else if (ctx.Offset > this.buff.Count) {
throw new ArgumentOutOfRangeException ("Trying to write out of declared bounds");
} else {
this.buff [ctx.Offset] = b;
}
++ctx.Offset;
}