internal void CreateFinitePage(PageBreakRecord breakRecord)
        {
            this.OnBeforeFormatPage(true, false);
            if (TracePageFormatting.IsEnabled)
            {
                TracePageFormatting.Trace(TraceEventType.Start, TracePageFormatting.FormatPage, this.PageContext, this.PtsContext);
            }
            IntPtr pfsBRPageStart = (breakRecord != null) ? breakRecord.BreakRecord : IntPtr.Zero;

            PTS.FSFMTR fsfmtr;
            IntPtr     value;
            IntPtr     zero;
            int        num = PTS.FsCreatePageFinite(this.PtsContext.Context, pfsBRPageStart, this._section.Handle, out fsfmtr, out value, out zero);

            if (num != 0)
            {
                this._ptsPage.Value = IntPtr.Zero;
                zero = IntPtr.Zero;
                PTS.ValidateAndTrace(num, this.PtsContext);
            }
            else
            {
                this._ptsPage.Value = value;
            }
            if (zero != IntPtr.Zero)
            {
                StructuralCache structuralCache = this._section.StructuralCache;
                if (structuralCache != null)
                {
                    this._breakRecord = new PageBreakRecord(this.PtsContext, new SecurityCriticalDataForSet <IntPtr>(zero), (breakRecord != null) ? (breakRecord.PageNumber + 1) : 1);
                }
            }
            if (TracePageFormatting.IsEnabled)
            {
                TracePageFormatting.Trace(TraceEventType.Stop, TracePageFormatting.FormatPage, this.PageContext, this.PtsContext);
            }
            this.OnAfterFormatPage(true, false);
        }