/// <summary>
        ///
        /// </summary>
        /// <param name="otherPatch"></param>
        /// <param name="includingName"></param>
        /// <param name="maxDiffs"></param>
        /// <returns></returns>
        public override int CalcByteDifferences(IClipBoardPatch otherPatch, bool includingName, int maxDiffs)
        {
            ClipBoardSetListSlot otherSetListSlot = otherPatch as ClipBoardSetListSlot;

            Debug.Assert(otherSetListSlot != null);

            int diffs = base.CalcByteDifferences(otherPatch, includingName, maxDiffs);

            return(diffs);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="otherPatch"></param>
        /// <param name="includingName"></param>
        /// <param name="maxDiffs"></param>
        /// <returns></returns>
        public override int CalcByteDifferences(IClipBoardPatch otherPatch, bool includingName, int maxDiffs)
        {
            ClipBoardSetListSlot otherSetListSlot = otherPatch as ClipBoardSetListSlot;

            Debug.Assert(otherSetListSlot != null);

            int diffs = base.CalcByteDifferences(otherPatch, includingName, maxDiffs);

            // Take SLS2 differences into account.
            if (PcgRoot.Model.OsVersion == Models.EOsVersion.Kronos15_16)
            {
                diffs += (Util.GetInt(PcgRoot.Content, Stl2BankOffset, 1) !=
                          otherSetListSlot.KronosOs1516Bank) ? 1 : 0;
                diffs += (Util.GetInt(PcgRoot.Content, Stl2PatchOffset, 1) !=
                          otherSetListSlot.KronosOs1516Patch) ? 1 : 0;
            }

            return(diffs);
        }