def get_sub_location_descriptor(self, lower_bound=<NUM_LIT:0>, upper_bound=-<NUM_LIT:1>):
try:<EOL><INDENT>return LocationDescriptor(self._locations_list[lower_bound:upper_bound])<EOL><DEDENT>except:<EOL><INDENT>return None<EOL><DEDENT>
Return a :class:`LocationDescriptor` object with a sub location.

We follow ``Python``'s range convention.

Args:
    lower_bound: Idem. The location corresponding to this index is **not** included.
    upper_bound: An integer index (0-based) following ``Python`` convention for list.

Returns:
    A sub :class:``LocationDescriptor`` object corresponding to the bounds. If the given location bounds are
    invalid, returns ``None``.

Notes:
    By default, returns the sub location descriptor without the last location.