// Recv-6.11: “Forwarding”
        private OM2MResponsePrimitive Fowarding(OM2MRequestPrimitive request)
        {
            // Check timeout
            if (OM2MTimeStamp.IsTimeout((string)request.RequestExpirationTimestamp))
            {
                throw new OM2MRequestTimeoutException();
            }

            if (OM2MTimeStamp.IsTimeout((string)request.ResultExpirationTimestamp))
            {
                throw new OM2MRequestTimeoutException();
            }

            if (OM2MTimeStamp.IsTimeout((string)request.OperationExecutionTime))
            {
                throw new OM2MRequestTimeoutException();
            }

            // Get remote CSE Id
            string remoteCseId;

            var parts = request.TargetId.Split('/');

            if (parts.Length < 2)
            {
                throw new OM2MNotFoundException("Remote CSE not found");
            }

            remoteCseId = parts[1];

            // ToDo:...

            return(null);
        }
        // 7.3.2.1 Check the validity of received request primitive
        // ToDo:
        private void ValidateRequest(OM2MRequestPrimitive request)
        {
            // Relative timestamp to absoule
            if (request.RequestExpirationTimestamp != null)
            {
                try
                {
                    request.RequestExpirationTimestamp = OM2MTimeStamp.GetTimeStamp(request.RequestExpirationTimestamp);
                }
                catch (Exception ex)
                {
                    Console.Error.WriteLine(ex);
                    throw new OM2MBadRequestException($"Request expiration timestamp is illegal format: {request.RequestExpirationTimestamp}");
                }
            }
            if (request.ResultExpirationTimestamp != null)
            {
                try
                {
                    request.ResultExpirationTimestamp = OM2MTimeStamp.GetTimeStamp(request.ResultExpirationTimestamp);
                }
                catch (Exception ex)
                {
                    Console.Error.WriteLine(ex);
                    throw new OM2MBadRequestException($"Result expiration timestamp is illegal format: {request.ResultExpirationTimestamp}");
                }
            }

            if (request.RequestExpirationTimestamp != null)
            {
                bool isTimeOut;

                try
                {
                    isTimeOut = OM2MTimeStamp.IsTimeout((string)request.RequestExpirationTimestamp);
                }
                catch (FormatException ex)
                {
                    Console.Error.WriteLine(ex);
                    throw new OM2MBadRequestException($"Request expiration timestamp is illegal format: {request.RequestExpirationTimestamp}");
                }

                if (isTimeOut)
                {
                    throw new OM2MRequestTimeoutException();
                }
            }
        }