<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _acquire(self, uuid_path):
 """ Lease a free network for the given uuid path Args: uuid_path (str):
 Path to the uuid file of a :class:`lago.Prefix` Returns: netaddr.IPNetwork: Which represents the selected subnet Raises: LagoSubnetLeaseException: If the store is full """

        for index in range(self._min_third_octet, self._max_third_octet + 1):
            lease = self.create_lease_object_from_idx(index)
            if self._lease_valid(lease):
                continue
            self._take_lease(lease, uuid_path, safe=False)
            return lease.to_ip_network()

        raise LagoSubnetLeaseStoreFullException(self.get_allowed_range())