'List Elastic MapReduce clusters with optional filtering
:type created_after: datetime
:param created_after: Bound on cluster creation time
:type created_before: datetime
:param created_before: Bound on cluster creation time
:type cluster_states: list
:param cluster_states: Bound on cluster states
:type marker: str
:param marker: Pagination marker'

def list_clusters(self, created_after=None, created_before=None, cluster_states=None, marker=None):

    params = {}
    if created_after:
        params['CreatedAfter'] = created_after.strftime(boto.utils.ISO8601)
    if created_before:
        params['CreatedBefore'] = created_before.strftime(boto.utils.ISO8601)
    if marker:
        params['Marker'] = marker
    if cluster_states:
        self.build_list_params(params, cluster_states, 'ClusterStates.member')
    return self.get_object('ListClusters', params, ClusterSummaryList)
