def METHOD_NAME(self, patterns, start_time, end_time, now=None, requestContext=None):
    """Fetch multiple patterns at once.
    This method is used to fetch multiple patterns at once, this
    allows alternate finders to do batching on their side when they can.
    Returns:
      an iterable of
      {
        'pathExpression': pattern,
        'path': node.path,
        'time_info': time_info,
        'values': values,
      }
    """
    requestContext = requestContext or {}
    queries = [
        FindQuery(
            pattern, start_time, end_time,
            local=requestContext.get('localOnly'),
            headers=requestContext.get('forwardHeaders'),
            leaves_only=True,
        )
        for pattern in patterns
    ]
    results = []
    for node, query in self.find_multi(queries):
        if not isinstance(node, LeafNode):
            continue
        result = node.METHOD_NAME(
            start_time, end_time,
            now=now, requestContext=requestContext
        )
        if result is None:
            continue
        time_info, values = result
        results.append({
            'pathExpression': query.pattern,
            'path': node.path,
            'name': node.path,
            'time_info': time_info,
            'values': values,
        })
    return results