<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _find_usage_nodes(self):
 """find usage for cache nodes"""

        nodes = 0
        paginator = self.conn.get_paginator('describe_cache_clusters')
        for page in paginator.paginate(ShowCacheNodeInfo=True):
            for cluster in page['CacheClusters']:
                try:
                    num_nodes = len(cluster['CacheNodes'])
                except (IndexError, TypeError, KeyError):
                    # sometimes CacheNodes is None...
                    logger.debug(
                        "Cache Cluster '%s' returned dict with CacheNodes "
                        "None", cluster['CacheClusterId'])
                    num_nodes = cluster['NumCacheNodes']
                nodes += num_nodes
                if cluster['Engine'] == 'memcached':
                    self.limits['Nodes per Cluster']._add_current_usage(
                        num_nodes,
                        aws_type='AWS::ElastiCache::CacheCluster',
                        resource_id=cluster['CacheClusterId'],
                    )

        self.limits['Nodes']._add_current_usage(
            nodes,
            aws_type='AWS::ElastiCache::CacheNode'
        )