public override SEPCommandResponse TranslateResponse(string response)
        {
            if (response == null)
            {
                throw new NullReferenceException("response can't be null");
            }
            if (!BinaryHelper.IsValidHexString(response))
            {
                throw new ArgumentException("response isn't valid hex string");
            }

            byte[]             data            = BinaryHelper.ConvertOctetStringToBytes(response);
            SEPCommandResponse commandResponse = new SEPCommandResponse();

            ReadErrorCode(data, commandResponse);
            return(commandResponse);
        }
        protected void ReadErrorCode(byte[] response, SEPCommandResponse commandResponse)
        {
            if (commandResponse == null)
            {
                return;
            }

            if (response != null && response.Length >= 2)
            {
                ushort statusWord = BitConverter.ToUInt16(response.Reverse().ToArray(), 0);
                commandResponse.ReturnCode = GetErrorCode(statusWord);
            }
            else
            {
                commandResponse.ReturnCode = SEPCommandResponse.ErrorCode.CorruptedCommand;
            }
        }