class_docstr: Transformations that yield zero or more results per input, but do not
  combine elements from the input stream.
class_docstr_tok: ["Transformations","that","yield","zero","or","more","results","per","input",",","but","do","not","combine","elements","from","the","input","stream","."]
code: def __call__(
      self, data_it: Iterable[DataEntry], is_train: bool
  ) -> Iterator:
      num_idle_transforms = 0
      for data_entry in data_it:
          num_idle_transforms += 1
          for result in self.flatmap_transform(
              data_entry.copy(), is_train
          ):
              num_idle_transforms = 0
              yield result
  
          if (
              # negative values disable the check
              self.max_idle_transforms > 0
              and num_idle_transforms > self.max_idle_transforms
          ):
              raise Exception(
                  "Reached maximum number of idle transformation"
                  " calls.\nThis means the transformation looped over"
                  f" {self.max_idle_transforms} inputs without returning any"
                  " output.\nThis occurred in the following"
                  f" transformation:\n{self}"
              )
  
imports: import abc
  from dataclasses import dataclass
  from typing import Callable, Iterable, Iterator, List
  from gluonts.core.component import equals, validated
  from gluonts.dataset.common import DataEntry, Dataset
  from gluonts.env import env
label_desc: Use image node_id 2 for calling the FlatMapTransformation obj's underlying member method code with example usage: obj.__call__(data_it, is_train) without return types