'The id is a unique number that identifies every request and response
performed by the framework.
The id parameter is usually an integer, that points to that request/
response pair.
In some cases, one information object is related to more than one
request/response, in those cases, the id parameter is a list of
integers.
For example, in the cases where the info object is related to one
request / response, we get this call:
set_id( 3 )
And we save this to the attribute:
[ 3, ]
When the info object is related to more than one request / response,
we get this call:
set_id( [3, 4] )
And we save this to the attribute:
[ 3, 4]
Also, the list is sorted!
set_id( [4, 3] )
Will save:
[3, 4]'

def set_id(self, _id):

    if isinstance(_id, list):
        error_msg = 'All    request/response    ids    have    to    be    integers.'
        for i in _id:
            assert isinstance(i, int), error_msg
        _id.sort()
        self._id = _id
    elif isinstance(_id, int):
        self._id = [_id]
    else:
        msg = 'IDs    need    to    be    lists    of    int    or    int    not    %s'
        raise TypeError((msg % type(_id)))
