/// <summary>
        /// Guess the correct upperbits using the supplied frame for its compressedPos as a starting point. Will find the upperbits that result in the least movement from that pos.
        /// </summary>
        public void CompletePosition(Frame frame)
        {
            if (msgType.IsPosLowerType())
            {
                compPos = compPos.GuessUpperBits(frame.compPos);
            }
            else if (!msgType.IsPosType())
            {
                compPos = frame.compPos;
            }

            //for (int i = 0l is < pre)

            pos = compPos.Decompress();
        }