protected override void OnRender(Rectangle[] rois, int startIndex, int length)
        {
            if (length == 0)
                return;

            if (this.CustomRegionHandling && FullImageSelected(base.SrcArgs.Bounds))
            {
                if (this.newRender)
                {
                    this.newRender = false;
                    this.OnRenderRegion(SliceRectangles(new Rectangle[] { this.EnvironmentParameters.GetSelection(base.SrcArgs.Bounds).GetBoundsInt() }), base.DstArgs, base.SrcArgs);
                }
            }
            else
            {
                this.OnRenderRegion(SliceRectangles(rois.Skip<Rectangle>(startIndex).Take<Rectangle>(length).ToArray<Rectangle>()), base.DstArgs, base.SrcArgs);
            }
        }