public static Request GetBasicStatusRequestPackage(SessionId sessionId, ChallengeToken challengeToken)
        {
            if (challengeToken == null)
            {
                throw new ChallengeTokenIsNullException();
            }

            var data = new List <byte>(416);

            data.AddRange(MagicConst);
            data.AddRange(StatusRequestConst);
            sessionId.WriteTo(data);
            challengeToken.WriteTo(data);

            var request = new Request(data.ToArray());

            return(request);
        }
        public static Request GetFullStatusRequestPackage(SessionId sessionId, ChallengeToken challengeToken)
        {
            if (challengeToken == null)
            {
                throw new ChallengeTokenIsNullException();
            }

            var data = new List <byte>(544);

            data.AddRange(MagicConst);
            data.AddRange(StatusRequestConst);
            sessionId.WriteTo(data);
            challengeToken.WriteTo(data);
            data.AddRange(new byte[] { 0x00, 0x00, 0x00, 0x00 });             // Padding

            var request = new Request(data.ToArray());

            return(request);
        }