<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def list_features(self, dataset, reverse=False, start=None, limit=None):
 """Lists features in a dataset. Parameters dataset : str The dataset id. reverse : str, optional List features in reverse order. Possible value is "true". start : str, optional The id of the feature after which to start the list (pagination). limit : str, optional The maximum number of features to list (pagination). Returns ------- request.Response The response contains the features of a dataset as a GeoJSON FeatureCollection. """

        
        uri = URITemplate(self.baseuri + '/{owner}/{id}/features').expand(
            owner=self.username, id=dataset)

        params = {}
        if reverse:
            params['reverse'] = 'true'
        if start:
            params['start'] = start
        if limit:
            params['limit'] = int(limit)
        return self.session.get(uri, params=params)