public void SendAllTrees(int blTreeCodes)
{
this.blTree.BuildCodes();
this.literalTree.BuildCodes();
this.distTree.BuildCodes();
this.pending.WriteBits(this.literalTree.numCodes - 0x101, 5);
this.pending.WriteBits(this.distTree.numCodes - 1, 5);
this.pending.WriteBits(blTreeCodes - 4, 4);
for (int i = 0; i < blTreeCodes; i++)
{
this.pending.WriteBits(this.blTree.length[BL_ORDER[i]], 3);
}
this.literalTree.WriteTree(this.blTree);
this.distTree.WriteTree(this.blTree);
}